@@@@@@@@@@@@@@@@@@@                                                                                                                                  
                                                                                                                           $$@@@@@$@@@$$$$$$$$$$$$@$$@@@@@$                                                                                                                            
                                                                                                                       $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                                                                                                        
                                                                                                                    $$$$$$$$$$$$$#####################$$$$$$$$$$$$$                                                                                                                    
                                                                                                                  $$$$$$$$$$################################$$$$$$$$$                                                                                                                  
                                                                                                               #$$$$$$###########**********************##########$$$$$$#                                                                                                               
                                                                                                             #$$$$#$#####*##**********!!!!!!!!!!!!**********#*#######$$$##                                                                                                             
                                                                                                           ############*********!!!!================!!!!*********##########*                                                                                                           
                                                                                                          ##########********!!!!!=======;;;;;;;;======!!!!!!!******##########                                                                                                          
                                                                                                        *#########*******!!!!!====;;;;::::::::::::;;;;;===!!!!!!******########                                                                                                         
                                                                                                       *########******!!!!!===;;;;;;;:::::::::::::::;;;;;;;==!!!!!*******######*                                                                                                       
                                                                                                      #######*******!!!!===;;;;;::::~~~~~-------~~~~~:::;;;;;===!!!!********###**                                                                                                      
                                                                                                     **####********!!!=====;;::~~~------,,,,,,,,-----~~~~:::;;====!!!!************                                                                                                     
                                                                                                   !*****#*******!!!====;;::::~~~~---,,,,,,...,,,,,----~~:::::;;====!!!************                                                                                                    
                                                                                                  !*************!!!===;;;;::~~---,,..................,,,--~~::;;;;===!!!!**********!                                                                                                   
                                                                                                  !************!!====;;;::~~---,,,....................,,----~~::;;;====!!!**********!                                                                                                  
                                                                                                 !!**********!!!====;;;:::~~--,,.........................,,-~~::::;===!!!!!!********!                                                                                                  
                                                                                                =!*********!!!!!!===;;:::~--,,...........................,,,--~~:;;;===!!!!!!*******!!                                                                                                 
                                                                                                !!********!!!!!!===;;;::~~--,..............................,,-~~::;;;===!!!!!!******!!=                                                                                                
                                                                                               =!!********!!!!!===;;;:::~--,,.........            .........,---~:::;;====!!!!!******!!=                                                                                                
                                                                                               =!!!******!!!!!!====;;:::~~-,.......                 .......,,--~:::;;;==!!!!!!!****!!!=                                                                                                
                                                                                               =!!!******!!!!!!.==;;;::~~--,.....                     .....,,--~~::;;==.=!!.!!!**!!!!!!;                                                                                               
                                                                                              ;=!!!!****!!!!!!!====;;;:~~--,....                       .....,-~~:::;;====!!!!!!!!!!!!!!=                                                                                               
                                                                                              ;=!!!!!!*!!!!!!!!====;;:::~~-,....                        ...,,-~~::;;.===!!!!!!!!!!!!!!==                                                                                               
                                                                                              ;=!!!!!!!!!!.!!!.!==.=;;::~~-,...                          ..,-~~::;;;===!.!!!!.!!!!!!!!==                                                                                               
                                                                                              ;==!!!!.!!!!.!!!.!===.=;;::~~-,..                          ..--~::;;.;===!.!!!.!!!!!!!!!=;                                                                                               
                                                                                              ;==!!!!.!!!!.!!!.!!==.=;;;::~~-,.                          .,-~~:;;=.===!!.!!!.!!!!!!!!==;                                                                                               
                                                                                              ;;==!!!!!!!!.!!!.!!!.====;;:::~~,                          ,:~;;;;====!!!!.!!!!!!!!!!!!==;                                                                                               
                                                                                              :;===!!!!!!!!!!!!!!!!!=======:::--                        ~::;;;====!!!!!!!!!!!!!!!!!!===;                                                                                               
                                                                                               ;===!!!!!!!!!!!!!!!!!!!!====;;;;:                       ~;;===!!!!!!!!*!******!!!!!!!==;:                                                                                               
                                                                                               :;===!!!!!!!!***!*!!*!!!!!!!!===;;:                    ;==!!!!!!**************!!!!!!==;;~                                                                                               
                                                                                               :;;==!!!!!!!!***********!!!*!!!!!===                 ;=!!********************!!!!!!===;:                                                                                                
                                                                                                :;;===!!!!!!*********************!!!!=            !!******##*#*#*************!!!!!==;:~                                                                                                
                                                                                                ~;;;===!!!!!!**************#**##***##*****!!*****##################*********!!!!===;;:                                                                                                 
                                                                                                 ::;===!!!!!!***********#############$###$####$$$$$$$$$$$$##########********!!!===;;:~                                                                                                 
                                                                                                 ~:;;;===!!!!!********##########$$$$$$$$$$$$$$$$$$$$$$$$$$$$#########******!!!!==;;:~                                                                                                  
                                                                                                  ~~:;;===!!!!********#########$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$######*******!!!!==;::~                                                                                                   
                                                                                                   ~:;;=;==!!!!.******########$$$$$$$$$@@@@@@@@@@@@@$$$$$$$$########*****!!!===;;:~-                                                                                                   
                                                                                                    -::;;;==!!!!!******#######$$$$$$$$$@@@@@@@@@@@@@$$$$$$$$######*****!!!====;;:~,                                                                                                    
                                                                                                     -~::;;====!!!!*****#######$$$$$$$$$$@@@@@@@@@$$$$$$$$$#####******!!!===;;::-,                                                                                                     
                                                                                                      -~::;;====!!!!******######$$$$$$$$$$$$$$$$$$$$$$$$$#####******!!!===;;;:~-,                                                                                                      
                                                                                                       ,-~:::;;===!!!!********######$$$$$$$$$$$$$$$$#########*****!!!!===;;::~-                                                                                                        
                                                                                                         -~~::;;;===!!!!******###########$$$$$$$$$########******!!!!===;;:::-.                                                                                                         
                                                                                                          ,-~~::;;;===!!!!!********###################*******!!!!!===;;::~-,                                                                                                           
                                                                                                            ,-~~~:;;;====!!!!!!!**************************!!!!!==;;;:::~-,.                                                                                                            
                                                                                                              ,-~~~:::;;====!!!!!!!!****************!!!!!!!!==;;;;::~--,.                                                                                                              
                                                                                                                ,,~-~::::;;;;;===!!!!!!!!!!!!!!!!!!!!!!===;;;;;::~~-,,.                                                                                                                
                                                                                                                  .,---~::::;;;;;;;==================;;;;;;::~~~~-,.                                                                                                                   
                                                                                                                     .,,--~~~~~:::;;;;;;;;;;;;;;;;;;;;:::~~~~--,.                                                                                                                      
                                                                                                                        ...,,--~~-~~~~::::::::::::~~~~----,,..                                                                                                                         
                                                                                                                             ....,,----------------,,,...                                                                                                                              
                                                                                                                                    ...............