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