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