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