*~~~~~~~~~=========++===+======++=======++==+================
*~~=~~~~~~~~=====+===+++=++===+++++????????+++++=============
*~~~~~~~~~~~~~=====+???I??+?ZO88888888888OZ$7I?++============
*~~~~~~~~~~~~~~=+?I778NNMMNDDDD8DDD8DDD888888OZ7?+===========
*~~~~~~~~~~~~=7Z8NNNMMMMD88DD888DDDDD8OOOODD8O8Z7+=======~~~~
*~~~~~~~~~~~IZNNNMMMMNNDDDDDDNNNNNNNNDD88OOOOOOOO$7?+==~~~~~~
*~~~~~~~~:=+8NDDNNNDD888NNNNDNNDNNNNNND888ZOOOOOOOO7I?+=~~~~~
*~~~~~~~~I8DDNNNNNNNMNNND88OZZ$$$$$ZOOOODD88OZZZZ8OZ7?==~::::
*::::~~?$DMMNNMMMMMNN88OZZ$7II?????II777$ZO8888DDD8OZ7==~::::
*:~::~=$8MNNNNNMMMMNDOZ$7I?+========++++++++I$$OO8OZZ$+~:::::
*:::::~$8MMMMMMMMNDOZ7I?====~~~~~~:~~~~~~~:::::=+ZZ$77+=:::::
*~~:::~ODMMMMMMMMNN8O7I?++===~~::::::,,,,,..,.,..:?Z$I+=::,,,
*::::~~8NMMMMMMMMMN8Z7II?+++~~~:::,,,,,,........,.~7I?=~::,,,
*::::~=DNMMMMMMMMNDOZI???+==~~~:::,,,.............,I7?+~:,,,,
*:::::~DMMMMMMMMN8Z77II???7$ZZZZZ7I+=:,,...........=7?::,,,,,
*:,::~~NNNMMMMMND$I???I7$ZZZZZ$ZO8DD87+=,,.........:+~,,,,,,,
*$I:,=?$7?+?8NNDZII??II7$$$ZZZZZ$$$ZZOZ$+~:::,,....~?:.,,,,,,
*Z$??7ZOO8Z$Z8NO$I?????I$Z888DND8OOZ$ZZ7+::~$ZOOZ?+:::~~==+++
*~==I777$O8OZOO$7II??+==~~+IZZZZZZZZ$I?=,,.:III?=..+I??II????
*OO$ZI?I7ZZZ77$777II?+==~~~:~=+???I+=~~:,,,~OO$7I=:+?IIIIIIII
*Z$Z$??++?7$$$Z$$77II+++==~~:~~:::::~~~~,,,,=+=,:~~?++?????II
*$$$7?+++++=7$$Z$$7II??+==~~:::~:~~~=~~~,,..,....,~??+====+++
*$$$7+=+I7I?I7$$$77II???++=======+++=~~~:,.......:+???II?+=~:
*$$$I=+~::IZ8O$$7777III??+++==+++++I?I77I+:,.....=?I?IIIII=~~
*$$7?==~~~I$OO$$7IIIIIII????+++====$O88O$$7=.....7?I?7$ZZ7=~~
*$$7?=====I$ZZ$$$77IIIIIII??++=====7$Z$$~......,+7III$ZOZZ?==
*Z$I+==~~=$ZZZZZ$$777777II?II7777?=~=~~=:......I7$?II$OO7I===
*ZZI+~~~~+$$$ZOOZ$$$7777II7$O8NNNDOOZ$I=:,....+7ZI777$OO7I++=
*OZ+=~~:=+7I$ZOOOZZ$$$$$$$$$$77??I?ZO8DN8Z+,~?$$$III7$OO$7?++
*$I=~~::+I77$ZOOOOOZ$77$$$$$7II77$Z$I?+=,.,.~+IZO8D88OOZZZ7?+
*$I=~~~I7$77$ZOO888OOZ$$777IIII7$$Z$$?=:,,,.+ZZZZZ$II$ZZO8O$7
*:...~7OZ$77$$ZOO888OZZ$7I?????I7ZZZZI=:,,,,?ZZZZ?=:~?ZZZZOZZ
*MMDDZ$$$$$7$$ZOO8DDD8OOZZ77II???I7?=,,,..,,?OZZZ+~::+ZZ$7$$$
*II??77$$$$$$ZZOOOO88DDNNNND88OZZZ$7I?+=,,,,IOOOO+~~=?$$7777$
*I7??$$$$$$$ZZZOOOO888DDNNNDD8888OOZ7$7?..,,I888O+~~~===~~:::
*??II7$$$Z$$ZZOOOO88888DDDDDZZ$$ZZ88OZZZON87$88D8?~=~=?+~~:::
*Z?I77$$$$ZZZZOOOOOOO8888O8Z7I+~?DDD8D8ZO8D8$7IZZ~=+===~:~~~~
*MMMNDZ$$ZOOOOOOOOOOOOOZZ$+~,..7$ZD88OOODNN8O8D7IOZZOO8DNNNMM
*MMMMMMMN8O8DDO8888OOZ$7?=:,.:?$$$$NDOO8DNNN8DNZ$$ZZ8DNDDDDDD
*MMMMMMMMMMMD88OO888OZ$7=~:+OZ$$$7ZZ8OO8NMMNDNN8Z$$Z$ONNMMMNN
*MMMMMMMMMMMMMMMMMMNND888888$ZZ$7ZZZ8888NMMNDDMN8ZZOZ7?=::,,,