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