### ### #### ### ### ### #### ###
## # ### ## ## # ## #
## # ### ### ## # ## #
## ### ### ## ## #
## # ### ### ## # ## #
## # # ## ### ## # ##
## # ## ## ## ## #
#### # ## ## #### ####
### # ## # ## ### ####
### # ## # ## ### #####
# # #### ## # ## ##
# # ### ## # ## ##
# # ## ## # ## ##
# # ## ## # ## ##
# # ## ## # ## ##
# # # ## # ## ###
# # # ## # ## ##
# # # ## # ## ###
### ### #### ### #### ####