8O*&*&O&O8SS8OO8SXXS&&&*&&&&&*&*;;;*;*&&&&&&*;:::;;--;&**::***,..,. ..,:*&&&&&******&&&&:. *&&OO***&**;*:::::;;:::;&O&*-:*****&&OO&*&O8OO88SS
O&&&&O88S88OO8SXXXXX8&&&&&&&&;;;*&&&*;&&*;:::::;;**;::;**;:;*:. ... .,:&&&*;::---:;*&&&;.&&&&*****&;::;*:--:**;&&&&;-:*&&&&&*;;::;OS88SSSS
OO&OOSS8OOO8SXXXXX@@8OO&*&;;:;;*&&&&*;;:--::;;::;**&*::;**;:-...   .-*&*;:-,,,-,,,,-;&&&:,:**&&*;**;-:;;*;:-;&**&&&*;-:;*;::::-:*&O888SSSSS
&O8888OO88SXXXXXX@@@8O&*;;;;;*&&&&&*:-:-:;**&;--;*&O&;:;*;:,  ..  ,:&*;-,,------,.*&&*--;&&&**:-::;***;-:**&&&**;::--::;;;:;&&&O88SSSSS
8SSOO888SXXXXXXX@@@@8*;;&&&*;&&&*;:::::::**&*;::-;&&&*;:;;.   ..-*&;,,----,,,,,:&&*:*&&&*:-::;*&&*:--*&O&;;::::;;*&&*;:;&&&O8SSSSS8
8OO88SSXXXXXXXXX@@@@8*&O&&&*;;**:::::;:;;;*;;*&*;:;**&*;:.... .:&;-,,-,--------,,,-&*:;*&;::-:;;**;---;OO*:::;***;;*&&*;::*&&O8888OOO
O8SSSXXSXXXXXX@@@@XXO&&&&&&O&&&O;;;;;;;*;::-:*&&&;:;***-,.... .:&;.,-,,,--:;***;;;::-,*:-**:;::;***:-:;*&*::;;*;***;;*&**;:;*&&&OO&&&OO
SSXXXXXXXXX@X@@@XXSSO&&&OO88888O;***;;:::::::****&;:;*:,   . ,;&:,,,,,,--;****;;:::::;:-,-&*-:&;:;;*:-:;***&:::******;;;*****:-::;&OOOOO8S
XXXXXXXXXXX@XXXXSS88O*;*O88SSS8O;;;---:::;;::;******;:. .  .*&:,,,.,,,-::;*;;;:----;;;-&;;**;;;::;;***&&;::****;*;***;:::::;&&8S8OO88S
XXXXXXXXX@XXSSS88888&;;&8SS888O&:::::;*;;;;::::;**;*;.  . .;&-,,,..,,,,---:;;;::--,,,-;;:&;;*;;;*&*;***OO*-:*****;;:--::::;*&OOOS8O&O88
XXX@@@@XXXS8OOS88888O*&&O88S8O*:;*&*;**;:;;:**:-:;**:..   .:&:.,,..,,,,--:;:::::--,.,,,,:-**;;;*&***:;*&&*:--::::---::;;;;;*&&OO888OOO8S
@@@@XXXXSS8O&OS88888O&*;*OO&;;;**&&*;*;;:::;;*;;::;*.... -&:,,,..,,,,,..:::------,..,,,--********;;&&;;:----:-:-:*&&O&*;;*&&O8888O&OOO
XXXXXSSS888OOOS88888&;;:;&&;:*&&&&*;:::---:****;:--.... *:,,,.,,,,,,....,---,,,,,.,,;***&******;;;*;::::;;;&8OO8S&****&&O&O&&&OOO
XXSSS8SSO88OOOS8888O&:;*&&&*;*&*;:::;**;----:;**;;-.  . .;*,.,,,,,,......,,,,,....,,,,,-*****;::*&*;;*;-:;::;O8S8OO8O**;::::;&OOO8OO
SSSS8888OOOO&O8OOOOO&***&***;:::::*&&&&;::;:--;;*;-..   :*-.,,,,,,,,.. .   .,,,........,.,,:&-.;*;;;:;*&&;::*;-:::;&O88888O&::--::;&O888888
8888OO88OOO&&O8OOOO&&&&*&**;;;;;;**&&&*;:;&&*;-:;;,..  .*:,,,,,,,,,..       ...       ....-&*-,,:;:;;**&&*;::*;-:;;*O888SS8O;::-;*&&&O8888SS
O8O8OO88OOOO&O8O&&&****;;;;*&&*;*****;;:;*;*&*;::... .;*.,,,,,,...                    ,**-,,-::;;&&****;;*;-:;;;&8OSSOOO*;:-;**&&OO888S8
O8OOOOO8OOO&*OO&**;*;:;:;*******;;::----;******;-.    -&:,,,,,,,.                     .:*.,,.,:::&&&****;::--:::*&O&OO8O;;;:;**&&OO888S8
&OOOOOOO&O&**&&;*****;;;*****;;::::::;:--:;**&*;-... ,**,,,,,,,. .                    -*..,,,,,-:*&*;;:::::;:-;*****&OO8O*;**:;*&&&OOOOOO&
*OOO&&O&**:::*&*;;:::;;;;*;:::;;******;::---:;*;,..  :&-,,,,,,.                  .  * ...,,.,:&&;:::;;**;*;:;*****&&O&**&*;-:*;;*&O&&&&&
*O&&&*&*;:::;*;::::;;;:::::::;******:;;;*;;;;;;-,.. ,&;,,,,,,...                   ,;   ..,---:***********;;:;****&O&O&&&*:--:::;*O8O&OO&
*&&**;*&;*;:-:::;:;:::;;;;*;:******;:;:;;;****;....:&:.,,,,..,,.                 .:   ..,--.-********;****:;*****;;;::---;***&*&OO&*&&*
**;;;;;;:---:;*::::-:******;:;*;;:::---;;;;***:,...-&*,,,,,.,....                ...   ..,,.,;**;********;-:::::::--:;*;;****&*&&&;:;**
;*;;;:--:::;;;:---****;*;-::--;;;:--::;;;:,...:O:,,,,,-..... ..               ,     .,.,,.,;*****;;;:::::::;;;;*::&&&&**********;-;**
;;;::::::::;:--,;;;:::::;;::***:-:::--:::-....*&-,,,,--,....   ..             ,-.   .....,,..:;::::-::;;***;:;**;;::&&&&&&***&****:--::
:;:;;:::.,--,..::::;;****::**;::;;;*;:;;,.. ,*;,,,,,-,.,..                 ,.     ...,,,,.-:-::::;***&**;;;;;*;:;&&&&**&&**;:::-::;:
::;;:::---. ,,,-::;:;*****;:-:::--;;;*;:*;,..:&:,,,,--,.,....               ..    ....,,-,,:;;;;::;******;;;;**;::;;;::::::::::;;;;**
::;::::-..,,---::::;;;;;::-::;:-:;;***;*;,..,**-,,,--..,,....              ..     ...,---:;;;:::;*****&*;;;::----------;;;;;;;;;;*
--::---,,--::-::--::;;;;;:----:::;;:,.,,;*,,,,-.,,....             .      .....,,,,,:;;;;::;*;;;;;::-:::::;;;;;;;-:;;;;;;;;;;;
:-------,,,,:---::::;;;*;;:--:;;;**;. ..;*,,--,.,,....              .       ....,,,-;;*;;--:--:::::;;**;;;;;;;;;;-:*;;;;;;;;*&
-:---,,,,.....::;;;;:;;*;;::--;&&&&&&;-,,.,*;,,,--.,,,,....              .       ..,,-::::::----::;;*&;;;;;;;;;;*;;;;:-:;;**;;*;:::
-::---,,......,,-;;:;;;:-::::;*::*&&****;,,.,*:,,,-,,,,....                   ..,-:;*&OOO:--:::;;;***&&*:;;;*;******;;::;;::-----::
-:---,,.......,--:::::----::*OO;:***&&*;:-. .-,-.--,,...              ..-:;&OOOOOOOOO*;;*;*********;:;**;;;::::----------::-:;;*
,-:--,......,...  ,-----:::::*&&&*::::::::-,,,.,-.,-,.-,,,....       ..,,-:;*&OOOOOOOOO88888&***;********;:::::------::::;;;;;**;;::;;*
,-,.,.,-::,      .-::;;;;*O&O*---::::;:,,-*-.,--,,,,,,.....,--:;**&&&&&&OOOO88888SSSS8*;;***&*;;;::::::::::::;****;***;;*;;:-:;;*
,,:::-,,.      .-::;;::;O8O;:;;;;;;;:-,,,-&:.,--------:;***&&&&&&&&&&OOO8888SSSSSSSSSS*;*;;;:::-::;*&****&*;:;;;;;;;;;***;:-:;*;*
--:;;;:,.  ...     .,-----:;&O&::;;;;;;;:-, *:,-,,-::;***&&&&&&&&&&&&&&OOOOO8888SSSSSSSSSSSXS;-:----:;;;*&&&&&****::;;;*;;;;***;;::--::;
*;;-..     ..     ...,--::;:;;**:::;;::::-,.. *:,--,,&8888O&&&&&&&OOOOO88888888SSSSSSSSSSSSXSSXS;-:;;;::***&O&*&&****::*****;**;;::------
:,....     ..       .-:::::;:::;:--:----:;-,.. *-,--&S8OOO&OOOOOOO8O8888SSSSSSSSSSSSSSSXSXSXXXS*:;;;;:;***;*********::;*;;:::------:-::;
-.,,...      .       .-:::::::::----:::::;;:,,:*-,-,;SS88888888OOOOOOOOO8888SSSSXXSXXXXXXXXXXXS&:;;;;:;;;;;;*******:-----------:;:::;*;;;
.,,..               .,---------;:;:::;:::;::*:,:-:88S8SSS8OOOOOOOOOOOOOOOOO8888SSSSSSXSXXXXS&;;;*;::;;::::::::----:::::;;:--;;;;::*;;;*
.,,..               .,,--:::-:*;;;:;;:::::--;&::---&O8O&O888888888888OOOOOOOOOO8OOOOOOOOOOOOO*;;::----------::::;;*;::;;;:-:;*;;::***;;
.,,..               .,,-:-:;;-:*;*;:::-----,..,:*::-----*&8O&&O88888888888888888888S8SSS8888888OO&;:-----:::;;;;::**;:;**;::***:--;**;;;*;;;*
.,....              .,--:::;:-::-----:::;:,...-*:-:-----;*O&**&O88888888888888888888SSSSSSSSSSSSSS*::;;;;****;;;::;*;:;**;;;***:--;;;:::::---
.,,...              .,,----:------:::;;;;:,,,:*:-;:----:;**;**&&8888888888888888888SSSSSSSSSSSSSS&;;;;;;;;;;;;;::;;;:;*;;;;;::----------:
.,....     .        .,,--:::;:;:-;::;;;;:,;*:-;:-----:;;-;*&*&O888888888888888888SSS8SSSSSSSS8&;;;:;::::;;;;::;;;:::-:----:::;;;;;;;:;***
.,....     .       ..,-:-:;;;;;;:-;;;;::::,,,:*:-;:----::;;-:;&&*&O888888888888888888SSSSSSSSSSS8&;;;;;;;;;:::--:::-----::;***&&&&&&**;;;**&
.,....     ..      .,---:-::;;:::--:---:::,,.-*:-;:-----:;;-;*&&*&O888888888888888SSSSSSSSSSSSSS&;:;:::--:::::;;*;;;;::;;*&&&&&&&&***;:;**&
,.,....     ..      ,---:----------::;:::;;:---;*::;:::--::;:,:;**&*&O8888888888888888SSSSSSSSSSSS*:::::::;;;;*****;;;;:-;;*&&*****;;*;;**&O8
.,.....    ,.      ,------;;;***;::;;;:--:;&::;::---::;:,-;**&&&&&O88888888OOO88SS8SSSSSSSSS8*:::::::;;**********;:-;;;*******;**;;::;&&
.,,,,...   ,.      ,,,--:::;:-:**;;;;;-:;::--:**::;:::-::-;:.-:;*&&&&&&O88O&*;::;;*&&O8SSSSSSSSSS*:::::::;;**;*;;*****:-:;;;;;;;::::-----
-,,,...     .      --::::;;:-:;;::::----:-,,,-;&;:*::::::-;:,--:;**&&&&&O:,......,-:;*&8SSSSSSSSS*:::::-:;;;;;*;;;;;::-----------::::::;;;;*
......    .,.      :--:::;::----:::;:;*;--;*::;::::::;*:,--:;**&&&&;.  ..       ,-:;&8S8SSSSS&;:;::--::::;;:----::::;;;;*;;;:**********&
......     ,.     .-:--::-----:::::;;;;;;;*:----;&;:*::::::*&:,-:::***&*:......         .-:*8SSSSSS*::::::;;;***&;:;;;***&&******;:*********;*
.,....    .,.      -------::;;;;;::;:;;;;*:---;*;;*;:::;;&&:,-:-::;**&:  .....           ,-*8SSSSS&;;;;*&&*&&***;:;*******&*****::****;;;****
......     ,       -::;;;::;;;*;;::;;;;:::----;&;;*;:;:;;&O:-::::;;*:. .....             .-*8SSSS&****&&*******;:;*;*;*********::***;;;;***&
...        .       -::::;;:;;::::---:::--:::--;*;;*;;;;;;&O*--:::::;;. ......              .-&8SS8&;;;;*********:-;;***;****;;;:-:;;;::::;:::
...        .       ::::::-----::;***::;;;;;:;*&;;*;;;;;*&O&*::::::;-..........            .;OSS8&;;;;;*****;;::-:-:-----:::----::::::::--::
.          .       ,--::::--;******;:;;;;;;;*&;;*;;;;*&&**&;::::::.........              .:*888*;;::::::-:*&&&&*;:::-:;;****&****;***::;**
,           .       .,:;;;;;;-:*****&*::***;;;;*&;;*;;;;;*-,:&;:::::-.......  .               ;OS8*::;;;:-:;&&8O8OOO&*::;****&&&&***;**&::;*;
,                   .-::;;;;:--;;;;;:--------::*&;;&;;;;**, :;::::::-.....                    .:&88*:;;;*::;*&&&&&&&&&;:-;***&&&&&**;***&;:;*;
.                   .---::;;;::--------:::::----;&;**;;;;;*, ::::::::-......                    *88&::;;;::;;&&*&&*&&&;--;&&&*&&&&**;***&::***
.           .      .--------------:;:;;;;*;;::-*&;**;;;;**, -;::::::-........                  ,;O8*;;;;;::;**&&&&&&&&;:-:***&&&&**;;;;**:-:::
,          ...     .,----;****;;:;*;;;;;*;::-:&&;**;;;;**, -;::::::.......                   .:O8&*****:-:;;*&&&&**::---:::::-------:::::::
,........  .,      .----:::*&&;:;;:;*;**;;;*;;:;&&;**;;****, ;:;:;:; .  ...                   .:O8*::-------::;&&&*;;::;::::;:-:-::::;;******
;--,,..    .       ---::-:&**;:::--:----------:*&***;;*;*;..-;;;:;:;,   . ..                   .:O8*::::;;;::;***&&&&&&&&&&**;;;;::;;;;**&&***
...       ..      .-::-::--:::------:::--:::::-:*****;;****,.:;;;;;;;,      .         ...       .:O8&;*;:;*;::;;;;*&&&&&&&O&&**;;;:;*******&&**
,.....     ..      .-------:::--;;;****;::-:::;;*&&***;*****,.:;;;;;;:,    ........  .....       .:O8&;;::*;;:-:**;*O&&&&&&&&*****;;*&**&*&&&***
......    .,      .:--:::;;;;::****;**;::::::;;&&&***;*****,.:;;;;;;:.   ..,,,,---, .....       .:O8&;*;;**;::**&*;&O&&&&&&&&&&&*::****&&*;*;;*
,,,,..    .-.     ,:::::;;;;;:-*******;-::;;::;*&&********; -;;;;;;:.   .,,,,-:-,..  ..      .:O8&***;**;;;;;;:-:;;;;;:;;;:::------::::;;;::
.    ,:.     ,::::;;;;;;--:::;:;::--:-----:*&*&****&**,.-*;;;;;:   .,,,---,.         .:O8&:::::::::;;;;:::;;:::-:::;****;::;;;::;**&
--...  :.. ...::--------:::::-:;;;***;;:::;&&*&&**&*** -;;;;;;:   .,-----,....     .:O8*;*;;;::*******;:****::;;:;&O&&&;:;;*:-;*&&
-::--,,,,.-:,...,,::::::::;**&&&*:;*******;*;*&&&*&&****** -*;;;;;:.  .,------::,.,.,,.      :OO*;;;*;:;**&&&&*::;***:::::::****;::;;;:;&&&
-:::-,-::,,.,,:***;;*;;*&&**&*:;***********&&&*&&**&*&*.-;**;;;;.  .,--::;;;;-.......     .:OO*:;;;;:;**&****;:;**;::;;::::;;:::::;;:;&&&
-;::-,---::....,:****;*;:******;::;;;;;;;****&&&*&&*&&*&*.:*;**;*:.  .---:;*;:;:,,,,,..    .:OO*;*;**;;****;;*;;;*&*:-:;;;*;**;;**;;;:*&&&
--:--,----;-   .-:*;*;::--::::--::;:---::::::*&&*&&**&*&*.:***;**:.  .,---:--:-,,.....    .:OO&**;;;::;;;;*;;::::;:-------:::--------::::
.    .-::-;-  ..--::-::;;;**;-:;;***;;:;*;;***&&&*&&*&&&&*.:*****;*:---------:::::--,,.......,;OO*:::::--::-::::-:::*;:;;;;:;;*:-:::::;::;;;
-.  .---;;,..,-:;;:*&&&&&&*:*******;;;;;;*&&O&&*&&*&&&&*.:*******&*&&*::--:::;;;**&***&&&&&&&OOO&*&*****&&&&&&***&O8&&&&&&&&&&;:;;;**;;;***
---,....,-;*-:::::;**;*&&&&&&*:*&&*&***;;*;*&&&O&&*&&&&&&&*.:********&&&;--::::;;;;;;**&&OOOOOOO8OO&&&*&&&&&&&&&&**&O88&*&&&&&&&&;:;;;;;;;;;;*
:-;;;;::;**&&;;-::***:*&O&&&&;-;;*;;;;:::;:*&&&OO&&&&&&&&&*.:*********&&;------:::;;;;**&&OOOO*OOOO&&&&&&&*****&***&O8O&*&&&&&&&&;:;;;;;;:;;**
:&&&*;;*****:;-,-:;::::::::::::;:-::::::::::;;&&&*&&&&&&&*.:************:---:;;****&&&OOOO;&OOO&&&&&&&&&&&&&***&88&&&&&OO&&&&;:;**********
-:*&*;;*;;***::-::;:;:;:-:*&&&&&*;*&&&&&&&*;;;:*&&&&&&&&&*,:&******;;***;-----::;*&&&&&&OOOOO;&OOO&&&&&&&&&&&*&*;:*&*;;:;;*;;*&&:-:;;::;;::::
:;**;;::;;--*::*O:-;***&&&;*&&&&&&&;*&&&*&&&****;&&&&&&OO&&*,;*&***;;::;***:-::;;**&&&&&&&OOOOO*&OOO*:::;;::::---:::;;-----::::::;:----------::
:;**:-..-;-:*::;;;-;**&*&&;*&&&&&&*;*&&&&&&&*&&*&&&&O&&OO&&*-,;&****;;:;;**&;-::;**&&&&O&&&&OOOOOOOOO*;;;;;:;;;;;;*;*OO***:;&&&&***;;:;;*;:-;***
:;&*.,-;;;**:::;;:;;;;;;;--::-----:::;*;;******&&&&OOO&&O*;&****;;;;;*&OO::;-;&&&&&&&&&&&OO&OOOOO*;***;:*&*;;***&88OO&;*OOOOO&&&;;;*&&;-;&&&
:;&*:,-:;*;--:*::;::-:::::::--:::;:;;::::;;;**&&&&&&OOO&O*-;&**;****&&OO88;:;:-**&*&&&&&&&&O&OOOO&**;;;;:**;;;*&O8S8O&*:;&&OOOO&&*;**&&;:;&&&
:*&;---:;*;-:---:;;;;*******:;*******::**;;**&O&&&OOOOO&&*,;&***;;*&OOO888&:;*:***&&&&&&O&OOOOOO&&*;;;;:***&&OO8SSO&**::&O&&&&&*;;;*&&*:*&&&
*;;;:;;:;;:**;;;::::;*********:;*******;:&&****&&&&&OOOOOOO*-;**;*;*&&OO88S8O;**:-;*&&&&&&&&&&&O&OO&*;;;;:-;**&OO8S8OO***::*&&&&*********:-;*&O
***;*;;;;*;&&;;**::;**;****&**::******;::*&&&&&&O&&&OOOOO&O*--****;;*&O88888S8*;::;;*&&&&&&&&&&O&&OO&;------------*O*--:-------:::--::--------:;
***;*&;***;&*;;----:::-:::::::--:::::::--::::***&&&&OOOOOOO&-:&**;;*&&OSS8SSSO&&&;;**&&&&&OOO&OO&OOO&*;;;;**;;;;:;;*;:::::::::::;:---:::;:;:::::
&*&*&&***;*&&;:,,-*&*****;;;;**&&;:;*******;;*;&O&&OOOOOOO*-:****;*&O8XSSSSS8&OO8O&OO&O&&OOOOOOOO&&&*&&&&&&&&&*&O&::**&&&&&&&&&O&&;:*&&&&&&&&&*
;*&&&&*****&&;:,,*OO&&&&*;&&&&&&*;**&&&****&***&&&OOOOOOO&:;***;**&OSSSSSSS8O&&O8OOSSOO888OO&OO&OO&**&&&&&&**;&OO::**&&&&O&&OO&&&;:*&&&&&*&&&&
-:;::;;;;;;**;;---:&OO&&&&**&*&&OO&;****&****&&*&O&&OOOOOOO*:***&**&O8SX8SSSSSO&*O88OOS88S888OO&OOOO&*&***&&***&O8&::**&&&&&&&OO&&&*:*&&&&&&&&&&
OOO&OO&&&*&O*:*&&&&&****;;::::;**;:::;*****&&OO&*&&&OOOOOOO;:*;&***OOSXS8SSSSS8&O88S8-;O8888888OOOOOO&&&&&&&&&&OS8*-:&&&&OOOOOO&&OO&:*&&&&&**&*&
OOOOOOOOOOOO&&O&&O&*;::::;;*;::::::::::--:::;&O&*&&OOOO8OOO*******&O8SXS8SSSSS8&8S8SS&::O8888O888OOO&::-::::;;*OO*:-:;;**&&&OOO&O&&;-:**&***&&&&
;**;;;;::;;;;**&&*&***;*&&OOO&;;*&&**&*::;*;*&O&OO&&OO88OOO*&**&**&8SXXSSSSSSS8OSS8XXX8&&O8OOOO88OOO&:::----;&&8&***;;;;;;--:;;:::-----::-------
::;:--::::;;:::;;;**&*;*&&****;;&&&&&&&;;;**&OOOOO&OOO888OO*&*;&**O8SXXSSXXSSS8OSXSSSX88&OOOOOO8S8OO&***;;::&888OOOOOO88O;:**&&&&&&&&&&&*;:-::;;
***:::;*:;***:;;:;;***;;******;;*&&**&&;;*&*&8888O&OOO88OOO*&****&O8SXXSSXXSXSOO8XS88XXXO&OOO8SSOOOO&;;;:;::&88OOOO88S8OO;;&&OOOOO8OOOO8OO*:&&&O
***;;;&**&*&&;&*;**::-:----:::---::::::--:**&888OO&OOO88OOO*&****&O8XXSSSXXSXSOO8XSSXX@X8&OO8SS8OOOO&;;;;;::&OO&O888888OO*;&&OO&&OOOOOOOOO**&&OO
;*&*;;&**&**&;&*;*;;*;;;:::;****;:--;;;;::;::;;*&O&OOO88O8O&&***&O8SXXSSXXSXXSOOSSSXX@@@X88OO8OOOOOO&*;***::&&&&8SS8O&OOO;;&&&&**&OO&&&OOO**OOOO
O&O8&&OO&O&&&;&&;&*******&**&&&&&&;*&OOO&&O&&&&&OO&OOO8888O&O&**&O8SXXSSXSSXS8O8XSXX@@@@@XSO&OOOOO&O&;::::--:;**&*****&&*:-;*&&&&&&&&&&OO&;*88OO
8888OOOOOOOOOOOO&O&*&&*;**;*&&&&&&**&OO&&&O&&O8OOO&O8O8888OO&&**&O8SXXSSXSSXS8O8XXX@@@@@@@XSOOOOOOOO&*;**;;:::::-----::::-----:;;;;;****;:::*&&&
&&OOOOO88O8O88OOOOO;:;;;*;::;**&&&;:*&&&&OO&OSSO&O&OOO8888OO*&&&&O8XXXSSXSSXS88SXXXXX@@@@@@@S88OO&OOOOOOOOO&&&&&&*:-:&******;;;;;;:-::::::;;;;::
**&&&&OO&&&&&O&OOOO;::-:;*;;;::::::-:;;*&&&&OOO*;&OO8O8S88O&:&&&OOSX@XSXSSXX888SXXX@XX@@@@@@@XXS8O&OOOOOOO&&&OOOO&*:*&&&&&&&&&*&&&*;*&*&&&&&&&&&
;;:;;**;:;*****;&&&&&*::&&&&&&;:;;;*;;;:-:::;***&OOO888S88OO;&&&O8SX@SSSSSSS88OX@@@XX@@@@@@@@@XXS8OOOOOOOO&&&OOO&&&;&&&&&&&&&&&&*&*;&OO&OOOOOOOO
****;;::::;;;;::;***&*::&&&&&&*:*&*&&&&*;;**&OOOOO&O8O8SS8O&:&&&O8SXXSSSSSSS8O8X@@X@X@@@XXXXX@@XXXS8OOOOOOOOOOOOOO&;*&&&&&&&&&&&&&*;&OOOOOOOOOO8
&O&&**&&&&*;**;;;::;*;-:&&&&&&*:*&*&&&&*;***&OO&OOOO888888O&:&&&O8SXXSSS8SS8OOX@@@XX@@@XXXXXXX@@@@XX8*;**&&&&OOO&&;-:;*&&&O&&&&&OO&&&OOO&OOOOOOO
;&&***&&&&**OOOO&&::::-::;&&*;:-:;;**&&*;**&OO&&&&OO888S88O&:&&OO8SXXSS8S8S8OOX@@@X@@@@X@X@@@@@@@X@@S&;;;;:--::::::------:::;:::::::*&OOOO888888
::::::;;***&OOOOO&;*&***;;**;;;:::::::::::;*&OOOOOOOOO8SS8O&;&&OO8SXXSS88S8OOOX@@@@X@@@@@@@@@@@XXXXXSO&***;::*****&****;;:--:::------:;;*&&&&O
&:;&&**;:-:;*&&&&*;*&&&&&***&&&*;;;;*****;;;*&OO&&OO8888S8O&*&&&O8SXXSS8S88OO8X@@@@X@@@@@@@@@@XXXXXXSO*****-:&&OO&&&OOOOO&::*&&*;;;;;:::-------:
O;*O8OO&*;;**;:::::&&&&&&&;;&*&*;;;:*&*&&*&&OO8&*&OO88S8S8O&&O&OO8SXXSSSSS8OO8X@@@XXXXX@@@@@@@@XXXXXSO****;-;&OO&&&OOOOO&&;;&O&&&&&&&&*&**;:;***
;:;OOOOO*&OOO&&*&&*;;**;;*::**&***;;&&&&&&&&&O8&&OOO888SSOO&&&&O88SXSSSSSS8OO8XX@@XXXXX@@@@@@@@XXXXXSO&&&&;-;OO&&&&&&*&&&*;;&&&O&&OO&O&OO&::*&&O
***;;;**:*&*&&&*&O&**:::::::;::::;::*****&&&OOO&&OO88OS8SO&&&&&OO88XSSSSSS8O8SX@@@XXXXX@@@@@@@XXXXXX8*:;*;:-:*****&&**&*&*:;&&&&&O&&&&&OO&::&OOO
OOO&***&*;;:;;;;*&&&&&*&&*&&&;:;***;;;;;::::;***&OOO888S8O&*&&&OO88XSSSSSSOO8S@@@@XXXX@@@@@SOOSSSXXX8&;;:;;;;:::::--::-::::;&&&&O&&&&&OOO&::&OOO
8OOO&&OOOO*;;*;;;;*&&&&&**&&&*:*&&&&&&&*;***&&OO8OOO88SS8&**&OO8O88SSSSSS8OO8SX@@XXXXXX@@S&&OOOO8SXX8&&&&&&&&&&&*;:-:::::::::::;:::::;*&**::*&OO
&&O&*OOOOO&**&OOO&;;**;***&&&*:*&&**&&&**&&&&OO88OOO88SSO&*&&OOOOO8SSSSSS8OOO8X@@@XXXXXXO&&OOOO888SSO&&&&&&&&&&&&*;:*&&***OO&**;;::-----::::::;;
&&*::*&&&&*;*O8O8O*::;;::::;:::;*&&&&&O&&&&&O8888OOO88S8O&*&&OOOOO8SSSSSS8OO&OS@@@XXXXS&&&**O8888888O&&&&&&&&&&&&&;;&&&&*&O88OOO&&;:;**&&&&&&**;
O&&*&&&*;;::;;&&&&**&&&&*;-:;;::;&OOOO&&;;;*OOOO8OO888S8&&&&&OOOOOSSSSSSSOOOOOX@@@@XS&*O&&OOO8SS888O&::*&&OO&&&&&&::&O&&&&&OOO&O&O*:*&&&OOOOOOOO
OO&&OOOO*&&&&&*::::*OOO&O&;&&&O&&&**&&***;:;*&&O8OOO88SO&&*&&OO&&O8SXSSXSO&&OOX@XXX*;&&&&888SXX@XS88*::::;;**&&&&*--;&&O&&&&&&&&&&&;*&OO&OOOOOOO
;;;;&OO&;*OO8O&*&&&*&&O&O&;&O&O&&O*;&&**&***&OOO8OO888SO&&&&&O&;**&OSSSSSO**OO8XX&-;O&*O88SXXX@@@X8O&****;--:::::--::;;*&&&&&&&&&O&*&8OOO&O&OOOO
;;*;;;;;:;&OO8&;OO&;:::;;;:;&&OOOO*;&&&*&&*&&OOOOOO888S88&&&&&*;;**&8SSSXSO&&888:,;&*&888SXX@@@@@@S8&*****::*&&&****;;;::::::;****;:*&OOOOOOOOOO
**&****;*;;;;:::&O&&&;;;;;;;:;:;;;-:;*&&&&&&O88O&OOO88SS8O&*&*;;**&O8XSXSXSOOS&--*&OO8SSXX@@@@@@@S8&*;**;:;&&O&OOO&&&**;:--::::::------:;*&&&&O
;;***&*****&*:;*;**&&*;;**&&&*::;;:;;:;:;;;;&OO&OOO888SSS8&***:::;&8XSXSSXXS&;;;-:&&O8SXXX@@@@@@@@S8O&&OO*-:*&&&&OOO&&&&&;-;&&&****;;;::----::;*
;:-:*O**&**&&;&&&*&***;***&&*&;;&&&&&&&;:;;;*&O88OO888SSSSO&*;:::-:&8SSXXXS&;**::&O8SSXX@@@@@@@@XSO&**&*:-:&&&&*&&&&&&&&;:;&&&&&&&&&&&&&*:-;;**
O*;***;;;;;&&;&O&*O*:::;&OOO&*::&&&&&&&;:**&OO888OO888SSSSOO*&**;;;&O8SXSO**&;;;:&88SXXX@@@@@@@@XS8O&:::::::;;***&&&&&&&&;-*O&O&&&&&&&&O&&:-*&OO
O&&888O&**;;;:;&*;&&&*;::*&&&;:-;*&&&&&*:***OO888OO88888O*&O&&&&&&O8888O**&&*&&OO88XXX@@@@@@@@@XXS8O&&&&&&**;:::::;;;****::*OOO&&&&&&&&&&&::&&&O
&**OO88O&OOO&*;;***&&&&&&&**&***;:::::;:-;*&O88SS8O88O&&;*OO&&O&&O8O&&**&&&&OOO88SSXXXX@@@@@@@XX888O&&&&&&&&&&&&*;--:::::;;**&&&&&&&&&&&O&::&&&O
*::;*&&&&O88OO&*O8O&&&&&&&&&&&OO&&&&&&**;:::*OO8OO&O&&&&*OOO&O88O88OO&&O&*&&&O8SSXXXX@@@@@@@@@X888OO&&*&&&&&&&OOO&:-;;;;*&OO&;::::::::;**;-:&&&&
OO&*;:::;*&OOOO&O88&;***&&**&O&&&&&OOO8OO&&&OOO&&&&O&&&&&OOOOO88O8888OOOOOOO8SXXXXXXXX@@@@@@XS888OOOO&&&&&&&&&&&O&:-;*&O88888O&**:--:;;;:::::::;
OOOO&**&&&******&OOO&&*;*;;;*&&O&&&OOOOOOOOOOOO&&&&O&*;;:;*&OO8O88888OOOO88SXXXXXXXXX@@@@@@XS888OOOO&&&O&&&&&OO&&*--;&O8O8OOO8O&&;--*&&&&&&&*;;:
&OOOO*&&OOO&****;:;&OO&&O&&&&***;;::;*OOO&&&OOO&&OOO&*;*&OO888SSSS8888888SSXXXXXXXXX@@@@@XS888OOOOOO&;;;;**&**&&&*:-;&&OOOOOOOO&&*::*&&O&OO&&&O&
&******&OOO&&&OO&&&O8O&&OO8OOO&*****;:;*&&&OOO8OO&&&&OOOO88XXXXXXXXXXXXXXXXXXXXXXXX@@@XXXS888O8OOOOOO****;:;;;;:::::::;*&&OOOOOO&*-:*&&&&&OOO&&O
OO&&&*****&&*&8OOO&&&**&OOOOOO&&&&&**&&*:;*&OO&&&&OOOO88SXXXXXXXXXXXXXXXXXXXXXX@XX@XX@XXS888OOOOOOOO&***&**&&**&&**;;;;;::::;****;-:*&&&&&&OO&&O
&O&&OOO&**&&**&&&OOOO&;*;*&OOO&;&&:;*&&**OO&&&&OOOO8SSXXXSSXXXXXXXXXSXXXXXXXXXXXXXXXXXXXSOOOOOOOOOOO&****;;*&&&&&&&***&&*:::::::::::::;;**&&&&&&
&**&&OOO&&8OO&*;;;*O88O&&*;;;&*:*;:*&&OO&&&OO8OO8SSXXXSXXXXXXXXXXXSXXXXXXXXXXX@XXXXXXXXX88OOOOOOOOOO&;****;&&&&OO&&&&&&&**&&&&&&&**;;;:::-:-:;;;
O8O&&*&&&&O8OOO*&&&O8OOOO&&***;;:::*&O&&&O88O88SXXXSXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXXXXXXSOOOOOOOOOOO;:;;*;:*&&OOO&&OO&&&&*&&&&&O&&&&&&&&;::;**;;
O888O&&&&&OOOO&;&8O&&OOOOO*&&&&**;&&*;&OO8O8SSXXSSSXXXXXXXXXXXSXXXSXXXXXXXXXXXXSXXXXXXXX8OOOOOOOOOOO&***;;:::;*&OO8OOOOO&;&&&&&&&*&&&&&&*;&&OOO&
&&O88OO8OOO&*&*:&OO*::;*&&***&***;;;;&O88SSXSSSSXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXSXXXXXXXX8OOOOOOOOOOO&&&&&&&*;;;;;*****;;-:*&&&&&&&&*&&&&*;&&&O&&
&&*&&*&OO8O&*&&&*&&&&*;;*;;;*;;*&;;&O88SSSSSSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSSSXXXXXXS8OOOOOOOOOOO&&&O&&O&&&*&*;;;**;:::::::;***&&&&&&*;&O&OOO
SO&&&*;;*&OO&O888O&OOO*&&OO;;::&*&OOO8SSSSXXXXXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXSSSXXXXXXS8OOOOOOOOOOOO&&&&OO&*&*&&;;&&OO&&&&***;;::::;;**;;&OOOO&
88OOS8O&*;***&O8O8O&O&*&OOO&*:**&&O88SSSSXXXXXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXSSXXXXXXSOOOOOOOOOOOO*;*O&OO&&&&&&;;&&OOOOOOOOOO&&;:::::::::;;*&&
&&*&88S8OOOO&&&&&OO&**;&&O&&;:*&&&O8SSSXXXXXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXXXXXXXXXX8OOOOOOOOOOOO*::::;;*&&&&&**&O&OOOOOOOOO&&*;&&&&&***;::;;
O&**;*&&OO8888O&***&OO&*;**&:;;**O8SSSXXXXXXXXXXXXXXXXXXSXSXXXXXXXXXXXXXXXXXXXXXXXXXXXX8OOOOOOOOOOOO&***;:::;;;;;:;&OOOOO8O&OO&&&*;&O&&&&&&O&&&&
8O8O&&*;;*&O88OOOOOO8S8OO*;*;;;&O8SSXXXXXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS8OOOOO8888OOO&**&&;;&&&&&*;::;&O88OO&OOOO&&;&O&&&&&&OO&&&
OO88OO8O**;**&O&O88OO8OOOO&*;*&&OSSSXXXXXXXXXXXXXXXXXXSSXXXXXXXXXXXXXXXXXXXXXXSXXXXXXXS8OOOO8SSSS8O&**&&&;;&OOOOOO&&*;;;::&S88O88*:&8OO&&&&O&&&O
OOO&&&OOOO&&&*;*&OO&;;&OOO*;;*&&8SSXXXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8OOO8SSSSSS8O&&&&&;;&OOO&OOOOO&&*;;&O&&**&;:;;**&&OOOO&&O
88OO&***O8OO8O&OO&&&&***&&*;;*O8SSXXXXXXXXXXXXXSXXXSXXXXXXXXXXXXXXXXXXXXXXXXXXSXXXXXXXX8OO88SSSSSSSO;;*&&;:&OOOOO&&&OO&&;*&OOO&&&&&*;:::;;;*&&&O
888888&&&O&O8OOOO&OO88&&OO&*&O88SXXXXXXXXXXXSXXXXSSXXXXXXXXXXXXXXXXXXXXXXXXXXXSXXXXXSSSS888SSSSXXXSO;:::---:;*&&&&&&OO&&;*O&OOO888OOO&&&;-:::;;;
OO8O8888OO&&&&OOO&O888&O88&*&OO8SXXXXXXXXXSXXXXSSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS88S88SSSSXXXXSO&&**;;;:--:::;*&&&&&**&&OOOOOOOOOO&&*-;&&&**
8OOOOOO88O88OO&&&&&&***&O8O*&O8SXXXXXXXXSXXXXSSSXXXXXXXXXXXXSXXXXXXXXXXXXXXXXXSXXXXXS88888SSSSXSXSS8&&&&&&&&**;::----:::-:*&&OOOOOOOO&&&*-;&OO&O
88OO&&&&&&O8888OO&*&O&&&&OO&OSSSXXXXXXXSXXXSSSSXXXXXXXXXXXSSXXXXXXXXXXXXXXXSXSSXXXXS8888SSSXXXXSXSSO&&&OO&&&&&&&*:::::::--::;*&&&&O&&&&&;:*&OO&&
OOOO8OOO&**&O88OOOOO888O&&OOO8SXXXXXXXXXXXXSSXXXXXXXXXXXSXXXXXXXXXXXXXXXXXXSXSSXXXXS8888SSXXXXXXSXX8&&&OO&&&&&&O&:;**&&&&&**;:--::;;***&;:*OO&&&
O&OOOOO8OOO&&&OOO888888888OOO8SSXXXXXXXXXSSXXXXXXXXXXXXSXXXXXXXXXXXXSXXXXXXXXSSXXXXSS88SSXXXXXXSXSX8;:**&OOO&&O&&:;&*&&OOOOO&&*;::;;;***;;*&&&&&
&&&&OOOOOOOOO&&&&OOO&&OO88O&O8SXXXXSXXXSSSXXXXXXXXXXXSXXXXXXXXXXXXXSSXXXXXXXXSSXXXXXSSSXXXXXXXXXXSSO*;;;;;;*&&&O*:;&*&&&OOOOOOO&&&OOOO&O&&&&&&&&
****&&&OOOOOOOOOOO&&&&&&&&&&O8SXXXXXXSSSXXXXXXXXXXXXSXXXXXXXXXXXXXSSSXXXXXXXXSSXXXXXSSSXXXXXXXXXXXSOO&&&*::;*;;;:--;&&&OOO&&OOOO&&OOOOOOOOOOOO&;
&**;;*&&&&&OOOOOOOOOO8O&&**&&OSSXXXXSSSXXXXXXXXXXSSXXXXXXXXXXXXXSXSSSXXXXXX@XSXXXXXXSSXXXXXXXXXXXXS8OOOO&:;&OOO&&*;:;;;*&&&&OO8&:*88OOOOOO888OO&
&&&*;*;;;*&&&&OOOOOOOOO&OOOO&&OSXXSSXXXXXXXXXXXXSXXXXXXXXXXXXXXXSSSSSXXXXXX@XSXXXXXXXXXXXXXXX@XXXXX8OOOO&:;&OO88OO&&&&*;:::::;*;-;88OOOOO8O88OOO
&&&&&&****;*&&&&&&&&&&&&OO88OOOSSXXXXXXSXXXXXXSSXXXXXXXXXXXXXXSSSSSSSXXXXX@XXSXX@@@@XX@@@@@@@@@@XXXO**&&&::&O888OO&&OOO&;;;;:-::-;&OOO8OOOOOOOOO
O&&OOO&&&*********&&&&&*&OOOOOO8SXXXXXXXXXXXSSXXXXXXXXXXXXXXXSSSSSS8SXXX@XXXXSXX@@@@XXX@@XXXXXXXXXSO&****::*O88OOO&&OOO&;;&O&&&&***;;*&&O8888OOO
OOOOOO&&&&&*;;;;;**&OO&&&&&&OOO8SXXXXXXXXXXSXXXXXXXXXXXXXXSSSSSSSSSSSXX@@XXXXSX@@@@@@XXXXXXXXXXXSSSOOOOOO&***&OOOOOO8OO&*;OOOOOOO&&&&&;:;&&*&OOO
&&&&OO&&&&&&;;;;;;**&OOOO&&&&&&O8XXXXXXXXSSXXXXXXXXXXXXXXSOOSSXSSSSSSXX@XXXXXXXXXXXXSSSSXSSSSSSS888O8O8888OO&&&***&&OOO&;;OOOOOOO&&O8OO&***;;;&O
&&&&&&&&&&&&**;*;:;**&&&&&&&OOOO8SXXXXXSSSXXXXXXXXXXXXXX8O&OSSSSSSSSSXX@XXXXXXXSSSS888888SSS88888O&&O88888OOO8O&;;*****;:;OOOOOOOO&&O88O&&OO88OO
&&&&&&&&&&O&*;;;;::;;**&&&&&OOOO88SXXXSXXXXXXXXXXXXXXXSO&&&OSSSSSSSSXX@@XXXXXXSSSSSSS88888S888O&*;;*&&O88888888OO&OOOOO&****&&OOOOOO8888&&O88SSS
&&&&&&&&&&&*;;;;*;;;:;;;:;**&&&OO88&8XXXXXXXXXXXXXXXXSO&&&*O8888SSXXXX@@@X@XXXXXXXSSSSSSSS88O&&******;*&O8888SS8OO888O888OOOO&&&&&OOO888&&O88SSS
*&&&*&&&**;;;;;;***;;;;;:::;;**&&OO:OXXXXXXXXXXXXXXX88O&&**&8O8SSXXXXX@@@@XX@XX@@S888SSS8OO&&&&&&**OOO&&&OOOOOO&*&88888888888OOO&*&&&OOOO&8888SS
&&****;;;;;;;;;***;*;;;;;;::;;;;;*&;8SXXXXXXXXXXXXSOO&&&&OOOO88SXXXXXX@@@@@@@@@@XS88O&&&&&&OO&&&&**O88OOO&&&O&&&&&888SSS88888888O&OOOOOOOOOO8SSS
*&**;;;;;:;;::;:;;;;;;;***;;;;;;:;;:O888SXSSSSSSSOOOOO8SSSSOO8SXXXXXXXX@@@@@@@@@S88&:-::::;*&&&&O&&O8888OO888OO&&&&O8888888888888O888OOOOO&&O88S
**;;:;;;;;;;;:::::::::;;*;**;;;;;;;:*&*&8S8OOOOOOOO88SSSSS8OO8SXXXXXXXX@@@@ @@@S&&&:---::::;;;**&OO8OOO8888S88OOOOOOOO88888O88O88888888OOOO88
;;::;:;;;;;;;::::::::::;;;:;;;;;;;;;-:&OOOOOO&&O8SSSSS88888OO8SSXXXXSX@@@@@XX@XO;:---------;&&&&&O888888O88888OOOOOOOO88O&OS88888888SSSS
;;;;:::::;:;::::::::::::;:::::;;;;;:::*&&O&&&&O8SXXSS88888888SSSSXSSSX@@@X888S&;;;::--,---::*O&&&&&O888888O88888OO8OOOOOO8OOS888S8888SSSS
;;:::;;:;::::::::::::::::::;:;::-:;;:;;;**&&O8SSS88888888S888SSSSSSSXXXXSOO88&;;;;;;;;::----:::*OOOO&&&&OO888OO8888O&O8S8888OOO88O88S88888SS
;;:;;;;:::::::::::::::::::::::::;;;::::::;*&O8SS8S8S888888SSSSSSSXXXXSXX888SSO;;;;;;;;;;;;:::::--::&OO888O8O&&OO8888888O&O8888888S888OO8O888888S
;;;;;;:;::::::::::::::::::::::::::::::::-:;&8SSSSSSSSSS8SSSSSSXXXXXXXX@XSSSS8*;;;;;;;;;;;;;;;;;:::;&OOO88888OO8OOOOOO8OOOO888888888888888OOOOOO8
;;;;:::;;:::::::*;::::;;:::::::::::::::::;&O88SXSSSSSSSSSSSSSSSSSXXXXXS8O&&*;;;;;;;;;;;;;;**;;;;:;;*OOOOOOOOO88OOOOOOOOOOO88888O&*8S88S8OOOOOO88
;;;;;;;:;::;:;;:;;::::::::::::::;;::::::&O8888SSSXSSSSSSSSXSSSSSSSSXSO&;;;;;;;;;;;;;;;;;;;**;;::::;*&&OOO88O888OOOO8OO8OOOOOO888**8S888OOO888SSS
;;;;;;;;;:;:;;:;;;::::::::::::::;;;:::;OOOOSS8SSSSXSXXXXSSSSSSSSSSS8*;;:;;;;;;:;;;;;;;;;;;;;;;;:::*&OO&&OOOOOO8OOOOOOO888OOOOOO&*;&O8888O888SSSX
;;;;;;;;:;;;::;*;;:::::::::::::::::::*OOO8O888SSSSSSXXXXXXXSSSSSSSS&;;;::::::::;;;;;;;;;;;;;;;;:::*O8O8OO&&&&OOOO&OOOOOOOOOOO8O*::**O88OOO8SSSXX
;*;;;;;;:;;;;:::;:::::::::::::::::::;&OOOOO88SS8SSSXXXSXXXXXXSSSSS8&&&&**;;::;;:;:;;;;;;;;:;::::;;*OOOOO&&OOOOOO&&&OOOOO8O8OOOO*;:***&OOOOO88XXX
;;;;*;;;;;;::;:;:::::::::::::::::;::;&OOO8888S8SSXXXSSSXSSSXSXXXXX8&*&&&&&&*;;;;;;:;;;;;::;;::::::;&OOOOOOOOO8O8OO&&OOOO8O8OOOO&*;&&*&OOOOOOO8SX
;;;;;;;;;;;:::::::::::::::::::::::::;*&OO88888SSXXXSSSSSSSSXSSXXS8O&&&&&&&&&&&**;;;::::::::;:::::-:&&&OO&OOOOO8888OOOOOOOOOOOO&*;;OO*&O8OOOOOOO8
;;;;;;;;;;;:::;::::::;:::::;:;:::::::;*OO88888SXSSSSSSSSSSSSSXS8&*;;**&&&&&&&&&&&&*;;:::::::::::-:;&&&&&&OOOO888OOOOOO8OOOOOO&*;;*O8OO8888O88888
;;;;;;;;:;;;;:;:;;;:;;;::;:::;:::::::;&&OO88SSSSSSSSSSSXSSSSS8&*;;:;:;;**&&&&&&&&&&&&*;:::::::::::;**&&&O&&&OO888OOOOOO8OOOOOO&*;&888SSSS8888SSS
;;;;;;;;;;;*;;;;;;;:::::;::::::::::::;*&OO8SXSSS8SSSSSSSSS8O&*;;;;;;;;:;;;*&&&&&&&&&&&&&**;;;:::;::;*&OOOOOOOOOOO888OOOO8888OOO&*&O&&O8SXSSSSSXX
*;;;;;;;;:;*;;;;:;;::::;;;::::;;;;::::;*&OSXSSSSSSSSSSS8O&*;;;;;;;:;;;;;;::;;;*&&&&&**&**&&**;;;;*&&&OOOOOOOO&&&OOOO8888O8888OO&&&O&*&OO88SSXXXX
;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;::::::;*O8SSSSSSSSS8O&**;;;;::;;;;:;:;;;:;;;;;;**&&&&**&*&&**&**&OOO&&&&&O&&&&OOOOO&&OOOOO8OO&OOOO&&OOOOOO8SXXX
;;;;;;;;;;;;;;;:;;;;;;;;;;;;:::;:::::::;;&OOO888OO&&*;;;:::::;:;:::::::::;;;;**;;::;;***&&&&&*&&&&OOO&*&&&OOOOOOOOOOOOOOOOOOO&&OOOOOOO88OOOO888S
;;;;;;;;;;;;;;;;;;:;::;;:;;::;;:::;:::;;;*&******;;;;;::;;;::::::::::::;:::::;;;::::::;;**&&&&&&O&&&****&&&&&&&OOOOOOOOOOOOOOO&&OOOOO888OOO8SSSS
;;;;;;;;;;;;;;;;;;;;;;:;;;;;:;::::;:::;;;**;;;;;;;;;;;;:::;:::::::::::;:;::;;::::::::::;;;;;*******;**********&&OOOOOOOOOOOOOOOOOOOOO888OOOOSSXS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;**;;;;;;;;;;;;;;;:::::::::::;;;;;:::::::::::::::::;;;;;;;;;*;;;;:;;****&&&&OO888OOOOOO8OO8OOOO8O8OO8SSX
;;;;;;;;;;;;;;;;;;;;:;;;;:;:;;;;;;;;;;;;***;;;;;;;;;;;;;;;;;;:;;:::;:;;;:;;;::::::::::::::;;::;;**;;;::;;;;********&&&O88OOOOOOOOOOOOOOOOO888SSX
;;;;;;*;;*;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;**;;;;;;;;;;;;;*;;;;;;;;;;;;;;;;;:;*;:::::::::::::;;::;:;***;;;;;;;;;;******&&&OOOOOOOOOOOOOOOO8OOOO88SS
*;**;*;;;;;;;;;;;;;;;;;;****;;;;;;;;;;;;**;*;;;;;;;;;;*;;;;;;;;;;;;;:;;;:;;;;:::::::::::;;:::::::;;;;**;;*;*********&&&&&&&&&OOOOOO8OOOOOO888888