::o::::::::::::::::::::::oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo8#####
ooooo::::::::::::::::::::ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooO#####
oooooooo:::::::::::::::::ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo#####
oooooooooo::::::::::::::oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo8####
ooooooooooooo:::::::::::ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooO####
ooooooooooooooo::::::::oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooO####
oooooooooooooooooo:::::oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooO####
oooooooooooooooooooo:::ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOO8###
Ooooooooooooooooooooooo:oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOO###
OOoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOO###
OOooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOO8##
OOooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOoOOOOOOOOOOOOO88##
OOoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOO888##
OOooooooooooooooooooooooOooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOO888##
OOooooooooooooooooooooooOOOoooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOO888##
OOooooooooooooooooooooooOOOOOOooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO88888
OOooooooooooooooooooooooOOOOOOOOOOoooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO888888
OOooooooooooooooooooooooOOOOOOOOOOOOOoooooooooooooooooooooooooooooooooooooOOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8888888
OOoooooooooooooooooooooOOOOOOOOOOOOOOOOOooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOO88888888
OOoooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooooooooooooooooooooOoOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOoooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOooooooooooo
OOoooooooooooooooooooooO88OOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOo
OOoooooooooooooooooooooO888888OOOOOOOOOOOOOOOOOOOOooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOO88
OOooooooooooooooooooooo888888888OOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooooooooooooooooooooooooooooooOO8888########
OOooooooooooooooooooooo88888888888OOOOOOOOOOOOOOOOOOOOoooooooooooooooooooooooooooooooooooooooooooOOO88#############
OOooooooooooooooooooooo88888888888888OOOOOOOOOOOOOOOOOOOOoooooooooooooooooooooooooooooooooooooOOO888###############
OOooooooooooooooooooooo8##888888888888888OOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooooooooooOOOO88##################
OOooooooooooooooooooooo######8888888888888OOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOO8888###################
OOooooooooooooooooooooO######8888888888888OOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooOOOOOO88888####################
OOOOOOOOOOOOOoOoOoOOooO######8888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooOOOOOO88888888####################
OOOOOOOOOOOOOOOOOOOOOOO#######888888888888OOOOOOOOOOOOOOOOOOOOOOooooooooooooooooOOOOO8888888888####################
OOOOOOOOOOOOOOOOOOOOOOO#######88888888888OOOOOOOOOOOOOOOOOooooooooooooooOOOOOOOOOOO888888888888####################
OOOOOOOOOOOOOOOOOOOOOOO#######88888888888OOOOOOOOOOOOOOOOOOOOOOOOOooooooooooOOOOO88888888888888####################
OOOOOOOOOOOOOOOOOOOOOOO######8888888888888OOOOOOOOOoooooooooOOo...    ...:::OO8O8888888888888888###################
OOOOOOOOOOOOOOOOOOOOOO8######8888888888888OOOOOOO.::::::ooooo:.        ....:OO8O88888888888888888##################
OOOOOOOOOOOOOOOOOOOOOO8#####88888888888888OOOOOOO.:ooooooooo.          .. ..:OO8888888888888888888#################
OOOOOOOOOOOOOOOOOOOOOO8#####88888888888888OOOOOOO.:oooooooo:            .....:oO8888888888888888888################
OOOOOOOOOOOOOOOOOOOOOO8####888888888888888OOOOOOo.ooooooo:.                ....oOO8888888888888888888##############
OOOOOOOOOOOOOOOOOOOOOO8###888888888888888OOOOOOOo:ooooooo. . ......::..      ...oO888888888888888888888############
OOOOOOOOOOOOOOOOOOOOOO8##8888888888888888OOOOOOOo:oooooo. .:ooooOOOOOOo:.     ...OO88888888888888888888888#########
OOOOOOOOOOOOOOOOOOOOOO8#88888888888888888OOOOOOOo:ooooo:  :OOOOOOOOOOOOOo.   ....oOO888888888888888888888888#######
OOOOOOOOOOOOOOOOOOOOOO8#888888888888888888OOOOOOo:ooooo.  oOOOOo::::ooOOOo. .....:OOO8888888888888888888888888#####
OOOOOOOOOOOOOOOOOOOOOO8##8888888888888888888OOOOo:ooooo. .oOOoo..::::OOOOO:....:..:OOO88888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO8##88888888888888888888OOOo:oooo:  .oOoo:.....oOOOOOo....:..:OOO88888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO8##88888888888888888888OOOoooooo:   :o:oo::..:OOOOOOO.......:OOOO8888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO8###8888888888888888888OOOoooooo.   ....OOOooOOOOOOOo........OOoO8888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO#####888888888888888888O88oOOOOo.    ...oOOO::oooooo:...  ...oOoO8888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO######88888888888888888O88888OOO.    .. oOOOo::::ooo.. .  ...:OoO8888888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO######88888888888888888OOOOOOOOo.     ..oO:.oOo:::::.   . ....ooOOO88888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO#######88888888888888888888OOOOo.      oo:::oo::oo:.    . .. ..oOOO88888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO########8888888888888888888OOOOo       o::::.:ooOO:.         ..:oOO88888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO########8888888888888888888OOOo:       .:.:.:::ooo:.         ...oOOO8888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO########888888888888888888OOOOo.        ....:.:oOo..          . .oOO8888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO########888888888888888888OOOOO.         ...::ooo:.           .  .OOO888888888888888888888888
OOOOOOOOOOOOOOOOOOOOOO########88888888888888888OOOOOO.... ..      .:o:..               ..OOO88888888888888888888888
OOOOOOOOOOOOOOOOOOOOO8#######888888888888888888OOOOOO:....          ...                ..oOOOOO88888888888888888888
OOOOOOOOOOOOOOOOOOOOO8########888888888888888OOOOOOOOo...  ...                        .::.OOOOOOOOOOOOOOO88888888OO
OOOOOOOOOOOOOOOOOOOOO8########88888888888888OOOOOOOOOo... ....                     .  .Oo:oOOOOOOOOOOOOOOOOOOOOOOOO
OOOOoooooooooooOOooOO8########888888888888888OOOOOOOo.. ..:.  ..   .                .::Ooo.OOOOOOOOOOOOOOOOOOOOOOOO
OooOoooooooooooooOooo8########8888888888888o:oooooo:. ...:::. ..                   .:::ooOooOOOOOOOoOOOOOOOOOOOOOOO
ooooooooooooooooooooo8########8888888888888o::::ooo:..:o:ooo...:  ..            ...:oooo:ooOOOOOO.......::::::ooooO
ooooooooooooooooooooo8########8888888888888o::::o:::oooooooo:.::..::.  ....    .::ooooooOOooooooo:  ........:::::::
ooooooooooooooooooooo8#8OOOO888888888888888o::::::o:OoOOOOooo..o:::::......:..::ooooOOoooooooooooo  ..........:::::
ooooooooooooooooooooo##OO: ..:o888888888888o:::o:oooOooooOooo:.:oo:oo:o::::oooooooOooooooooooooooo.  ...........:::
oooooooooooooooooOooo##OO:   .o888888888888::::ooOoOOOOOoooo::.:oo:ooo:ooooOOoooOOoooooooooooooooo.    ............
ooooooooooooooooooOoooOOO:   .o888888888888::oO8888OOOoooo:oo::ooo::o::::ooOoooOoo:::o:::oo:oooooo      ...........
ooooooooooooooooooooo   ..   .O888888888888::o8#88OOoOOOOooooo:oooo:::::::oOOOOOOOOOOOOOOoooooooo:        ........ 
ooooooooooooooooooooo      .  O88888888888O:::O888OOooOOOOooo:ooooo::::.:OOOOOOOOOOOOOOOOooooooooO:           ....o
ooooooooooooooooOOOOo      .. O88888888888O::oO888OOooOoooOoo:ooooo:o:.:OOOOOOOOOOooOOOooooooOooo88.   ..          
oooooooooooooOOOOOOOo      .. 8888888888OOOoO888OOOOoooooooo::oooo:::.:OOOOOOOOOOOOOoooooOOOOoo:O88O:oOOOoooo::::. 
ooooooooOOOOOOOOOOOOo    .....8888888888OOooooOOOOOOooOooooo:::::::::oOOOOOOOOOOOOOOOOOOOOOOo::o8888888Ooo:::.:.:..
ooOOOOOOOOOOOOOOOOOOo    .o:..8888888888OOooooOOOOoooooooooo.::::::ooooooOOOOOooOOOOOOOOOOoo:::OO8888888Oooo:::.:..
OOOOOOOOOOOOOOOOOOOOo    .....8888888OOoo:::oo::o:.:o::oooo:.:::::oOOOOOOoOOOOOOOOOOOOOoOoo::::88888888888888OOooo:
OOOOOOOOOOOOOOOOOOOOo    .....8888oo::::::.:OOOOOOoo:::..:.....:ooOOOOOOOOooOOOOOOOOOOOooo::::.:8o::oooOO88888888Oo
OOOOOOOOOOOOOOOOOOOOo....... :8888o:...::::OOOOOOOOoo:::.....::oOO88OOOOOOOooOOOOoooooooo:.::....::::.:::::oooOOOOO
OOOOOOOOOOOOOOOOOOOO:.......::8OOoo:.    ..OOOOOOooooooo.....ooOOOOOOOOOOOOo:oooooooooo:..:::     ..:::::::.......:
OOOOOOOOOOOOOOOOOOOO:.......ooooooo.. .....OOOOOoooo........:OOOOOOOOOOOoOoo.ooooooooo:..:::.        ....:::::::::.
OOOOOOOOOOOOOOOOOOOO:. .....ooooooo.     oOOOOOooooo:... ..oOOOOOOOOOooOooo:.oooooooo:...::.               .....:::
OOOOOOOOOOOOOOOOOOOO:......::oooooo.     oOOOOOooo:::. . :88OOOOOOooOOooo::.::oooooo.. ..::.                      .
OOOOOOOOOOOOOOOOOOOOo......::oooooo.    oOOOOOoo:oo:.:..oOOOOOOOOoooooooo:..:::::::......:.....                    
OOOOOOOOOOOOOOOOOoo::.....:::oooooo.   .OOOOOOOoo:::..:OOOOOOOOOOOoooo.:::..::::::......:. ...                     
OOOOOOOOOOOOoo::::::.....::::oooooo.  :OOOOoo:::oo.::oOooooooooooooooo:..:.:::...........                          
OOOOOOooo::..:::::::....:::::ooooo:. :.oo:ooooo:::oOOOOOOOOooooooo:::o: ...::.......:...                           
Oooo::::::::::::::::....::::oooooo:..::::o::ooooooOOOOOOOOOooooooo::::: ...::.......:....                          
::..::::::::::::::::..:::::oooooo:: .:oOOOOooo::oOOOOOOOOOOoooooo:o:::....:.....:..::.                             
oooo::::::::::::::::::::::::oo:::::.ooOOOOooooooOOooOOOOOoooooooo:::::..... ....:.:::.                             
::oooooo:::::::::::::::::::::::::::.oOOOOOOoooOOOOOoooooooOOooooooo:::..........::. ::         .                   
:::::ooooo:::::::::::::::::::::::::oOOOOOOOoOOOOOOOOoooo:::oooo:::ooo:...........:   o.       .......              
::::::::oooo:::::::::::::::::::::::OOOOOOOOOOOOOooOooooooo::::::::::..... ........   .O       .:::::......         
::::::::::::ooo::::::::::::::::::::OOOOoOOOOOOooOoooooooooo:::::::...............     O       ::::::::::.......    
 .:::::::::::::ooo:::::::::::::::::OOOOOOOOOOOOooOOooooo:::o::::.. ...  ........      o:     .:::::::::::::::......
