.........::::... ..-::::.:......                                   .       ..:.:...   .                 :::...  .       
............::.......:.:::.::..       ......  ... ..       .             ..:.        .                .:-.....      .   
:............:..........:.:.:-.........  .....::....... :.......     ..::.... . .  .           .. .....-:......  .      
---::::::---::::..........::..:-.............. .::....:::............:::...            .         ....:::.........  .....
::::::..::::-===--::::::.:-..:-::...................-..      ........              ..   .........::::--.......:::::::...
...:.::::...:::-=+===----:--:-=-::----:-:::.:.::.:.::.:..:.:.  .::..:.::..:-:.:-::--:.......:....::-==--:..:.::.........
.........::::::::-====--------=**+=*+==*-=+-+:==-=:==:=:-=:=- .==-+:=:+=.:+**-=#*=#%=..........::--++===-:::::::........
............:-:--=+=-::--======----*+:=*-=++=:===-.==:=:-===-..=--+-.:+=.-*-*==**#*#=::..:....::--=*=---==::::::::......
........:::::-----::::::::::::::---*+:=*-=+-+:==-=:-=-=:---=-..=--+:.:++-=*+*+=*=#=#=----:::::---=+=---==-::::::::......
............:::...............:-:::--:-=::::-:::.::.:::.::.:....:::...-----:----:-:=-+=--==--===#*+=----::::::::....:...
........    .:................-:.....::---=--::::::::...::...:..........::----:-----=-=====+==+*#=-::::::::::...........
..............  ...........::=-:--::-=:---:-=====-:--::::-------:--::-:---=--===-====+=+=+++*++=-:::::..................
..::::::.......      ...::: .#@*#%+#*#*=%%=#**%+%*=%*%*-=%*=%+#**#*%=%*%=#%=*%*%+%**=%+#**%==-::--::.......     .  .....
    .....  ...          .:. .##%#%+%*##-##:#%%#+%*=%#%+-+%#=%+#**#=+=%%#=#%+*%##=*##=#+#**#=-:::-::::......    . ..  .. 
  .      .  ..         ... ..#*#+%=##%+:##:%**#+%*=%+#*-=%+=##%+*###=%+%+#%++%+%+#*%+*=*++*-:........::........   ......
       ..    ........... ..  ..................::::::::------====+++++*+*****++++++=-=---::..::.........:.............:.
          . .............    .. ..  .. ....   ....:::-::------===+++****#%%%##**+===--::......::........:...............
.    ... .....................:===--=:--:=:--:-:--:-::-:-:--------:--+=-==+===-=+-==-+-=+::::::::.......................
........... ..    .     .  ....:*+:=*-++++:=+==:==:=:-=-=---=-:=:-:=-=-===-=+=-++-=+-*-+*---::-:::..::.........:........
..........  ..      ..    .....:*+:=*-+++=:=++=:==:=:-===---=-:=-=-=---=-=--==+=+-=+:*-+*-==--::::::..:..........::--:::
::-::................. ....... :*+:=*-++-+-=+-+:-=-=:--:=-::-=-=:::==--=-==-=-+-+--=:+-=+---:------::::::::..:=-::::....
.:::------------::::... .........:.....::::::.::.:::::::::::--::::::::::::::=::::::-:--::---------==-===-----:..........
.::::::::::-::-:----::::::...............:::::::::::......:::::-::::::....:-:::-:::::...::::::::------=+=-::::::........
....:::--:::==------:::::::::............:......:...........................-:..:-.........::.::::---:-=:::.............
...:::::::::-====--:::::-------:::-:::----::................................-.....:..........::::--::::--::.............
......:::::::-===++=====+============+*+=--==::::::..........................::.......::....::::::::::::::::::.:........
.......::::::::--===+==++##*++****+#**++*****+***+##=****+*-*++**#**#***********=*+*+-*+*=............::.::::...........
........:::::::::-----==+*+===*+++=*+++=++*+++++++++=+++*+*-+==+++++++++++++++++-+=++:+=+=:................::::.........
:................::::-=*=-----::----:::.......--------::-:-----:::::::::::.  ..   ...........:.................::     ..
--:.:..............:-=*+=--::::::::::-:......:++=*++++-++=+*=*=+*=*=*=++++-................. .:....................:....
::---:::::.........:::--=-:::::::::::.:......-*+++++++:=+=+++++++=+=*=====: ..........   ............ ............. ....
.::.:::::::..::...::::.:=--::...:...:..:...................::..............      .     .       .......    . ............
..::::...::...:..:::::...::-=:........:.................   .............. ..     . ..      .          ..   .............
.........:.....:....::::....:--:......................     ..    .. ........     . .  .  .    .           .... .  ..    
...............:...........:::=-::::-::::-:::......  .    .                 .              .      . ....................
          ..................::.....................       .  ..       ..  . .  ..   ..          .............     .  .  
  .      . ........................................    .    .                   .   .      .. ..........                
       .     ........................................ .                .      ..  .     .........           .           
