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