.::::::::::::::::::ooo::::::::ooooOOOOOOOOOOOooOOooooooo:.:::::................       :o     .::::::::::::::::::::.
::::::::::::::::::::ooooo:::::oOoOOOoooooooOooooooooooo::..::::...............        .o    .::::::::::::::::::::::
:::::::::::::::::::::::ooOOoooOOOOOOOoooooooooooo:::::::::::::...   .........         :o   .:::::::::::::::::::::::
:::::::::::::oOo:::::::oOOOOOOOOOOOOOOOOooooooooo::::::::::::...   ..........         oO  .::::::::::::::::::::::::
::::::::::oO88888o::::OOOOOOOOOOoooooOoOOooooooo:::::::::......  ...........        ..O8 .:::::::::::::::::::::::::
::::::ooO8888888888OooOOOooOOOOoooOo:ooooooooooo::::::....... ..............        ..O8.::::::::::::::::::::::::::
::::oO88OoO8888888888OOOoooOOooooOOOo:ooo:ooooo::::.:......................          .OO:::::::::::::::::::::::::::
ooO8888888OoO8888888OOOoooOOooooOOOooooooo:::o:::....:oooo:::..............           Oo:::::::::::::::::::::::::::
88OoO8888888OO88OOOOOOoo:OOoo:ooOooooOooooo::::.:... .::oo:...............            o::::::::::::::::::::::::::::
8888OoO88888888OOOOOOoo:oooo::oOoo:oooooooo:::.....::.  .:...............             .:::::::::o:::::::::::::::::.
888888OoO8888OOooOOOoo:oooo::OOoo::oooo::oo:::...   .:::.   .............             .:::::::::::::::::::::::::::.
O888888888Oo:oo::oooo::ooo::oOoo::oooo::.::::...       .::.   .........               .:::::::::::::::::::::::::::.
:o888888Oo:.::...:::::ooo::oOoo:.oOoo:: .:::..            ..    .....                 .:::::::::::::::::::::::::::.
:oO88Oo...:::........ooo::oooo:.oOoo:.  ....              .....   .........          .::::::::::::::::::::::::::::.
.:o:...:::::::::.....:o::oooo:.oOoo:   ...               ...................         .::::::::::::::::::::::::::::.
:....:::::::::::......::oooo::ooo::   ....            ......................        .:::::::::::::::::::::::::::::.
::::::::::::::::.......:ooo:::oo::.........         ........................        .::::::::::o:::oo:::::::::::::.
:::::::::::::::::::......::..:::..........       ...............................   .::::::::oooo:::o::::::::::::::.
::::::::::::::::::::......................  .. ..............................::::::::::::::::oooooo:o::::::::::::: 
::::::::::::::::::::::...............      ..................................::::::::::::::::ooooooooo::::::::::::.
:::::::::::::::::::::::....  ..  ...      ...................................:::::::::::::::oooooooooo::::::::::::.
::::::::::::::::::::::...                 ...................................:::::::::oooo:::oooooooo:::o::::::::::
::::::::::::::::::::....                  .................................:::::::::::ooooooooooooooooooooo::::::::
:::::::::::::::::::.....                  ..............................:.::::::::::::oooooooooooooooooooo:::::::::
:::::::::::::::::::......                ............................:.::::::::::::::oooo:oooooO888Ooooooo:::::::::
::::::::::::::::::........               ........................:...:.::::::::::::::::ooooooooO8####8Ooooo::::::::
::::::::::::::::::.........             ........................::.....::::::::::::oo:ooooooooO88#######8Oooo::::::
::::::::.::::::::..........           ..........................:....::.::::::::::ooooooooooooO88##########8Oo:::::
.....::..::::::::::::........     ........................:....:.....::.:::::::::::ooooooooooo88##############8Oo::