#0|  .#
                                                                        #//.     /
                                                                     00      :$$     @@$$#$#
                                                                @@$:.         ....::::.     //  
           #////@                                          $||                              //
         //       ::#                                  ##:     :00/.     ..:0/00$$.                .|## 
        #    ::.    : @00//00@                        $..   ../####0////0$$######/                   ||
        |   .####:             $                    #.    :$######################/.. .::///00|      //
        :   |####/       :|..  :                  ##.    :$########################00$######//         /#@
        :   .####0    /####//  .                @|    :####################################$                /
        |    //###//./#####::  /              @@/    /########00############################//....  .       .
   #..         0#########/    |          @@$##..  ..$#####/        /#################################||     :@
  #.   /###0/00#0    /$       /@      $          .$$###//   ..//..  /###############################:         ::/#
  0   .$########0    :#::      :    00           /#####$$. :####00::################################/            .0
  |   :######################:  :: /    /###################################/:   .0####################000..      |
  $    :////:..:####$########/  || :   :###################################|      :#######################//    :0@
    //.        .0#||   00##00   $$@.   :#################################//   00############################:   . 
      #0/||    /##//     :/    .@@ :    |00##############################//   #############/:::.::0#########/    @
         ##    $##//          0     ##.     :############################$$:  ..###########.       :########$.   0
         @@.   |/.   .@##  ..#         #.   |#################$0///0###########################0    $########.   0
           :         $ @@:   |         @.   /##############0::     ..::/0######################$    /########.   0
            #//|:.00      :   $        #    0##########//      .:::.         :00################$$::0#######0   .#
                @@        |   /        $    ##########/     ../#@@@##00|:       :0##########################/   .
                          @..  $       #    0########.    $@@@@@@@@@@@@@@@@@0:     ::#######################.     0
                           ::  .00#     |   /#######:  ..@@@@@@@@@@@@@@@@@@@@@@@#:    :#######################//   ::
                          0..      0@@  0    #######:  ::@@@@@@@@@@@@@@@@@@@@@@@@@:    //#######################/    #
                         0    ::..     /@..  /######|    #@@@@@@@@@@@@@@@@@@@@@@@@@$$    :#######################.   0
                         /   .0###:.    :::  .######0.   /@@@@@@@@@@@@@@@@@@@@@@@@@@@/    0#####################/    $
                       @@:   |########:         0####0    :@@@@@@@@@@@@@@@@@@@@@@@@@@@|   /############.           $$
                       @@:   :#########/        :#####:    /@@@@@@@@@@@@@@@@@@@@@@@@@@|   /##########//           /
                         0    0#####00.    ..     ..0####:    ./##@@@@@@@@@@@@@@@@@@@/    0#########/    $##0/::::|$$
                          /    :##0.    .:::::::     .0####/        :00@@@@@@@@@@@/    ..0########0.    :             $
                          @::   ::     ::::::::::     .//###$$/.        ://$$$00:.     00#########:          .:://.   /
                             0      ..::::::::::::::.     ./#######0|..            ::$########0:         /$$#####$.   /
                              /     ::::::::::::::::::      ::0########0|::.....:/0#########00:         :########/    $
                               @::     ::::::::::::::::::.      ../0$##################$$/:        .:    .$$####/    0
                                @@:    .:::::::::::::::::::.        .||/0##########///:         ..:::::   ::##//   ||
                                   #..     ::::::::::::::::::::...                        ..::::::::::::         .#
                                      $     .::::::::::::::::::::::::::::.... .....::::::::::::::::::::::       $
                                       0    ::::::::::::::::::::::::::::::::::||::::::::::::::::::::::::.     00
                                      @.   .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..     0
                                      $    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::.    .00
                                    @@.  ..:::::::::::::::::::::::::::::::::::::::::::::::::::::::     .$
                                    //   :::::::::::::::::::::::::::::::::::::::::::::::::::::::     //
                                    //  .:::::::::::::::::::::::::::::::::::::::::::::::::::::::..   ##
                                   @::  .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::   $$
                                   @    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   //
                                   /    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.  ::   
                                   :   .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ..#  
                                  #.   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    #
                                  $    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    0
                                  0    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    : 
                                  0      ...:::::::::::::::::::::::::::::::::::::::::::::::::::::::    .    
                                  @|          ....::::::::::::::::::::::::::::::::::::::::::::::::.    . 
                                       $|..              ...:::::::::::::::::::::::::::...          .||#
                                         $$.                        ...............                0#
                                       0     |##@@@@@@@00/:...                         ..|//       .#
                                      |  ::#@@@@@@@@@@@@@@@@@@/   /    ##..  0@@@@@@@@@@@@@@@@@@||  .##   
                                    @@:  ::@@@@@@@@@@@@@@@@@@@/   /     #    #@@@@@@@@@@@@@@@@@@@@.  $$      
                                      /      .:://///:://///..  ..#     #    ://0$#@@@@@@@####0/     ##  
                                      @:                        //      @::        ........         /
                                           @@#$$//////0//00/000            @0/::...      .  ..:///#