######################################## #.##@@##$......#+++....###########@@@$$# #.##$@##$#@@...######....$$$@@......#$$# #.##$+##$#@#.###.+#$$$#.#####@###...#### #.##$+##$#$#.....+#$$$#.......#+++++#++# #.##$+#.$#$#...########$#####.#$$$$$$$$# #.##$+@@$#$##@@.....@@@@$@@@@$#$$$###### #.....@######@@..###########$$#$$$###### #..@.....#.#++.#....++#####++++++++++++# ########...#++.#......................+# #########$$#++##+..$$$$$$$$$$$$$$$$$..+# #+++$$$$$$.#..#++..$$$$$$$$$$$$$$$$$..+# #+++########.##++..$..+++++++++++..$..+# #+++######@..##++..$..+++++++++++..$..+# #####@...#@..##++..$$$$$$$$$$$$$$$$$..+# #++@@@$#.#@#$$########$$$$$$$$$$$$$$..+# #++.$$$#+++#$$$#+++++++++++++++++++++++# ########################################