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