...       . .  . .................................................................................
.....               ..........................  ............................ ................  .....
......,,,,,,,..,,,,,,,..,,,,,..,,,,,,......,::~::,.........................,:,..............::. ....
..  .=7ZOOOO7==IZOOOO7++$OOO$++7OOO$+, .~?$ZZZZO8O7?~....~?$OOZZZZ$$ZZOZ?,.?8OZZ$ZZOZZZZ$$ZOO7:     
..   .:IDMMDI..,?8MMD?..?8O?:..+OD7~,.=7DNO?:,,:+$NM87~...,+8MMN$=~~~+$D$:,7D$+~~+ZMMN$=~~?ZD7,     
.. ..  :7NMMZ~..,INMN$::7O?....?87: .+OMM$~......:7NMMZ=. .~ZMMNI. ...~$$:~$I,.. :$MMN7,  .+ZI,     
  .  ...~ZMMNI,. ~ZMMD77OI, ..=ZZ~ .+8MM8+. ..... :$MMMZ=..~ZMMNI. ....~~.,~, ...:$MMN7,. ..~:.. .. 
...  ....+8MM8+. .+8MMND$: ..,7O?..:$MMM$: ........?DMMNI, ~ZMMNI. ..~+:.........:$MMN7,. . .... .. 
...  ....,INMMZ~ .,?NMM8+....+O7:..+8MMN7, ........=OMMMZ~.~ZMMN$~::=7Z=........ :$MMN7,    .    .  
  .  .....:$MMN7, .~ZMMNI, .~$Z~...?DMMN7, ........~ZMMMO~.~ZMMMNOOO8N8=.........:$MMN7,. . .. . .. 
...  ......=OMMD?..=OMMM8?.,IO?. ..+DMMM$, ........~ZMMMZ~.~ZMMN$~::~7Z=.........:$MMN7,. . .. . .. 
          ..?DMMO=:7OODMMZ=+O7:....=OMMMZ~.........=8MMN7,.~ZMMNI. ..~+~........ :$MMN7,            
... ........:7NMMOZO?:7NMNOOZ= .. .,IDMMDI, .. . ..IDMMO=..~ZMMNI, . .... .. . ..:$MMN7,............
... ........ ~ZMMMN7,.=ZMMMD?.      :7NMMO+. . . .=OMM8+.  ~ZMMNI, . .. . .. . ..:$MMN7, ...........
... ..........+8MMZ~ ..?8MN$: . . ...,?OMM8I~...:?OMD$=. ..+OMMN$:.. .. . .. ....=OMMM$~............
... ..........,IN8+.  .:7NO=.        ..:?$8D8Z$$O8O7=, ..=7ZDDDD8$?~... . .. .,=7ZDDDD8ZI~..........
...............,~~..   .,~~.             .,:~===~:.......,::,,,,,::. .. . .. ..,::,,,,,::, .........
... ................. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .....................
... ................    .. ...          . . .. . .. . .. . .. . .. . .. . .. . .....................
... ................        .....                                               ....................
. .