Get Wood











--Blocks--
--Items--
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;'';:::::               
             `;;;;:;;;;;;;;;';;;;;::'             
           `;;:::;;;;;;;;;;;;;;;;;;;;::           
         .;;;;;;::';;;;;;;;;;;::;:;;::;;;         
       `;;;;;::;;;;::;;;::;;;;;;;;;;;;::;;;       
     `;;:;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;';;;;     
   .;;;;:::;;;;;;;:;;;;;;;;;;;;;;:::;;;;:;;;;;;   
   '';;;;;:::;;;;;;::;;;;;;'';;;;;;:::;;;;;;;;+:  
   '''';;;;;:::;;;;;;;'';;:::;;;;:;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;;;;:::;;;::;'';''+++++:  
   ''''''''::;;;;;;::::;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;;;;;;;;;;::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:;';;;;;;;;;::;::+++++++++++:  
   ''''''+''''++';;:::;;;;;;::;;;;+++++++++++++:  
   ''''''+'''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   '''''''''''''''''+'''';+++++++++++++++++++++:  
   '''''''''''''''''+''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   ''''+''''''''+''''''''++++++++++++++++++++++:  
   ''''++'''''''+''''''''++++++++++++++++++++++:  
   '''''+'''''''''''''''+++++++++++++++++++++++:  
   '''''''''''''+'''''''+++++++++++++++++++++++:  
   +''''''''''''+''''''+'++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   '''''''''''++''''''''+++++++++++++++++++++++:  
   '''''''''''++'''''''''++++++++++++++++++++++:  
   '''''''''''++'''''''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
   ''''''''''''''''''''''++++++++++++++++++++++:  
    ;''''''''''''''''''''+++++++++++++++++++++.   
      ;''+'''''''''''''''+++++++++++++++++++.     
        ;+'''''''+''''''++++++++++++++++++.       
          ;''''''+''''''++++++++++++++++.         
            ;''''''''''''+++++++++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       .;;;                       
                     .;;'':;;                     
                   .'''''';;'''                   
                 .;;'''''''';;'''                 
               .'';;;;;;;;;''''''''               
             .;''';;'';'';';;'';;''';             
           .;;;;;;;;'';'';;;'''''''';;;           
         .';;'';;;;''';'';;'';;'';;;;;'''         
       `;;;;;;;;'';;;'''''';;;;;''';;;;;'''       
     .'';;;''';;;''''';;;''''''''''';;;;:;;;'     
   .';;;;''''';;';;;;;;;;';''''''';;;''''''''''   
   +';;;::';';;;'';''''';;;;;';;''';;;'';'';''#;  
   +''''''';'';''';'';:''';''''';''''''';'';+##;  
   ++'+++;;;;;'''''';;;'';;;;;''';;;''''''#++##;  
   '++'+++';;;;;::;''';';;';;''';;'';';;###+###;  
   '+#'++++++;;;'';;;'''''''';;;;;;;;;+##+++###;  
   #+#++++#+++'';;;;;;;'';;;''''''''+++++++####;  
   #++++++#+++'''''''';;;;;;''''''##+#++++#####;  
   +++##++#+++++++';;;;;'';'''''++####++++#####;  
   ++++##+#++#++'++++'';;';;;;##+#+##+++####+##:  
   ++++''+##+#++''+++'''''''++#+##+##+#####++#+:  
   '+#+''#+###++''++''++';++++++##+######+####+:  
   ''++++++++#+++''''++++++++++#############+#+:  
   +++++++++++#+#++'#++++++#+##############++#+:  
   +++'++'++#+###++#+++++++####+########++#+#++;  
   +++''''++######+#+#++#++#####++#####+++#####;  
   ++++''++++'+#+++++###++#+##+#++##++#+++#####:  
   ++++++++++'''+++++++#+###+++#++#+++#++###+#+:  
   +++#++++++++'+'+#+++#+#+#+++####+++#++#+++##;  
   +++++++++++++#'''+++++++#++#+####+#++##++++#;  
   ++++''+##+#++#++'++++'######+++########+++##;  
   ++++'''+##+++++++++++'#+###++++######+#+++##:  
   ++#+++'+''++++++++++++++#+++#++####+++##++++:  
   ++#++++'''+++++++++++++##+++#######+++####++:  
   +++++++'+++#+'++++++++#########++##+++###+++:  
   ++++++++'++++''++''+#+++#######+++++####++++:  
   +++#++++''++++'+#'''+++#+##++#+#++###+##+#++;  
   +++#''+++'+++++++++'++##+#+++++#####++######;  
    ;+'''+#+++++++++#+''+##+##+++++####+#+#++#.   
      ;+++#+++++++++#++'+#####++++++#++###++.     
        ;++++#'+#'++++++#++####+##+#+++###.       
          '''+''''+#+++'#++#+#######+++#.         
            ;++''++#+''''###########++.           
              ;++++++''+'##+##+###+#.             
                ;++++++++#####++##.               
                  '++++++#+##+++.                 
                    ;++++++#++.                   
                      ;+#++#.                     
                        '+.                       
                                                  
                       .;:;                       
                     `:;';;;;                     
                   .;;;'''++'''                   
                 .';'';;;'+'''';:                 
               .::'++;;;'''::';;;;;               
             .;'''''';;;;+;'+'';;+';'             
           .''''';:;'';''';;'''''''''''           
         .''';;+'';:;;;;';+''':;;:;;:;++'         
       .'''''''+'';'';;'''+++';;;;;''''''''       
     .'''++''';::''';;''''::'++++''''''':;;:;     
   .;;'';'';'';;;;'+++'++';;;''''';;;''++''+';:   
   '''''++''';;;::'::''''''++'::'++'''::;::++++:  
   ''+':;;;'''';;;';;;+''';;;;;;;'''';'+;'''+#+;  
   ++++++;;'++';;''';;'::''''''''';;''''''#++##;  
   '++#+++'';;'+;;'''';;;:+'':''''''';;:###++##;  
   ''+#+++'''''+::'++'''''';;;::+++;;;####++++#;  
   ++++#+++'+++;;;:';:+'''++;;;'';''####+#+##+#;  
   ++++##'+''++++''';;+''''''';'';++##+++###++#;  
   +++'++'++'#+++#+''''';:;::;+++++###+####++##;  
   +++++++++++++'++++;;'';;;;:##+++##+###+#++##:  
   ++++''+#+++'''++++''''';;+###+++#+++##+#++#+:  
   '+#+''#+++'''++++'''+'++++###+###+++##+####+:  
   ''++++++++'++++++'+++'+++###+###+++######+#+:  
   +++++++++++++++++##+##+#+###+###+++#####++#+:  
   +++'++'++#+++#++++#+'#######+####+###++#+#++;  
   +++''''++###+#++++'+'+++#++##++#####+++#####;  
   ++++''++++'+#+++++''++++++++#++##++#+++#####:  
   ++++++++++'''+++++++++++#+++#++#+++#++###+#+:  
   +++#++++++++'+'+#+++#+++#+++####+++#++#+++##;  
   +++++++++++++#'''+++++++#++#+####+#++##++++#;  
   ++++''+##+#++#++'++++'######+++########+++##;  
   ++++'''+##+++++++++++'#+###++++######+#+++##:  
   ++#+++'+''++++++++++++++#+++#++####+++##++++:  
   ++#++++'''+++++++++++++##+++#######+++####++:  
   +++++++'+++#+'++++++++#########++##+++###+++:  
   ++++++++'++++''++''+#+++#######+++++####++++:  
   +++#++++''++++'+#'''+++#+##++#+#++###+##+#++;  
   +++#''+++'+++++++++'++##+#+++++#####++######;  
    ;+'''+#+++++++++#+''+##+##+++++####+#+#++#.   
      ;+++#+++++++++#++'+#####++++++#++###++.     
        ;++++#'+#'++++++#++####+##+#+++###.       
          '''+''''+#+++'#++#+#######+++#.         
            ;++''++#+''''###########++.           
              ;++++++''+'##+##+###+#.             
                ;++++++++#####++##.               
                  '++++++#+##+++.                 
                    ;++++++#++.                   
                      ;+#++#.                     
                        '+.                       
                                                  
                       `;;;                       
                     .';;''''                     
                   `''':::,,,,,                   
                 `,::,'::;;::;::;                 
               .;;:;;''';;;;;;'';;;               
             .';;;;';;,''';''':,,;:,:             
           .'':,:;;;:::::''';;;:::,,:;;           
         .''';;;,,:''';;:,;'';;;:;;;::'''         
       .''''';:;;;:;;''';;;'';'':;;;;:'''''       
     .::::::'';;;;:;'':'';'''';'':''''''';;;:     
   `;;;:::::::'''''''',:::,:'':,:,::'::'';:;:,,   
   '''':::;;;'';:::'';;;,,,;;';;;;;;;;'''::;;;':  
   ''+';;;;;''';::,;;'':,,,::'';:;::;;;'''';++':  
   ''++;;;;;;;''':::;;';;;;;;;;;;;::;;;;;;#++++:  
   +'+;;;;''';;''';,,:'';;';;':::'''''''###++++:  
   +'';;;;'''::;'';;;;'''''''''';'''''+####++++:  
   +';'';'+'+;;;;'';;;''',,,:,,,,,''+++++####+#;  
   +++''''+';;;;''';''';;:;;:::;;:+++'+++######;  
   ';+''''+';';;'++'';;';;;;;';;+++++'+++#++##+:  
   ;;;+'''+';';;'+++':,;'';''''+++++++++##+++#+:  
   ;''+++'++''''''++++''';''#+'++++++++##++++++:  
   '''''++++''''''+++'';;;+##+'+##++++++++++++#;  
   '''+;;'+++'''''+++;';;++#+'++##++++#++++++##;  
   '''+';;;'+'+''+++++'''++#++++##++###++++++#+:  
   +'''''';'++++++++'+'''+++++++##++#+'+++++##+;  
   +'''++'''+++++;'+;++''##+++++##+##++++++####;  
   +';;'+++''++';;'''++++###++###'#####+##+++#+:  
   ++';;;+++++++;''''''++##+###+''+##++##++++++:  
   ++''';'+++';++''''''+++++#+'++++#+++++++##++:  
   +++''''+';';;''''''''++++++++++#+++++++##+++:  
   +++''''++;';;'++'''''+''+#+++###+++++++#++++:  
   ++++''++++';;;'++'''++'++#+####'++++++##++++;  
   +''+++++++';;;''+'++++++++##+##+++++++#'+++#;  
   ;''''++;++++;;+'+'+++++++++++###+##++##'+++#;  
   ;;;'''+;;;+++'+'''''+++++++++###+#+####++++#;  
   +';'''+'';''+''+'++'++##+++++###+++####++++#;  
   ''';''++';''++'++++';+##++++##+'++'+#+#++###:  
   ''+;''+++'';;+++++;;;;##++++#++'++'+++#+###+:  
    ;+'''''+++';;+++;;;;'###+###+++++++++#+++#.   
      ;''''''+'''+++;'';'#######++##++#+++++.     
        ;'++'++'''++;''''####++##########+.       
          '++'+++'++'''''##+++++#++##++#.         
            ;;''+'++''''+##+++++++++++.           
              ;''++++'''+#+++++++#++.             
                ;++++++'++++++++##.               
                  ;+;'++++#+++++.                 
                    :;'++###++.                   
                      ;+'++#.                     
                        ;+.                       
			
                       `::;                       
                     `::::;;;                     
                   `'''::;::;;;                   
                 `;:;;''';;'':;;:                 
               .::;;;;;;''';;;:::::               
             `:'';::'':;;;''';;;;;::;             
           `;;:::''':::::;::'''::;;;;::           
         .;::;;;:::''':::::::;'''';;;;:::         
       `::'';::;;;:::''':::;;;::'''::;:::::       
     `::;:::'';::;;;'';''';;;::;;;'''::;;;:::     
   .';::;'':::'';:::::;::''';;;::;'''''::::::;;   
   '''';;;:::::;''';;;:::::'''''::::::'''::;;;+:  
   '''''';;;:::;:;''';;;;;::;'''::;;;:::''';+++:  
   '''''''';:::::;;;''';;;;;::;'''::;;;:::+++++:  
   '''''''''';:;;;:;;''';::''::::'';::;;+++++++:  
   ''''++'''''';:::::;;;'';:::;;:::'';+++++++++:  
   +''''+'''''''';:;::;;;;'';::;;;;;++++++++++#;  
   ++++'''''''''''';::;;;::;'';;;;++++++++++###:  
   ''++++'''''''''''';::;;;:::''++++++++++###++:  
   ''''++++''''''''''+';::;:::+++++++#++####+++:  
   ''''''+++''++''''''''';::+++++++++#####+++++:  
   '''+''''+++++''''''''''++++#+++++####+#+++++:  
   '''+''''''+++'''''''''+++++#+++###++++++++++:  
   ++''''''''''++++''''''+++++++####++++++++++#;  
   '+++''''''''''+++'''''+++++###+++++++++++###:  
   '''+++'''''''''++++'''+++####+++++++##+###++:  
   ''''++++'''''''++'+++++####+++++++++####++++:  
   ''''''++++''''''''''++###++++++++++###++++++:  
   '''''''+++++''+'''''''+++++++++++###++++++++:  
   '''''''++''++++'''''''+++#+++++###++++#+++++;  
   ++'''''''''''+++''''''+++++++###++++++#+++##;  
   '+++''''''''''++++''''+++++####+++++++++####:  
   '''+++''''''''''++++''+++###+##++++++++###++:  
   '''''+++''''''''''+++++###+++++++++++###++++:  
   '''''''+++'''''++''''+##++++++++++####++++++:  
   '''+'''''+++''''+'''''++++++++++####++++++++:  
   +''''''''''+++''''''''++++++++####+#++++++++;  
   +++''''''''''+++''''''++++++####++++++++++##;  
    '+++''''''''+'+++''''+++++###++++++++++###.   
      '+++''''''''''+++''++####++++++++++###.     
        '+++''''''''''++++###++++++++++###.       
          '+++''''''''''+##++++++++++###.         
            '+++'''''''''+++#++++++###.           
              '+++'''''''+++#++++###.             
                '+++'''''++++++###.               
                  '+#+'''++++###.                 
                    '+++'++###.                   
                      '++###.                     
                        '#.                       
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                ;;;               
                                ;;;               
             ;;;;;;          ;;;'''##             
             ;;;;;;          ;;;'''##             
             ;;;;;;          ;;;'''##             
             +++'''  ;;;;;;''   '''''             
             +++'''  ;;;;;;''   '''''             
             +++'''  ;;;;;;''   '''''             
           ;;'''+++##   '''##++++++++###          
           ;;'''+++##   '''##++++++++###          
           '''''#####   ###''++++++++'''          
           '''''#####   ###''++++++++'''          
           '''''#####   ###''++++++++'''          
                '''''+++'''+++++###  ;;;'''       
                '''''+++'''+++++###  ;;;'''       
                '''''+++'''+++++###  ;;;'''       
           ;;###   +++++;;;;;      ;;'''###       
           ;;###   +++++;;;;;      ;;'''###       
           ''   '''''''''''++###+++  ###          
           ''   '''''''''''++###+++  ###          
           ''   '''''''''''++###+++  ###          
             ''''''+++++'''##++++++''''';;;       
             ''''''+++++'''##++++++''''';;;       
             ''''''+++++'''##++++++''''';;;       
           ;;++++++  ;;;###+++++;;;##   ###''     
           ;;++++++  ;;;###+++++;;;##   ###''     
        ;;;''######  '''###''+++           ##     
        ;;;''######  '''###''+++           ##     
        ;;;''######  '''###''+++           ##     
        '''##   ###  +++''';;+++                  
        '''##   ###  +++''';;+++                  
        '''##   ###  +++''';;+++                  
                     ''''''++###                  
                     ''''''++###                  
                     '''+++++                     
                     '''+++++                     
                     '''+++++                     
                     '''+++++                     
                     '''+++++                     
                     '''+++++                     
                                                  
                                                  
                                                  
                                                  
                                                  
                         ,                        
                       ::::,                      
                     ::::::::,                    
                   :::::::,,,::.                  
                 ,,,:::,,::::::::.                
               ::::::::::::,,,:::::.              
             :::::::::,,::::::,,:::::,            
           ::::::::::::::::::::::::::::,          
         ::::::,:::::::::::::::::::::,,::,        
       :::,,,:::,,::::::::::::::::::::,,:::,      
     ::::::::,,:::,,:::::::::::::::::::::,,::,    
   :::::::::::::::::,,:::::::::::::::::::::::::.  
   ::::::::,::::::::::,,:::::::::::::::::::,::;,  
   ::::::::::::::::,,:::::::::::::::::::::::;;;,  
   :::::::::,::::::,,,,:::,,:::::::::::,::;;;;;,  
   ::::::::::::::::,::,,,:::::::::::::::;;;;;;;,  
   :::::::::::::::::::::,,:::::::::::;;;;;;;;;;,  
   ::::::::::;;::::::::::::::::::::;;';;;;;;;;;,  
   ;:::::::::;;;;:::::::::,,::::::;;;;;;;;;;;;;,  
   ;:::::::::;;;;::::::::,::,:::;;;;;;;;;;;;;;;,  
   ;:::::::::;;;::::::::::::::;;;;;;;;;;;;;;;;;,  
   ;;::::::::;;;:::::::::::;;;;;;;;;;;;;;;;;;;;,  
   ;:::::::::;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;,  
   ;:::::::::;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;,  
   ;:::::::::;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;,  
   ;:::::::::;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;,  
   ;:::::::::;::::::::::;;;;;;;;;;;;;;;;;;;;;;;,  
   ;;::::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   ;;;:::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   :;;:::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   :;;:::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   ::;:::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   ::;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   ::;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;,  
   ::;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;',  
   `:;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;'   
     `:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;     
       `:::::::::::::::::;;;;;;;;;;;;;;;;;;       
         `::::::;::::::::;;;;;;;;;;;;;;;;         
           `::::;::::::::;;;;;;;;;;;;;;           
             `::;::::::::;;';;;;;;;;;             
               `;::::::::;;';;;;;;;               
                 `:::::::;;';;;;;                 
                   `::::;;;;;;;                   
                     `::;;;;;                     
                       `;;;                       
                                                  
                                                  
                                                  
                         `                        
                       ,;;'`                      
                     ,;;;;;''`                    
                   :;;;;;;;;;;:`                  
                 :;;'';'';'';;:::`                
               :;;'''''''''''';;;;;`              
             :;;''';;''''''''''';''''`            
           ,;;:::''';;;'';'';;;;;''';''`          
         :':::::;;'';;;::;:;;:;;;';;;;;''`        
       :;;;;;:::;;''':,,:::;;;;;''';;;'';;;`      
     .::;;'';;;;;''';;:::;;;';;;;;'''''';;;;;`    
   ,;;,,:''''';;;''';;;;;;'';;;;;;''';;;::::;;;`  
   ++;;;;;;;;:::::''''''''''';::;;;;;::::..:;;#;  
   ++';;::;;;;;:''''''''''''';'';'';;:;;::::###;  
   ++';'';;;'''''''''''''''';''''';;;;;;:;#####;  
   +++'''++;'''''';';;''';,,::;''''';;;;###++##;  
   +++''''+++'''''';;;;;;;;::;''''''''+####+++#;  
   +++'+''+++'''''';;;'''';'''''';;'+++####+++#;  
   +++++++++++'''''';;;'''''''';;;#++######++##;  
   ++++++++++++''++;;:;;''''';''###########++##;  
   ++++++++++++++++++:;;'''::;++#####+#########;  
   ++++++++++++++++++++'';:;++++###+++####+##+#;  
   ++++++++++'+++++++++++'#+++++##++######+++++;  
   ++++++++++'+++++++++++##++++###++#####++++++;  
   +++++++'++'+++++++'+++##++++###++####++++++#;  
   ++''+++'++++++++++''++##+++###+++#####+++++#;  
   ++''++++++++++++++++++##+####++++#####++++##;  
   '+''++++++++++++++++++#++####++++#####++###+:  
   '++'++++''+++++''+++++++#####++###########++:  
   ''+++++'''+++++''''+++#######++###########++:  
   ''+++++''''+++++'''+++######++++##########++:  
   ''++++++'''+++++''''++######++++++#+#######+:  
   +++;++++''''+++++''''+######++++++++#+#####+:  
   ++';''++++';'++++''''+##+++##+++++++++#####+:  
   ++';''+++++;''+++++''+##+++##+++++++++#####+:  
   ;++'''+++++;;'++++++++##+++#++##+++++++####+`  
     ;'+++++++'''++++++++##+###+####++++++++#.    
       ;++++++''+++++++++#+#########+++++#+`      
         ;++++++++++++++'++#++######+++++.        
           ;++++++++++++'++++++#####+++`          
             ;++++++++++'++++++#####+`            
               ;++++++++'+++'++####.              
                 ;++++++'+++'+###.                
                   ;+++++##+++#.                  
                     ;++'###+`                    
                       ;'##.                      
                         .                        
                                                  
                                                  
                       `,,,                       
                     `..,,...                     
                   `,,,......,.                   
                 `,.,,,,..,..,..,                 
               `::,.......,,,,,,,,,               
             `.,,,.,,,`,,.,,.,,,,,,,.             
           `,,......,,`,,...,,,,,,.....           
         `,..,,....,,,,,.......,:....`.,.         
       `.....::,,,...,,,,,....,,:,,..`...,,       
     `.....,..,..,,,,,....,,,,.,,,,,...,..``.     
   `,..,.,,,..,.,,..,,.....,,,...,.....,,,..,,,   
   ;:..,,,:::..,,,.,,,,,,,.,,,..,,,,,,..,,,...':  
   ;;;:,,,,.,,,,...,,...,.`,,,,.`.,,,,,.,,,.''':  
   ;;;;;:``.,,,,,,,,........,.,.....,,,,,,''''':  
   :;;;;;::.,,.....,,..,..,..,,,,....,,,''''''',  
   :::;::;;;:...,,...,,,``.,,.........''''''''',  
   ;;::;:;;;;;:,...,...,,.,,.`.,,.,,''''''''''':  
   ;;;:;;;;;;;:::,,,,,......,,,,,.''''';''''''+:  
   :;;;;;;;;;;::;;:.....,,.,,,::''''''''''''''':  
   ;;;:;;;;;;;:::;;;:.,,,,.,,,''''''''''''''''':  
   ;;;:;;;;;;;;;:::;;::,,,..''''''''''''''''''':  
   ;;;;:;::;;;;;:::;;::;:,'''''+''''++''''''''':  
   ;;;;,,;:::;'';:::;;;;;'''''''''''++''''''''':  
   ;;;;;:;::::;';;::;;;;:'''''''''''''''''''''':  
   ;;;:;;;::;;;;;;;:;;;;:'''''''''''''''''''''':  
   ;;;:;;;;;;;;;;;::::;;:'''''''''''''''''''''':  
   ;;;:;;;;;;;;;:;::;::;;'''''''''''''''''''''':  
   ;;;:::;;;:;;;:;;;;;;;;'''''''''''''''''''''':  
   ;;;:;:;;;::;;;:;;;;;:;''''';'''''''''''''''':  
   ;;;;;;;;;::;;;:::;;;;;''''''+'''''';+'''';'':  
   ;;;'::;;;:;;;;;;:;:;;;''''''+''''''''''';;'+:  
   :;::;:;:;;;;;:;;;;::;;'+'''''''''''''''''''+:  
   ::;:;;;:;;;;;:;;;;;:;;++'''''''''''''''''''':  
   ;:;;:;;;;;;:;;;;;;;:::+''''''''''''''''''''':  
   ;::;::;;;;;:::;::;;;::'''''''''''''''''''''':  
   :;:;';;;;;;;:::;:;;;;;'''''''''''''''''''''':  
   ;;;;'';;;;;;;;:;;;;;;;'''''''''''''''''''''':  
   ;;;;;;;;;;;;;;;:;;::;:'''+''''''+''''''''''':  
    ::;;;;;;;:;;;;::;::;;'''+''''''+''''+'''''.   
      :;;:;;;:;::;;;;;;;;''''''''''''''++'''.     
        ::;;;;;:::;;;:;;;'''''''''''''''''.       
          :;;:;;;:;;;:;;;'''''+'''''''''.         
            ::;;;;;;:;;;;''''++'''''''.           
              :;:;;;:;;:;'''''''''''.             
                ,;;;:;;:;'''''';''.               
                  :;;;;;;'''''';.                 
                    :;;;;'''''.                   
                      :;;'''.                     
                        :'.                       
                                                  
                       .;;;                       
                     `:;'''::                     
                   `;;;;;::::::                   
                 `:,:;;:::::;';;;                 
               .;;;'';;;'''''';;;;;               
             `;';;';;;;;;;';;;;;:;:::             
           .;;:::::;::;;;;::;;;;;;;;;::           
         .;;;;;';;;::;:;;:;;;:;;:;;''''':         
       `:;:,:;;';;;''''';;;;;:;;:;;;;';;:::       
     .::;,,;,,:::;;;;;;;;:;;''''';;;:;;:;:;;;     
   .'';;;;;';;;';::;;;:;;,,:;;';;;:::;;,::;';''   
   '':::,,;;;::;'';;;:::''''';;;;;;;;;''''';;;#;  
   ''+;;';;;;;:;:::;;::;;;';;::;;;;;;:;;';::++#:  
   +++;'';;;:::,,;;;'';::;;;'''::;::;;;;;;+++++:  
   '++;'''';;;;';;::;;'''';::;''':;';':,#++++#+:  
   ''';'''+''::';;;;;;;;;::;;;;;''';;;+##++++#+:  
   ''''''+''';';;;;:::;:::;;:::;;:::+++##++++#+:  
   ''''''+''''''';;:'';'':;;;;;:::++++###+++##+:  
   ;'''+'+'''+'''+';;;;;;;;'';''++++++#++++##++:  
   ;''++++''+'''++''';:;;;:;;;+++++++++++++++++:  
   ;'++''+''''''++''''';;;::++++++++++++++++++':  
   ''+'''''''''''+''''''+;+#+++#+++++++++++++++;  
   '++'''''''''''+''';''+++#+++#++++++#+++++++#;  
   +++'''''''''''+'';''+'+##+++#++++++#++++++++:  
   ++'''''''+'''++'''''+'##+++##+++++##++++++#+:  
   '''''''+++'+++''''+'+'+++++##++++##+++++++#+:  
   '';''''+++'+++'''++++'++++++++++++++++++###+:  
   ''''''+++''''+'''+''+'+++++++++++++#++###+++:  
   +''+''+''';;''''''''''+'++++++#++''#++#+++++:  
   +'''''''''';;+''''''''''#++++##+''##++++++++:  
   ''''''''''++'+''''''';++#++++##++###+++++++#;  
   '';;'''''''+++''''''''++#++++#+++++++#+++++#:  
   '';;'''''+'''+'+'''''+++#+++#+++++++##++++#+:  
   ;';+''++'+'''''+++''+'+#++++#+++++++##++++#+:  
   ;''+'''+'''''''''++++'##+++++++++++###++++++:  
   '''''''''''+''+''''++'+++#++++++++##+++#++++:  
   +'+;''''';+++++'''''''+++#++++#++++++++#++++:  
   ++';''''';+''++''+''''+++++++##+++++++++++++:  
    ;''+'+'';+''''''+'';'++++++##++++++++#++++.   
      ;++'''++''''''+''';+++'+++++++++++++++.     
        ''''++''+'''''''+++'+++++++#++++++.       
          ;'''''+''''''+++++#++++++#++++.         
            ;'''+'+'++'+'+++++++++++++.           
              ;'''++'+'''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++#+.                 
                    ;''''+++++.                   
                      ;''##+.                     
                        ;#.                       
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;,,::::::               
             `;;;;:;;;;;;;;;';;;::::'             
           `;;,`.;;;``:;;;;;;;;;;;;;;::           
         .;;;;;;,,';;:`.```;;;`.::;;::;;;         
       `;;;;;::;;;;::;;:,,.;;;;;:;;;;;::;;;       
     `;;:;;;;;;;;;;;;;;;;;::;;;;;;;;;;;:';;;;     
   .;;;;:;;;;;;;:::;;;;;;;;;;;;.`:::;;:.,:;;;;;   
   '';;;;;.`.;;;;;;::.`.```'';,,.``:::;;;;;;;;+:  
   '''';;;;;::;;;;;;;;':::`,:;;;::;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;::::::;;;::;'';''+++++:  
   ''''''''::;;;;;;```:;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;;::``..`,::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:::;,,,::;;;::;::+++++++''++:  
   '''''';''''++';;:::;;;,::::;;;;++++++++''+++:  
   '''''';'''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   '''''''''':''''''+'''';+++++++++++++++++++++:  
   '''''''''':''''''+''''++++++'+++''++++'+++++:  
   '''','',:'''''''':;'''++++++'+++'+++;;'+++++:  
   '''',,::::''''''';;;''++++++++++++++;'++++++:  
   ';;''':;;:''''''''''''++++++++++++++''++++++:  
   ';:;+''';;'''+:'''''''++++++++;'++++'+++++++:  
   ''';++'''''''+,::'''''+++++++;;'++++++++++++:  
   '''''+'''''''';::''''++++++++'''++++++++++++:  
   '''''''''''''+;;'''''++++++''''+++;'++++++++:  
   +'''''''''',;+''''''+'++++';'++++';'++++++++:  
   '''''';''':,,:''''''''++++'++++++'++++++++++:  
   '''''';''':'':'''''''+++++++++++''++++'+++++:  
   ''''''''''''''''''''''++++++++++'+++++'+++++:  
   '''''''''''++'''''''''++''++++++++++++''++++:  
   '''':;''''''''''''''''++'+++++++++++'''+++++:  
   ''''::''''''''''''''''++++++'+++++';'+++++++:  
   '''''''''''::'':;'''''+++++++++++''+++++++++:  
    ;''''''''';:,:::'''''+++++++++++++++++++++.   
      ;''+''''''::;;'''''+++++++++++++++++++.     
        ;+'''''''';;;'''++++++++++++++++++.       
          ;''''''''';'''++++++'+++++++++.         
            ;''''''''''''++++''+++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;::;:::::               
             `;;;;:;;;;;;;;;';;;::::'             
           `;;:,,;;;,,:;;;;;;;;;;;;;;::           
         .;;;;;;::';;:,,,,,;;;,,::;;::;;;         
       `;;;;;::;;;;::;;;::,;;;;;:;;;;;::;;;       
     `;;:;;;;;;;;;;;;;;;;;::;;;;;;;;;;;:';;;;     
   .;;;;:;;;;;;;;::;;;;;;;;;;;;,,:::;;;,::;;;;;   
   '';;;;;,,,;;;;;;:::,,,,,'';::,,,:::;;;;;;;;+:  
   '''';;;;;::;;;;;;;;':::,::;;;::;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;::::::;;;::;'';''+++++:  
   ''''''''::;;;;;;,,,:;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;;::,,,,,:::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:::;:::::;;;::;::+++++++++++:  
   '''''''''''++';;:::;;;:::::;;;;++++++++'++++:  
   ''''''''''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   '''''''''';''''''+'''';+++++++++++++++++++++:  
   '''''''''';''''''+''''++++++++++'+++++'+++++:  
   '''';'';;'''''''';''''++++++++++++++'''+++++:  
   '''';;;;;;''''''''''''++++++++++++++'+++++++:  
   '''''';'';''''''''''''++++++++++++++++++++++:  
   '';'+''''''''+;'''''''++++++++''++++++++++++:  
   ''''++'''''''+;;;'''''+++++++''+++++++++++++:  
   '''''+''''''''';;''''++++++++'++++++++++++++:  
   '''''''''''''+'''''''++++++''+++++''++++++++:  
   +'''''''''';'+''''''+'+++++''++++''+++++++++:  
   '''''''''';;;;''''''''++++++++++++++++++++++:  
   '''''''''';'';'''''''+++++++++++'+++++++++++:  
   '''''''''''+''''''''''++++++++++'+++++'+++++:  
   '''''''''''++'''''''''++'+++++++++++++++++++:  
   '''';'''''''''''''''''++'+++++++++++''++++++:  
   '''';;''''''''''''''''++++++++++++'''+++++++:  
   ''''''''''';;'';''''''++++++++++++'+++++++++:  
    ;'''''''''';;;;;'''''+++++++++++++++++++++.   
      ;''+'''''';;;''''''+++++++++++++++++++.     
        ;+''''''''''''''++++++++++++++++++.       
          ;'''''''''''''++++++'+++++++++.         
            ;''''''''''''+++++'+++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;++;:::::               
             `;;;;:;;;;;;;;;';;;::::'             
           `;;'++;;;++;;;;;;;;;;;;;;;::           
         .;;;;;;++';;'+++++;;;+++:;;::;;;         
       `;;;;;::;;;;::;;'+++;;;;;';;;;;::;;;       
     `;;:;;;;;;;;';;;;;;;'++;;;;;;;;;;;'';;;;     
   .;;;;:;;;;;;;'':;;;;;;;;;;;;'+:::;;'++';;;;;   
   '';;;;;+++;;;;;;::++++++'';+++++:::;;';;;;;+:  
   '''';;;;;+';;;;;;;;'++++;:;;'+:;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;+++:::;;;::;'';''+++++:  
   ''''''''::;;;;;;++':;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;'+++++++'::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:++;+++++;;;::;::++++++###++:  
   ''''''#''''++';;:::;;;+++::;;;;++++++++##+++:  
   ''''''#'''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   ''''''''''#+'''''+'''';++++++++++##+++++++++:  
   ''''''''''###''''+''''++++++#+++###+++#+++++:  
   ''''+''++'''#''''##'''++++++#+++#+++###+++++:  
   ''''++####'''''''+#+''++++++++++++++###+++++:  
   '++'''####'''''''''+''++++++++++++++###+++++:  
   '+##+'''###''++'''''''++++++++##++++#+++++++:  
   '''#++''''#''++#+'''''+++++++####+++++++++++:  
   '''''+''''''''###''''++++++++####+++++++++++:  
   '''''''''''''+###''''++++++####+++##++++++++:  
   +''''''''''+++''#'''+'++++###++++#####++++++:  
   ''''''#'''#++#''''''''+++++++++++####+++++++:  
   ''''''#'''####'''''''+++++++++++###+++##++++:  
   '''''''''''+###'''''''++++#+++++#+++++####++:  
   '''''''''''+++#+''''''++###+++++++++++###+++:  
   ''''#+''''''''''''''''++##++++++++++###+++++:  
   ''''###'''''''''''''''++++++#+++++####++++++:  
   ''''''#''''##''+''''''++++++#++++#####++++++:  
    ;'''''''''+#+#+##''''+++++++++++++##++++++.   
      ;''+'''''+#####''''+++++++++++++++++++.     
        ;+'''''+##+###''++++++++++++++++++.       
          ;''''''#+'+#+'++++++##++++++++.         
            ;'''''''''+''++++###++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       .'''                       
                     .#+;:'+#                     
                   .'';::;;;'''                   
                 .#+'::;;;;;::'''                 
               .##'::;;;:::;;;::+##               
             .'#'::;;;:::::::;;;::+##             
           .'';::;;;:::::::::::;;;;;+''           
         .+';::;;;:::::;;;;::::::;;;;:''+         
       .##':;;;;:::::;;;::;;;::::::;;;::+''       
     .+#'::;;;:::::;;;::::::;;;::::::;;;::'''     
   .'+;::;;;:::::;;;::::::::::;;;::::::;;;::'''   
   #+'''::;;;:::::;;;::::::::;;;::::::;;;::'+++:  
   ##++#';::;;;:::::;;;::::;;;;;::::;;;::++'##+:  
   ##++'''';::;;;:::::;;;;;;::::::;;;::'''####+:  
   ##+++'#+'+';;;;;:::::;;::::::;;;::++'######+:  
   ##++###+++'';::;;;:::::::::;;;::''+###+####+:  
   +#++###'++#+'';:;;;;:::::;;;::'''#####+#####;  
   ++#+##+'+##+++'';::;;;:;;;::'''+#########+##;  
   ++#+##+'+#+'++++'''::;;;::+''##+#++#####++##;  
   ++#+##+++#+'+#++++##'::;+##+##+##++###+#++##;  
   ++#+++++##+'+#++++++##'''##+#++##++###+#++##;  
   ++++++++##+'+#++'#+++''######++##++###+#####;  
   +++++++++++'+#+++#+++'#######++##++###+#####;  
   +++#++'++++++#+++#++#+################+#####;  
   ++'#++'++++++#++'#++#+######################;  
   ++'#++'++++++#++'#'+#'######################;  
   ++'#++'#++#++#++'#'+#+############+#########;  
   ++'#++'#+'#++#+++#'+#+######+#####+#########;  
   #+'#+++#+'#'+#+++#++#+######+#####+#+###++#+:  
   #++#+++#++#'+#+++#++#+######+##+####+###++#+:  
   ##+#++++++#++#+#+#++#+######+##+####+###++#+:  
   ##+#+++++#+++#+##+++#+######+#######++##++#+:  
   #+'#+++++#+++#+##+++#+######+#######++##++#+:  
   #+'#+++'+#+#+#+##+++#+##+###+#+#####++######;  
   ##+#+++'+#+###+##+++#+##+####++#####++###++#;  
   ##+++++'+#'##+'##+++#+##+####++#+###+###++##;  
   ##+'+++++#+##+'##+++#+##+####++#+###+#######;  
   +++'##+++#+##+'##+'+#+##+####++#############;  
    '++##+++#+##+'##+'+#+#######++############.   
      '##+++#++++'##+'+#+#######++#####+####.     
        '+++##++++##+++#'############+####.       
          '++#++++##++##'##+############.         
            '#+++'##+++#'##+##########.           
              '+++##++''+###########.             
                '+##+++'####+#####.               
                  '#+++#+###+###.                 
                    '++++#####,                   
                      '++###.                     
                        '#.                       
                                                  
                       .++,                       
                       :,  ''                     
                         '''+'+                   
                    :'  `+ :' +:                  
               .##:'''''   ##:##                  
             .''''+`;+     ,''',    +             
           .++'++`  ##,##,''+++   ##;             
         .+#,'#`  +''+#:;++##   '+'+#.            
       .++,     ##++++#;;'+   ++'+++#,''`         
     .++,  ''',  ;+,##+''+'';#+++.##''''''##,     
   .'+,  +#'++;  :#.;+'++'    ;.    '++; :,  ''   
   +;     ++'  ,  ,##     .'';++;##'+;  ,'''###;  
   +: ;  ;##`,''';    '+; +++'#;   .# :+'++'# #;  
   #; ++'  +++'++   ''''',++     .##'  +++ ## #;  
    ; +++#.+`       .++.     # `'#,,##++   ## #;  
      ++++   ##,  ,##.  '',##+'''+'+++   ;#####;  
      + + #`  +''++#` '++++',+,;+`##'#  .##` ##;  
      :  ##,  #+.+##+++##;  :#:     '## .##` ##;  
    ,    #++  #+       `'''##+''    '######` ##;  
    ,++   +++ ###    `+''+'` '## '  '######` ##;  
    ,++   +++ ++# '` #'##+#####,##` '####;#`  #;  
   #:+#   ++# +++#'++#' +'# ### ### ;##'  ### #;  
   ##+'  '+## +++#+++#' +## ##+#### ;##  # ####;  
   +++ #`#### +++#+++ ' ### #: #### '## .# ####;  
   +++ ###'## ++##+++ .+##+ #:  ### '## :  ## #;  
   +++ ++# :# ###  +# .++   `   ### '#,#+` ##+#;  
   #++ +++#:+++#+   # .++    `  ### ,  ### +##;   
   ### +++##++  ' +'# .++  ,#: #####. ###` +##    
   #'# #++##++   #'# '.+#  ##: #, ##. ##' ,###    
   #;  #####++ `+#.  #'.#  ##:'# `##. ##' ###  ,  
   +:   .# :++ `++#  #' #  #,:######. ;#' ###'#;  
   #: +`  +:+  `++## #### '# :######;# #  #, ##;  
   #; +++ ### #+++`; #'##### :##### '##  ;#` ##;  
   +; +++  +# ++ +`  #' #### :##; # ;## .##` #    
   +: #++     ++'+`  ++,#### :##  # ;## .##`+# .  
   #; #++ ++  +++   #+++#### :##### ;## .######;  
   +;  ++ +++ +++   #+++#### :  #,  ; # .######;  
   +:  ## +++  `+ '`#+'+ ###      `   # .# +###;  
    ,  .###+#  `# '+#';  ##  ;# `##   #,## +##.   
         .#,   `# '+# .. ## ### ###   ###  +.     
          +,   `# '++ .#+## ### ###   ##+         
          ', + `# '+# .#+## ### ##   ###.         
             #+'###+#+;#+## ###,## ###.           
              '++##+ +++:## #+#### #.             
                '#.` +++ ##  :# ##                
                  `  +++###     .                 
                     +#####                       
                      '#+##                       
                        '#.                       
                                                  
                       `:::                       
                     `,:;;:::                     
                   `,,:::,,,:::                   
                 `:::::,,:,:::;:,                 
               `,,:::,,,;;;:::,,:::               
             `::;;;::::::;::,,:;;:::,             
           `::,,,,,,,,:,,:,,,,,:::::,::           
         .;:::::,,,,,:;;::::::;;,,,:,:;',         
       .;;::,:::;;,,,,,,::::::::,:::::::,,,       
     `,,,,,:::,,,:::::::::::;';:::::;,,:,,:::     
   `,,::,:::;;,:::::,,:;;:::,:::::::':;;::;':,,   
   ;;:::;;:::::::::'':::,,,::::::::,,,:::,,:::+:  
   ;;;;::::,::,:::,,,,,,:;:;;,,::,;;,:,,:,,,+++:  
   ;''';;;;::::::,,,,,,,,::::::;;:,,,,,:::'++++:  
   ;'+;;;';,:,,:;;:;;:::,,,::,:::,,,:::;+''++#+:  
   ;;;;;;';;;:::,,:,,:,,'':::,;;,,,:::+#+++++'+:  
   ;;;;;;;;;;;;,,::,:::::,,,,,,;;:::''+++++++'+:  
   ;;;;;;;;'+;;;;,,,:::,,:::,,::::++'++++'+++++:  
   ';;;+';;'+';;;+;,,;;;,::;;,::+++++++++'+++'+:  
   ;;;;++';''';;;+';;,:,,::::,+++'+++++++++++'+:  
   ;;';''';;;';;;;;;;;;:::::++++''++++++++'++'+:  
   ;;';;'';;;+;;;';;;;;;;;++++++'++++'++++'+''+:  
   ;'+;;;;;;'+;;;';;;;'';+++''++++'+++++++++'++:  
   ''+;;;;';'';;;'';+;'+;+++'+++++'++++++++''++:  
   ''';;;+';;;;;'''+';;;;+++++++++++++++++''+'+:  
   ;;';;;+;;;;+''';+'';;;++++++++++++++++++++'+:  
   ';;;;;;;;;;'+;;;;;'';;++++++++++++'+++'+++'+:  
   ';;;;;;;;';;;;;;;;;;;;++++++'++++''+++++++++:  
   ;;;;+;;;;';;;;;;;';;;;++++++'+++++++++++++++:  
   ';;;++;;;'';;;;''';;;;+++++'++++++'++++'+'++:  
   +';;;;;;;'+;;;;;';;;;'++++''+''+++'+++++''++:  
   '';;;;;;;;;;;'';;';;;'++++'+''+++++++''+'+'+:  
   '';;;;;;'';;;'+';';;;;''+''+++++++++''+'+++':  
   ;;;;';;;'+;;;+'';';;;;'++'+++++'+''+++#'++++:  
   ;;;;++';;;;;;'';;';;;;+++++++++#'''+++++++++:  
   ;;;;''';;;;;;;;;;;+;;;++'++++++#'+++++++++++:  
   ;;;'''';;;;;;;;;;;+'';+++++'+++'+++++++++'++:  
   ;;;'''';;;;++;;';;;;''++++''++++'++'++++''++:  
    :;''';';;''+';'+;;;''++++''++++'++'+'+++++.   
      ;'''';;''';;;;;;;';++++''++++++++''''+.     
        :';;;;;';';;;';;;+++++++''++''+'''.       
          :;;;;;'';;;''';++'++++'+'+''''.         
            :;;;';;;;;'+;++'++++++'+''.           
              :;;;;;+;;;;+''+++'++++.             
                :;;;+;;;;''+++++++.               
                  :;;;;;''++++++.                 
                    :;;;'+++++.                   
                      :;'''+.                     
                        ;'.                       
                                                  
                        ```                       
                      ``  ```                     
                    ``                            
                  ```` `  `   ```                 
                                ```               
              ``              `` ````             
            ````````             `  ```           
                                      ```         
                                        ```       
      `````            `` `` ` ``         ```     
    ``                                      ```   
   ,,..`          `                     `  `..',  
   ,,,,..`        `  `            `` `` `.. ;;':  
   ,.,, `..`                           ...;;;.':  
   ,.    ,,.                         .` ;;;.  '   
   ,.    ,,,,                      ...;;;.        
   ,.  ,   ,,,,..`  `` `` `  `    ..;;;.      ':  
   ,. .,,    ,,,,`                ;;;.       '':  
   ,, , .  . : ,,,,..`       ...;;;'.        :':  
   ,,,     .:    ,,,,..`   ... ;;. '.      .' '   
   ,.`      .      ,,,,..```;, .  `        ;'     
    .                ,,,,`;;;`    '        `  ::  
                       ,:;;.      `   ;   '`  ':  
   ,.                   :;;  ,;       ;   .   ':  
   ,. :         ,       :;;  ,       ;        ':  
   ,:.:       ,,,        ;; ;,      :;        ':  
   ,::       :,,      `:.;; ;.      .         :   
   ,.      .::       :,::;;.       '.             
           .:       :`, :;;;       ;              
   `                ,   :;;       '         ;  .  
   ,.                    ;;       '        ;; ':  
    .                   `;.         .;     .  ':  
    .:        ,,        :   ',      :;    ;`  ':  
   :.:       ,`,        : ; '`      .     ;   ':  
   :.      .:,          :;;;       ;.    ;    ':  
   ,.       :           :;;'       .    `;    ',  
   :.                   :;;       '     :     ',  
   :::               ,.  ;;       ;    ';    '',  
    ,:::            ,,.  ;             ,   '''.   
      ::::        ,,,                    '''.     
        :::.     :.,    ::;             `'.       
          :.     :`     :;;'         ''           
              ::        :  '        :'.           
              :::       : ;      '  `             
                : ::    :''    '''                
                  ,:::  :;;  '''.                 
                    :::::;;'''.                   
                      :::'''.                     
                        ,'.                       
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;'';::;;;                 
               `::;;;:::;;;'';:::::               
             `;;';:;;;;;;;;;'';;::::'             
           `;;'''''''';;;;;;;;;;;;;;;::           
         .;;;;;;''';;;''''';;;''':;;::;;;         
       `;;;;;::;;;;::;;;''';;;;;';;;;;::;;;       
     `;;:;;;''';;;;;;;;;;;'';;;;;;;;;;;'';;;;     
   .;;;;:;;;;;++';:;;;;'';;;;;;'':::;;;'';;;;;;   
   '';;;;;::;;;';;;::''';;;'';''''':::;;;;;;;;+:  
   '''';;;;''''';;;;;;''''''';;'':;;;:::;;;;+++:  
   '''''''''''''';;;::;'''''''';;;::;'';''+++++:  
   ''''''''::;';;;'''':;;':'';:::;;;:;;;+++++++:  
   ''+'''''';;;;;;'++''';;;::;'':::;;;+++++++++:  
   ''+++''''''';;;;:'';;;;;;''''';::++++++###++:  
   ''''+++''''++';;:::;;;;''''';;;++++++++##+++:  
   ''''''+++'''+''';;;;;;;;'';''+++++++++++++++:  
   '''''''++''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   ''''''''''+''''''+'''';+++++++#++##+++++++++:  
   ''''''''''+++''''+''''+++++++##+###+++++++++:  
   ''''+''++'''+''''++'''+++++++##+#+++##++++++:  
   '+++++++++'''''''+++''+++++++#++++++###+++++:  
   '+++''++++'''''''''+''++++++++++++++###+++++:  
   '++++'''+++''++'''''''+++++++++#++++#+++++++:  
   '''+++''''+''+++''''''+++++++++##+++++#+++#+:  
   '''''+''''''''+++''''++++++++++##+++###+###+:  
   ''''''''''+''++++''''+++++++#++++++####+###+:  
   +'''''''''+''+''+'''+'+++++##+++#++####+###+:  
   '''++'+'''+''++'''''''++++++++++#+####++###+:  
   '''++++'''+++++++''''++++#++++++######++###+:  
   '''''++''''++++++'''''++###+++++####++++###+:  
   '''''''''''++++++'''''++###++++++#++++++#+++:  
   '''''''++'''+++'+'+'''++##++++++++++##++++++:  
   ''''''+++'''''+'''+++'++++++#+++++####++++++:  
   ''''''++++'++'''''+++'++++++#++++#####++++++:  
    ;''''++++'++++'''+++'++++###+#++###+++++++.   
      ;''++++'+++++''+++'+++###+###+##++++++.     
        ;+''+''++++''+++++++#+++###+++++++.       
          ;''''''++''++++++++++####+++++.         
            ;'''''''''++'++++++####+++.           
              ;''''''''''++++++##+++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       .'''                       
                     .'''''''                     
                   .'''''''''''                   
                 .'''''''''''''''                 
               .'''''''''''''''''''               
             .'''''''''''''''''''''''             
           .'''''''''''''''''''''''''''           
         .'''''''''''''''''''+'''''''''''         
       .'''''++''''''''''''''''''''''''''''       
     .''''''''+''''''''''''''''''''''''''''''     
   .'''+''''+++++''''''''''''''''''''''''''''''   
   ++++''''''+++'''''''''''''''''''''''''''+++#+  
   +++++'''''''+'''''''''''''''''''''''''+++###+  
   ++++++''+'''''+++'''''''''''''''''''+++#####+  
   +++++++++++''''''''''''''''''''++'+++#######+  
   +++++++++++++''+++''''''''''''''+++#########+  
   +++++++++++++++'++'''''+''''''+++###########+  
   +++++++++++++++++'''''''''''+++#############+  
   +++++++++++++++++++'''''+++++###############+  
   +++++++++++++++++++++''++++#+###############+  
   +++++++++++++++++++++++++###################+  
   +++++++++++++++++++++++#####################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   +++++++++++++++++++++#######################+  
   +++++++++++++++++++++#######################+  
   +++++++++++++++++++++#######################+  
   +++++++++++++++++++++#######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++++++++++++++++++++++######################+  
   ++#+++++++++++++++++++######################+  
   ++#+++++++++++++++++++######################+  
    '##++++++++++++++++++#####################.   
      '++++++++++++++++++###################.     
        '+#+++++++++++++##################.       
          '###++++++++++################.         
            '###++++++++##############.           
              '###++++++############.             
                '###++++##########.               
                  '###+++#######.                 
                    '##++#####.                   
                      '++###.                     
                        '#.                       
                                                  
                       .+++                       
                     .#+';+++                     
                   .##+'''''+++                   
                 .#+';''';'''++++                 
               .+++'';;;;;;'''''+##               
             .+++'';;;;';::;;::;;;+##             
           .##+++''';;;;;;;;;;:;;;''+++           
         .+#+'':;;:';;;';;;;;';;''''''+++         
       .##';';;::::::::;'';'''''';';;;''+##       
     .++'''';;;;;;;;;;;'';;;;:::::''';;'''##+     
   .++';';;''';;;''';:;::'';;;:;;:::'''';'''+++   
   ##++''':::''''';::;;;:::'''::;;;;;;::;''+++#;  
   ####++''+;::'';;;;;;::;;;;';;;;;;';;;'+#+###;  
   #+####+++'';'';;;;;;;;;;;''';;;;;'+++#######;  
   #+++####+#';;'';''';'';''';'''''''##########;  
   ##++++######''';::;:;''';;;::';;+++#########;  
   ##+'++++######''';:;;;;:;'''''+++#######++##;  
   ##+++++++'####++''';;;;;;;;;+#+######++#+++#;  
   #++++++++''+####+++'';;;++##########+++++++#;  
   #+''++;'++'+++######+'''#######++###+##++++#;  
   ##+';;;;'+'+++++####+++++######+++#+##++++##;  
   ##+';;;;'+++++'+++####+#######++++#+++++++##;  
   #++';;';'+++++'''+++#########+++++#+++++++##;  
   ##+';;+;;++'++;;'+'++###+#+##++++#++++++++##;  
   ##+;;;';;;+''';;;+'++####+++++++##+++++++###;  
   ##+;;;';;;+++';;;+''+######+++++#+++++++##+#;  
   +#+;;;;;;;;++;;;;;''+#####++++++#++++#++##+#;  
   ++';;;;;;;;;;;;'';''+####++++++++++###++#++#;  
   ++';;;;;;;'';;;'';+'+###+++++##++++#++++''+#;  
   ++';;;;;;'+'';;'';+++####++++##+#+++++'''++#;  
   ++';;;;'+'##+;;;';'+#####+++++++++++'''++++#;  
   ++';;;;'+#@##';;;;''+####++#++++++'''''++++#;  
   ++';;;;'+#@@@';;;;;'+#######++++''''''+++++#;  
   ++';;;;;+#@@@#;;;;;'+#####++++'''++'++++''+#;  
   ++';;;;;;'@@@#;;;;;;+####+++'''''+++++'''++#;  
   ++';;;;;;'@@@#;;;;;;'####+''''''''++'''++++#;  
   #+'';;;;;;;@#;;;;;;;'###+'''''++''++'++++++#;  
   ###''';;;;;;;;;;;';''###+''''+++++++++++++##;  
    '###''';;;;;;;;;;;''###+''+++++++++++++###,   
      '###''';;;;;;;;;''###++++++++++++++###,     
        '###''';;;;;;;''###++'+++++++++###,       
          '###''';;;;;;'###+''+++++++###,         
            '###''';;;''###++++++++###,           
              '###''';''###++++++###,             
                '###''''###++++###,               
                  '###''###++###,                 
                    '#########,                   
                      '#####,                     
                        '#.                       
                                                  
                       `...                       
                     `.....,,                     
                   `..,,,...,,,                   
                 `,,,,,,,.,,,,..,                 
               `,,,,,,,,,,,,,,,,,,,               
             `,,,,,.,,,,,,,,,,,,,,,,.             
           `,,,,,,..,,,,,,,,,,,,,,,,,..           
         `,,,,,,..,,,,,,,,......,,,,,,,,.         
       `.....,,,,,,,,,,,,,....,,,,,,,,.....       
     `......,,,,,,.....,,,....,,,,,,....,.,,.     
   `.....,,...,,,,..,,.,,,..,,,,,,,,,..........   
   ::..,,,......,,...,,,..,.....,,,...,,......':  
   ::::,,..,.,,....,,,,..,,,,.,,,,,,,,...,,.''':  
   :;::::,,...,,,,,,,,,..,,,...,,,,,,,,,,,''''':  
   ;;;;::::.,,,,,,,,,,,,,,,,........,.,,''''''':  
   ;;;;;;;:::,,,,,,,,,,,,,,........,,,''''''''+:  
   ;;;;;;;;::::,,,,,,,,,,,,,.....,,,''''''''''',  
   ;;:;;;;;;;::::,,,..,,,,,,,,.,,,'''''''+''''':  
   ;;:::;;;;;;;::::..,....,..,,,'''''''+++''''':  
   ;;;;::;;;;;;;;::::,....,..,'''''''''+''''''':  
   ;;;;;;;::;;;;;;;::::.....'''''''+'''++'''''+:  
   ;;;;;;;;:::;;;;;;;::::,'''''''''+''''''''''+:  
   ;;;;;;;;;::::;;;;;::::'''''''''''''+'''''''+:  
   ;;;;;;;:;:;;::;;;;;:::'''''+'''''''+'''''''':  
   ;;::;;;;;;:;;;;::;;;;:'''''''''''''+''''''+':  
   ::::::;;;;:;;;:;:::;;;'''''''''''''+''''''+':  
   ;:;:;:::;::;;;:;;;:::;''''''''''''++''''''+':  
   ;;;:;;::;;:;;;:;;;::::''''''''''''+'''''''+':  
   ;;;;;;;;;;;:;;;;;;;:;;''''''''''''''''''''++:  
   ;;;;;;;;;:;:::;;:;;;;;''''''''''''''''+''+++:  
   ;;;;;;;;;::;:::;:;;;;;''''''''''''''''+''+'':  
   :;::;;;;;:;;;;:;;;;;;;'''''''''''''''''''''':  
   ::::::;;;;;::;;;;;;;;;'''''''++''''''''+'''':  
   ::::;:;;;;;::;;;;:;;;:'+'''''++''''''''+'''':  
   :::;;;:;;;;::;;;;::;;:++'''''++''''++''''''':  
   ;;:;;;:::;;;:;;;;:;;;:'''''''''''''''''+'''+:  
   :;;:;;;::::;;;;;;:;;;:'''''+''+++'+''''+'+'+:  
   ::::;;;;;;:;;;;:;;;;;;'''+++'++'''+'''''+++':  
    ::;;;;:;;;;;::::;;;;;''++'''+''''+'''''''+.   
      :;;;::;;;;::;;;;:;;'''''''''''''''''''.     
        :;;;;;:;;;;;;::::'+''''''''''''++'.       
          :;;;::;;;;;::::++'''+''''+'''+.         
            ::;;;;;;;::::'''''+'''''''.           
              :;;;;;;::;;'''''''''+'.             
                :;;;;;;;;'''''''''.               
                  :;:;;;;'''''''.                 
                    ::;;;'''''.                   
                      :;:'''.                     
                        ,'.                       
                                                  
                       .###                       
                     .+++'+##                     
                   .+++'''''+##                   
                 .#++''+++''''+++                 
               .+++''''''''++'''+++               
             .+++''+''+++'++''++''++#             
           .##'''+++''+'''+++++'''''+++           
         .++'''';;+''++'++';;+''++''''+++         
       .+++''++'##+;;+''++'##+;;+'''+'''+++       
     .+++'''++'''''+++'++''''''++'++'''+''+++     
   .##+'''';++'++';+'''++'+++'+'''++'+++;'''+##   
   ##+++''+++;;+''++++++;;'''++++++''''''''+###;  
   ####+++'';'++''+'''+'+#+''+'';+''#+'''+#####;  
   ######+++''';;++++++''+''++++++;;+''+++#####;  
   ##++####++'''++;''+'+++'++;;'+''''+#########;  
   #+++++####+++'''++''''''++'##'''+++#########;  
   ##+#++++####++'''''+++'++'''''+#########++##;  
   ##+#++#+++####+++''+'''++'''+#########+#+###;  
   ##+#++#+++++####++'''+#+''+++#########+#####;  
   ##++++#++#++++#####+''''+++########+########;  
   ##++###++#+#++++####+++++#######+######+####;  
   ##++##+###+#++#+++##############+######+####;  
   #+++##+#+++##+#+++++########################;  
   ##+#+#+#++#+#+#++#+++#############+#+###++##;  
   ##+#++##++#++##++#+++##########+##+#+#+#+###;  
   #++#++#+++#++#+#+#+++##########+##+###+#####;  
   #+++++#++#+++#+##++++##########+############;  
   ##++##+++#+###+##+#++#######+##########+####;  
   ##++##+###+##+###+#++#######+#+########+####;  
   ##++##+#+++##+#+++##+########++###+#+##+#+##;  
   ##+#+++#++#+++#++#+#+######+######+######+##;  
   ##+#++#+++#++#+++#+++#################+#####;  
   #++#++#++##++#+++#+++#######+###############;  
   ##++#+#++#+#+#++#++++#######+##+############;  
   ##++##+++#+##++##+#++####+#############+####;  
   ##++##+#+#+##+#+#+#++####+###++#############;  
   ##++##+#++###+#+++##+######+#++#############;  
   ###++++#++#+++#++#+++######+########+#######;  
    +###+++++#++#+++#+++##########+##+########,   
      '###+++#++#+###+++#######+##+##+######,     
        '###++++#+##+#++#######+##+#######,       
          '###++++##+#++####+##+########,         
            '###+++#+##+##############,           
              '###+++##+############,             
                '###++++##########,               
                  '###++########,                 
                    '#########,                   
                      '#####,                     
                        '#,                       
                                                  
                                `,`               
                              `::,::.             
                            `.,.,.,,,:`           
                          `,.```````..,,`         
                        .#,..`````````..,,`       
                      .+++##..``````````..,,`     
                    .++'+'++##..`````````..,,,`   
                  .+++';'''+++##..```````...,,,,` 
                .++'+'++;;''++####..`.`.`......,,;
              .+++'''''+++;;'+++####,,.....,,,,;''
            .+++'''''''+++++;'++++####,...,,,;''''
          .++++''''+'+++++++++''++++####.,,;''''''
        .++++''''+++++++++++++++'''+++####'';'''''
      .++++''''''+++++++++++++++#+'+++####'''''''+
    .++++''''''+++++++++++++++++++#++#####'''''+##
  .++++''''''++++++++++++++++++++++#######'''+#++#
 ++++''''''++++++++++++++++++++++#########'+#+#++#
 ##++++''''+++++++++++++++++#++###############:++#
 ####++++''++++++++++++++++++###############:  ++#
 ######++++++++++++++++++++###########++##:    ++#
 ##+#####++++''++++++++++###########++##:      +  
 ###++#####++++++++++++###############:           
 '+###++#####++++++++###############:             
 '+++###+######++++###########++##:               
 '+++++#########################:                 
 '+#+++++#################+###:                   
 '+# `+#+++##############+##:                     
 '+#   `+#+++#########+###:                       
  '+     `##+++#####+###:                         
           `+#++##+###:                           
             `++#+##:                             
              '+#+##                              
              '+#+##                              
              '+++##                              
              ;++++#                              
                ++                                
                                                  
      ,,,,;;;;;;                   ;;;;;;,,,      
      ,,,,;;;;;;                   ;;;;;;,,,      
      ,,,,;;;;;;                   ;;;;;;,,,      
   ''',,,,;;;;;;###''';;;:::;;;####;;;;;;,,,'''   
   ''',,,,;;;;;;###''';;;:::;;;####;;;;;;,,,'''   
   ''',,,,;;;;;;###''';;;:::;;;####;;;;;;,,,'''   
   +++,,,,;;;:::@@@+++''''''+++@@@@:::;;;,,,+++   
   +++,,,,;;;:::@@@+++''''''+++@@@@:::;;;,,,+++   
   +++,,,,;;;:::@@@+++''''''+++@@@@:::;;;,,,+++   
   +++,,,,;;;:::@@@+++''''''+++@@@@:::;;;,,,+++   
      ,,,,;;;:::      @@@###       :::;;;,,,      
      ,,,,;;;:::      @@@###       :::;;;,,,      
      ,,,,;;;:::      @@@###       :::;;;,,,      
      ,,,,;;;:::      @@@###       :::;;;,,,      
      ,,,,;;;:::      @@@###       :::;;;,,,      
      ,,,,;;;:::      @@@###       :::;;;,,,      
   ''',,,,;;;:::###;;;:::;;;'''####:::;;;,,,'''   
   ''',,,,;;;:::###;;;:::;;;'''####:::;;;,,,'''   
   ''',,,,;;;:::###;;;:::;;;'''####:::;;;,,,'''   
   +++,,,,;;;,,,@@@++++++'''+++@@@@,,,;;;,,,+++   
   +++,,,,;;;,,,@@@++++++'''+++@@@@,,,;;;,,,+++   
   +++,,,,;;;,,,@@@++++++'''+++@@@@,,,;;;,,,+++   
      ,,,,;;;,,,      @@@###       ,,,;;;,,,      
      ,,,,;;;,,,      @@@###       ,,,;;;,,,      
      ,,,,;;;,,,      @@@###       ,,,;;;,,,      
      ,,,,;;;,,,      ###@@@       :::;;;,,,      
      ,,,,;;;,,,      ###@@@       :::;;;,,,      
      ,,,,;;;,,,      ###@@@       :::;;;,,,      
   ''',,,,;;;,,,###;;;;;;;;;;;;####,,,;;;,,,'''   
   ''',,,,;;;,,,###;;;;;;;;;;;;####,,,;;;,,,'''   
   ''',,,,;;;,,,###;;;;;;;;;;;;####,,,;;;,,,'''   
   +++,,,,;;;,,,@@@++++++''''''@@@@:::;;;,,,+++   
   +++,,,,;;;,,,@@@++++++''''''@@@@:::;;;,,,+++   
   +++,,,,;;;,,,@@@++++++''''''@@@@:::;;;,,,+++   
   +++,,,,;;;,,,@@@++++++''''''@@@@:::;;;,,,+++   
      ,,,,;;;:::      ###@@@       :::;;;,,,      
      ,,,,;;;:::      ###@@@       :::;;;,,,      
      ,,,,;;;:::      ###@@@       :::;;;,,,      
      ,,,,;;;:::      @@@@@@       ;;;;;;,,,      
      ,,,,;;;:::      @@@@@@       ;;;;;;,,,      
      ,,,,;;;:::      @@@@@@       ;;;;;;,,,      
   ''',,,,;;;;;;###;;;::::::;;;####:::;;;,,,'''   
   ''',,,,;;;;;;###;;;::::::;;;####:::;;;,,,'''   
   ''',,,,;;;;;;###;;;::::::;;;####:::;;;,,,'''   
   +++,,,,;;;;;;@@@+++'''''''''@@@@:::;;;,,,+++   
   +++,,,,;;;;;;@@@+++'''''''''@@@@:::;;;,,,+++   
   +++,,,,;;;;;;@@@+++'''''''''@@@@:::;;;,,,+++   
      ,,,,;;;;;;                   ;;;;;;,,,      
      ,,,,;;;;;;                   ;;;;;;,,,      
      ,,,,;;;;;;                   ;;;;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
   ''',,,,;;;'''''';;;;;;::::::;;;;''';;;,,,'''   
   ''',,,,;;;'''''';;;;;;::::::;;;;''';;;,,,'''   
   ''',,,,;;;'''''';;;;;;::::::;;;;''';;;,,,'''   
   +++,,,,;;;++++++''''''''''''+++++++;;;,,,+++   
   +++,,,,;;;++++++''''''''''''+++++++;;;,,,+++   
   +++,,,,;;;++++++''''''''''''+++++++;;;,,,+++   
   +++,,,,;;;++++++''''''''''''+++++++;;;,,,+++   
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
   ''',,,,;;;'''++++++#############''';;;,,,'''   
   ''',,,,;;;'''++++++#############''';;;,,,'''   
   ''',,,,;;;'''++++++#############''';;;,,,'''   
   +++,,,,;;;+++###...,,,...:::+++++++;;;,,,+++   
   +++,,,,;;;+++###...,,,...:::+++++++;;;,,,+++   
   +++,,,,;;;+++###...,,,...:::+++++++;;;,,,+++   
      ,,,,;;;   ###...,,,,,,:::####   ;;;,,,      
      ,,,,;;;   ###...,,,,,,:::####   ;;;,,,      
      ,,,,;;;   ###...,,,,,,:::####   ;;;,,,      
      ,,,,;;;   ###,,,,,,,,,;;;####   ;;;,,,      
      ,,,,;;;   ###,,,,,,,,,;;;####   ;;;,,,      
      ,,,,;;;   ###,,,,,,,,,;;;####   ;;;,,,      
   ''',,,,;;;'''+++:::;;;:::;;;####''';;;,,,'''   
   ''',,,,;;;'''+++:::;;;:::;;;####''';;;,,,'''   
   ''',,,,;;;'''+++:::;;;:::;;;####''';;;,,,'''   
   +++,,,,;;;+++###################+++;;;,,,+++   
   +++,,,,;;;+++###################+++;;;,,,+++   
   +++,,,,;;;+++###################+++;;;,,,+++   
   +++,,,,;;;+++###################+++;;;,,,+++   
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
   ''',,,,;;;''';;;:::;;;::::::;;;;''';;;,,,'''   
   ''',,,,;;;''';;;:::;;;::::::;;;;''';;;,,,'''   
   ''',,,,;;;''';;;:::;;;::::::;;;;''';;;,,,'''   
   +++,,,,;;;++++++'''+++''''''''''+++;;;,,,+++   
   +++,,,,;;;++++++'''+++''''''''''+++;;;,,,+++   
   +++,,,,;;;++++++'''+++''''''''''+++;;;,,,+++   
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
      ,,,,;;;                         ;;;,,,      
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                        `.                        
                      .',`;'                      
                    .';;;:;;''                    
                  `:';;':;;';;',                  
                .'.`:'':::;'':..,'                
              .';:;;::;;';;'';;;:;''              
             ''';;;;'';::''::;:';;;'';            
           ,.`:,:;;:;;;;::;:';;;;;;:,`.;          
           :;'';;:;';';;;;;;:;'';;;''++'          
           :'++'';;;;';:;;'';;:;'''+#++'          
           ;+''++,.`.;;;;,;;''`.`+#+++++          
           '+'''':;+';;:;;;;:;'+++++++++          
           #+++'':'++'':::;''+#+++++####          
           #+##++;+''++'...+#+++++######          
           #++##+'+''''+;;+++++++#######          
           #+++++##++''';'++++#######+##          
           ##+++;+##+++';'#+######++#++#          
           ##++'''#+###+'+#####+##+###+#          
           #+'''''++++##++#####+#+###+##          
           #+''++'++''++######+++++++###          
           #++'+'+;'++++###+#+#++++##++#          
           #+''+'+''++++#####+#++#+#+###          
           #+++++'++++++####++#+###+++##          
           #++'++'++'+++###+++#+++#+++##          
           #+++;+++'++++###+++#+##++####          
            +##+++++++'+###+++###+####,           
              +#+++;''++##++##++####,             
                +##+++'+####++#+##,               
                  +#++++###+####,                 
                    +#####+###,                   
                      +#####,                     
                        +#,                       
                                                  
 ...                     ```                  ... 
 ...                     ```                  ... 
 ...                     ```                  ... 
    ...            ...```   ```...         ...    
    ...            ...```   ```...         ...    
    ...            ...```   ```...         ...    
       ```   ```...      ```      ```   ```       
       ```   ```...      ```      ```   ```       
       ```   ```...      ```      ```   ```       
          ...         ```...         ```          
          ...         ```...         ```          
          ...         ```...         ```          
          ``````   ...```   ```   ```   ```       
          ``````   ...```   ```   ```   ```       
          ``````   ...```   ```   ```   ```       
       ...      ...   ...      ```         ...    
       ...      ...   ...      ```         ...    
       ...      ...   ...      ```         ...    
       ```   ...   ...```   ...   ```      ```    
       ```   ...   ...```   ...   ```      ```    
       ```   ...   ...```   ...   ```      ```    
 ...   ```...```````````````         ```      ``` 
 ...   ```...```````````````         ```      ``` 
 ...   ```...```````````````         ```      ``` 
    ```      ```         ``````...````````````    
    ```      ```         ``````...````````````    
    ```      ```         ``````...````````````    
       ...      ```...```   ...      ```      ``` 
       ...      ```...```   ...      ```      ``` 
       ...      ```...```   ...      ```      ``` 
       ...      ...   ...      ```   ...   ...    
       ...      ...   ...      ```   ...   ...    
       ...      ...   ...      ```   ...   ...    
          ```   ...   ```   ...``````      ```    
          ```   ...   ```   ...``````      ```    
          ```   ...   ```   ...``````      ```    
          ``````   ``````...         ``````       
          ``````   ``````...         ``````       
          ``````   ``````...         ``````       
       ...      ...```         ...```   ```       
       ...      ...```         ...```   ```       
       ...      ...```         ...```   ```       
    ...               ```......            ...    
    ...               ```......            ...    
    ...               ```......            ...    
 ...               ...                        ... 
 ...               ...                        ... 
 ...               ...                        ... 
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                        `.                        
                      .',`;'                      
                    `';'';;:''                    
                  `:';;;;'';:'',                  
                .'.`:'';:;:'';,.,'                
              .';:'';;''';;;;'';:;''              
             ';';:;;'':;:;''';;'':;;';            
           ,.`::;';:;;'';;:;';::;'':.`.;          
           :;'';;:;';'';'';';;';;:;''++'          
           :'++'';;;;';:;;'';;:;'''+#++'          
           ;'''++,.`.;;';:;;''`.`+#+++++          
           '+'''':;+';::;';::;'+'+++++++          
           #+++'':'++'':::;''+#+++++####          
           #+##++;'''++'.`.+#+++++######          
           #++###'+''''';;+++++++#######          
           #+'+++#+++''';'++++#######+##          
           #+++'''###++';'++######+++++#          
           #++''''++###+'++####++#+#+#+#          
           #+'''''++++##++####++++#+++##          
           #+'''''++''++##+++++++++++++#          
           #'''+''''+++++#++#++++++#+++#          
           #+''+'''''++'####++++++++++##          
           #+++'''++'+++###+++#+++#++++#          
           #+''++;'+'+''###+++#+++#+++##          
           #+++'+'+'++++###+++#++#++####          
            +#++++++++'++##+++#+++++##,           
              +#+++;'''++#++#+++++##,             
                +##++''+####++#+##,               
                  +#+++'###++###,                 
                    +#++##+###,                   
                      +#####,                     
                        +#,                       
                                                  
                       `...                       
                      ``.`...                     
                    ...`````...                   
                 `,....``..```.``                 
               ```.,,...````````...               
              `...``..`..`...``.....`             
           `..`````````..```.........``           
         `.``...,,.```..,,.,,,``.``.,.,,.         
       `.....``.``.````......,.....``......       
      ```..,..```.,,``.```........`````.,,...     
   `,.`````,,,..```......`..``....,,`.```....,,   
   ;:..`..``````..```........```...```..```...':  
   ::::`...`````..`````..`...```.`.,.`..````''':  
   :::;;:........,,,...`````,,,`````...,,,''''',  
   :::,:;:,.````..,..`.....``....````...''''''',  
   :::,,,::::`````...`...`.``.``...```''''''''',  
   :::::,:::::,..``.``````,,...```,,''''''';;';,  
   :::::::::::::,.`...`..```.....`'''''''';;';;,  
   :::::::::::;::;:``.....```.``''''''''''''''':  
   ;::::::::::;;;;;;:.....```,'''''''';';;''''':  
   ;;;::::::::::;::;:::``...''''''''''';;'''''':  
   ,;;::::::::::::::;::;:`'''';'';''''''''''''',  
   ,,,::::::;:::::::;;;;;''';;;;;;';''''''''''',  
   ::,::::;;;;:::::::,;::''';'';''''''''''';;';,  
   :::,:::;;;::::::::,:::'';'''''''''''''';;';;:  
   :::,,,:::::::::;::::::'';'';'''''''''''''''':  
   :::;:,::::::;;:;;:::,:''''''''''''';'';''''',  
   :::;:::::::::;::::::,:'''''''''''''''''''';;,  
   :::::::::::::,:::;::;;''''';'''''''''''''';',  
   ::::::;::::;;::::;::;;''''''''';;''''';''''',  
   ;;::::;;:::::::::,,:;:''''''''';'''';;;''''',  
   :;::::,:::::::::::,,::'';'';'''''''';''''''':  
   :::::::::::::::;::::::;;;;;;;''''''''''''''':  
   :::;;:::::::::,;;:::::;'';'';''''';''''';;';,  
   ::::;;::::::::,,,:::::''''''''''''''''';;';;,  
   ::::,::::::;::::,:::;;''''''';;''''''''''''':  
   ::::,,:::;;;;:::::::,;'''''';;'''''''';''''',  
   ;;::::::::;:::::::::,,''''''''''''''''''''';,  
    ::::::::::;:::::;::;:';;''''';''''''''''''.   
      ,:::::::;;::::;;;;:;;'''';;;''''''';''.     
        ,;::::,;::::,,;::'''''';'''';;''';.       
          ,:::,,:::::,:::''''';;'''';'''.         
            ,:::::::::::;''';;;;''';''.           
              ,::::::::::''';'';'';;.             
                ,:::::::,'''''''''.               
                  ,:;:::;';;''''.                 
                    ::::;;;';'.                   
                      ,::'''.                     
                        ,'.                       
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
       ::::::,,,,,,      ,,,,,,,;;;;;;,,,,,,      
             ::::::::::::,,,,,,,''''''            
             ::::::::::::,,,,,,,''''''            
             ::::::::::::,,,,,,,''''''            
             ::::::::::::,,,,,,,''''''            
             ::::::::::::,,,,,,,''''''            
             ::::::::::::,,,,,,,''''''            
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
       ,,,,,,,,,,,,;;;;;;'''''''''''''::::::      
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
                   ++++++#######++++++######      
                   ++++++#######++++++######      
                   ++++++#######++++++######      
                   ++++++#######++++++######      
                   ++++++#######++++++######      
                   ++++++#######++++++######      
                   ++++++#######++++++######      
       ######++++++++++++#############            
       ######++++++++++++#############            
       ######++++++++++++#############            
       ######++++++++++++#############            
       ######++++++++++++#############            
       ######++++++++++++#############            
             ######++++++#######                  
             ######++++++#######                  
             ######++++++#######                  
             ######++++++#######                  
             ######++++++#######                  
             ######++++++#######                  
                   ++++++#######                  
                   ++++++#######                  
                   ++++++#######                  
                   ++++++#######                  
                   ++++++#######                  
                   ++++++#######                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                         ++++++                   
                         ++++++                   
                         ++++++                   
                    +++##++++++''                 
                    +++##++++++''                 
                    +++##++++++''                 
                 ''''''#####+++++                 
                 ''''''#####+++++                 
                 ''''''++++++++                   
                 ''''''++++++++                   
                 ''''''++++++++                   
                    '''++###                      
                    '''++###                      
                    '''++###                      
                         +++                      
                         +++                      
                         +++                      
                         +++                      
                         +++                      
                         +++                      
                         +++                      
                         +++                      
                 ++++++  +++   +++++              
                 ++++++  +++   +++++              
                    +++  ++++++                   
                    +++  ++++++                   
                    +++  ++++++                   
                       ++###+++                   
                       ++###+++                   
                       ++###+++                   
                                                  
                                                  
                                                  
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
         ,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;        
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                 ''''''''+++++++++                
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
             ;;;;;;;;;;;;;;;;;;;''''''            
             ;;;;;;;;;;;;;;;;;;;''''''            
             ;;;;;;;;;;;;;;;;;;;''''''            
             ;;;;;;;;;;;;;;;;;;;''''''            
             ;;;;;;;;;;;;;;;;;;;''''''            
             ;;;;;;;;;;;;;;;;;;;''''''            
       ;;;;;;      '''''''''''''''''''++++++      
       ;;;;;;      '''''''''''''''''''++++++      
       ;;;;;;      '''''''''''''''''''++++++      
       ;;;;;;      '''''''''''''''''''++++++      
       ;;;;;;      '''''''''''''''''''++++++      
       ;;;;;;      '''''''''''''''''''++++++      
;;;;;;;'''''''''''''''''''''''''......++++++++++++
;;;;;;;'''''''''''''''''''''''''......++++++++++++
;;;;;;;'''''''''''''''''''''''''......++++++++++++
;;;;;;;'''''''''''''''''''''''''......++++++++++++
;;;;;;;'''''''''''''''''''''''''......++++++++++++
;;;;;;;'''''''''''''''''''''''''......++++++++++++
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
.......''''''''''''......'''''''++++++++++++::::::
       ''''''+++++++++++++++++++++++++++++++      
       ''''''+++++++++++++++++++++++++++++++      
       ''''''+++++++++++++++++++++++++++++++      
       ''''''+++++++++++++++++++++++++++++++      
       ''''''+++++++++++++++++++++++++++++++      
       ''''''+++++++++++++++++++++++++++++++      
                   ''''''+++++++                  
                   ''''''+++++++                  
                   ''''''+++++++                  
                   ''''''+++++++                  
                   ''''''+++++++                  
                   ''''''+++++++                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                       `:::                       
                     `,,,,:::                     
                   `,,,...,,:::                   
                 `,,,.......,,:::                 
               `,,,...........,,,,,               
             `,,,..,,,,,,,..,,,,,,,::             
           `,,,....,,,,,,,,,...,,,,,,::           
         `,,,.....,,,,,,,,,,,,...,,,,,,,,         
       `,,,.....,,,..,,,,,,,,,...,,,,.,,,,,       
     `,,,...........,,,,,,,,,,,..,,,,,,,,,,,,     
   `,,,...............,,,,,,,,,,,,,,,,,,,,,,,,:   
   ';,,,,,..............,,,,,,,,,,,,,,,,,,,,::+:  
   ''';,,,,,..............,,,,,,,,,,,,,,,,::''+:  
   ;;''';,,,,,..............,,,,,,,,,,,,,,''''+:  
   ;;;;;'';,,,,,..............,,,,,,,,:,+'''''+:  
   ;;:;;;;;;;::,,,.,,,,,......,,,,,:::+++'''''+:  
   ;;:::;;;;;;;:,,,,,,,,,,,,,,,,,,::+++'''''''+:  
   ;;:::::;;;;;;;,,,,,,,,,,,,,,:::+++'''''''''+:  
   ;;:::::;;;;;;;;;,,,,,,,,,,:::+++'''''''''''+:  
   ;;;::::;;;;;;;;;;;,,:::,:::+++'''''''''''''+:  
   ;;;:;;:;;;;;;;;;;;;;:::::+++'''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;:+++'''''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;;;;;;;;;;;;;;;;;;;+''''''''''''''''''''+:  
   ;;:;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''+:  
   ;;::;;:;;;;;;;;;;;;;;;'''''''''''''''''''''+:  
   ;;::;;;;;;;;;;;;;;;;;;'''''''''''''''''''''+:  
   ;;::::;;;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;::::::;;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;:::::::;;;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;:::::::::;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;:::::::;;;;;;;;;;;++'''''''''''''''''''+:  
   ;;;;;;:::::::;;;;;;;;;++''''''''''''''''''++:  
   ;;;;;;;::::::;;;;;;;;;+''''''''''''''''''+++:  
   ;;;;;;;;;::;;;;;;;;;;;'''''''''''''''''+++++:  
    :;;;;;;;;;;;;;;;;;;;;'''''''''''''''''++++.   
      :;;;;;;;;;;;;;;;;;;'''''''''''''''''++.     
        :;;;;;;;;;;;;;;;'''''''''''''''++'.       
          :;;;;;;;;;;;;;'''''''''''''+++.         
            :;;;;;;;;;;;'''''''''''+++.           
              :;;;;;;;;;'''''''''+++.             
                :;;;;;;;'''''''+++.               
                  :;;;;;''''''++.                 
                    :;;;''''''.                   
                      :;;'''.                     
                        :'.                       
                                                  
                       `,,,                       
                     `,..`,,,                     
                   `,,.`````,,,                   
                 `,,.`...`````,,,                 
               `,,.`````...`````.,,               
             `,,.`...`````...`````.,,             
           `,,.`````...`````...`````.,,           
         `.,....``````...`````...`````.,,         
       `,,.````...``````..``````...`````,,,       
     `......``````..``````..``````...`````,,,     
   `,,.````...``````..``````..``````...`````,,,   
   ;:,,.`````...`````...`````....`````...``,,,':  
   ;;;:,,.`````...`````...`````....`````.,,,''':  
   ;:;;;:,,.`````...`````...`````....``,,,''''':  
   ;:::;;;:,,.`````...`````...`````..,,,''''''':  
   ;:::::;;;:,,.`````...`````...```,,,''''''''':  
   ;:::::::;;;:,,.`````...`````..,,,''''''''''':  
   ;;::::::::;;;:,,.`````...```,,,''''''''''''':  
   ;:::::::::::;;;:,,.`````..,,,''''''''''''''':  
   ;:::::::::::::;;;:,,.```,,,''''''''''''''''':  
   ;:::::::::::::::;;;:,,,,,''''''''''''''''''':  
   ;:::::::::::::::::;;;:,''''''''''''''''''''':  
   ;;::::::::::::::::::;;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;''''''';;''''''''''''':  
   ;::::::::::::::::::::;''''''';'''''''''''''':  
   ;;:::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'';''''''''''''''''''':  
   ;::::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'''''''''''''''''''''':  
   ;;:::::::::::::::::::;'''''''''''''''''''''':  
   ;::::::::::::::::::::;'';''''''''''''''''''':  
   ;::::::::::::::::::::;''''''''';'''''''''''':  
   ;::::::::::::::::::::;''''''';;;'''''''''''':  
   ;::::::::::::::::::::;''''';;;'''''''''''''':  
   ;;;::::::::::::::::::;''';;;'''''''''''''''':  
    :;;;::::::::::::::::;'';;'''''''''''''''''.   
      :;;;::::::::::::::;''''''''';;''''''''.     
        :;;;::::::::::::;'''''''';;'''''''.       
          :;;;::::::::::;'''''';;'''''''.         
            :;;;::::::::;'''';''''''''.           
              :;;;::::::;'';;'''''''.             
                :;;;::::;'''''''''.               
                  :;;;::;'''''''.                 
                    :;;;;'''''.                   
                      :;;'''.                     
                        :'.                       
                                                  
                        :;.                       
                      :;;:;;.                     
                    :;;::,,:;;.                   
                  :;;,,:::,,,:;;.                 
                :;;,,,,,,:::,,,:;;.               
              :::,::,,,,,,,:::,,,:::.             
            :;;:,,,,,,,:::,:::::,,,::;,           
          :;;,,,,,,,,,,,,::::,,:::,:::::.         
        ;;;::::,,::::,,:::::::,,,,,,,,,:;;.       
      :;;:,,,,::::,,::::,,::::::,,,::,,,,:;;.     
    :;;:::,,,,:::::,:::::,,,:,,:::,::,,,,:::;;.   
  :;;:,,::::,,:::,:::,,,:::,,,:::,,,:::,,,,,,:;;. 
 ;;;:,,,:,,:::::,,,,::,,,,:::,,,,,,,,,:::,,,,,;;;'
 ;;;;;:::,::::::,,,,:::::,,,:::,,,,::,,,:::,;;;'++
 ;;;;;;;::::,,,:::,,,:::,,,,,,:::,,,:::,,,;;;'''++
 ;;;;;;;;;::::,::::,,,,::,,,:,,,:::,,,::;;;''''+++
 ;;;;;;;;::::::::::,,,,,,,,,:::,,,:,,,;;;''''+++++
 ;;';;;;;;::;;:,,,::::::,,,,,,:::,,,;;;'''''++'+++
 ;;';;;;;;:::;;;:,,,::::::,,,,,,,,;::'''''''+''+++
 ;;;;;;';;;;:;;;;;:,,,:,,:::,,,,;;;''''''''++'++++
 ;;;;;;';;;;;;;:;;;;:,,,,,,:::;;;'''''+''+++++++++
 ;;;;;;;;;;;;;;;;;;;;;:::,,,:;;'''''''++++++++''++
 ;;;;;;;;';;;;;;;;;;;;;;::;::''''''''+'+++++''''++
 ;;;;;;;;';;;;;;;;;;;;;;;;;''''''''+++'+++''''++++
 :;;;;;;;;;;;;;;;;;'';;;;''''''''+++''+++'''++++++
 ;;;;;;;;;;;;;;;;;;;';;;;''+'''+++++''+++'++++''++
 ;';;;;;;;;;;;;;;;;;;;;;'''+'+++++++++++++++'''+++
 ,''';;;;;;;;;;;;;;;;;;;'''+++++++++++++++++'++++ 
   ,''';;;;;;;;;;;;;;;;;'''++++++++++++++++++++   
     ,'''';;;;;';;;;;;;;'''''++++++++++++++++     
       ,''';;;;';;;;;;;;''''''++++++''+++++       
         ,''';;;;;;;;;;;''''''++++'''++++         
           ,''';;;;;;;';''''++++++'++++           
             ,''';;;;;'''''++++++++++             
               ,''';;;;''''+'++++++               
                 ,''';;;'''''++++                 
                   ,''';'''++++                   
                     ,''''+++                     
                       ,'++                       
                                                  
                                                  
                       .'''                       
                     .'''''''                     
                   .::;''''':::                   
                 .''''::;+:::;'''                 
               `'''''''':::''''''''               
             .;::;+'''''''::;'''++';'             
           .'''''::;++'++'''::;''+''';;           
         `;''''''':::;'+''''':::;''''''':         
       .';::;''':::''::;''':::;;::;''':::''       
     .''''';:::,:''''';:::::''';;;:::::'''';'     
   `:;'+''';';::;''''';;;::;'+'''''',:;''''''''   
   +'::'''''''';::;++''''';::;''''''''::;'''''+;  
   +++'::;''''''''::;'+''''''::;''++'''':::'+++;  
   ++++';::;''+++:::::;''''':::::;''''':::+++##;  
   ++++;'+'::;':::''';::;':::''''::;':::+++####;  
   ++++;;+++':::''''';';:::''''';;;:::+#+++####;  
   ''++;;'++++'::;''''''';::;'''''''+++##+####+:  
   '''+;;+++++++'::;''''''';::;'''#++####+##+++:  
   ++'';;+++++++++;::;''''''':::++#######++++++:  
   ++++;;'++++++++';'::;'''::,+++#######+++++++:  
   ++++++'''++++++';++':::::++++######+++++++#+:  
   ++++++++'''++++';++++':+#++++####+++++++###+:  
   ++#+++++++'''++';+++++++##+++##+++++++#####+:  
   ''#+++++++;+'''';+++++####++++++++++#######+:  
   ''''++++++;+++';;+++++####+++++++++######+++;  
   ++''''+#++;+++++;'''++###++++##++++####++++#;  
   ++++''''++;+++++++''''#++++++###+++##++++++#;  
   ++++;;'''';+++++++++''++++++####+++++++++###;  
   ++++';++'';'+++++++++;+#++######++++++++####;  
   ++++''++++''''+++++++;#########+++++++++####:  
   ''++;;++++'+''''+++++;++#####++++++###++##++:  
   +''';;++++++++''''+++;++###++++++#####++++++:  
   +++';;+++#+++++'''''+;++#++++++#######++++++:  
   +++++;''+#+++++';+''';++++++########++++++++:  
   +++++++'''+++++''+++';++++++######+++++#+##+:  
   +++++++++'''+++''+++'++++#++####+++++++####+:  
   '+#+++++++''''+';++++++###+++#++++#++######+:  
   '''+++++++'++'';;+++++####++++++++########++:  
    ;'''+++++'++'+;;'++++####+++++#+++#####+++.   
      ;'''+++'++++++'''++##+++++++#+++###+++.     
        ;'''+;++++++++'''+++++++###+++#+++.       
          ;'';++++++++++'+++++#####+++++.         
            ;;''++++++++;+++#######+++.           
              ;'''++++++;++######+++.             
                ;'''++++;++####+++.               
                  ;'''++;++##+++.                 
                    ;''';+++++.                   
                      ;''+++.                     
                        :+.                       
                                                  
                       .'''                       
                     .'';:;''                     
                   .'''::;::'''                   
                 .''''+++'+++''''                 
               .'';::;''''''';::;''               
             .''+':';:+''''+':';:+'''             
           .'''''+++'''''''''''@@#'';''           
         .'';::''''++'';#@@'''+++@#;::;''         
       .''++'::''''''#@+#@@++'''+@#;::++'''       
     .'';'''+++++#@@''#@@#''+'';'#+++++'';;''     
   .'';::'''''+@++@@@@@@@@@@#';''@@@+'''';::;''   
   ++++;::+++'''++@@@@@@@@#@@+@@''''''+++::'++#;  
   ++++++++'';:''+@+#@@@@@''''++''##:;''++++###;  
   ++++++''':::::'''@@#::'::'''''+@@:::'''+####;  
   ++++++++++;:+++''+@'+''+++@'+@@#':'++##+####;  
   +++++++++++++'''''@@@@@#@@#''+''+++####+####;  
   ++++++++++++'';::::+''''''::::'''#+####+####;  
   ++++++++++++++++;+++'''''++''++###+####+####;  
   ++++++++++++++++++'';'';'''++#####+####+####;  
   ;+++++++++++++++++'+;:::'+'#+#####+####+####:  
   ::;+++++++++++++++++++'++###+#####+####+##'':  
   ::::;+++++++++++++++++++####+#####+####+'''':  
   :::;::;+++++++++++++++++####+#####+###'''#'':  
   :::@@;::;+++++++++++++++####+#####+#'''#@@'':  
   :::;@@@:::;+++++++++++++####+#####''''@@@''':  
   ::::@@@:+;::;+++++++++++####+###'''#'+@@'''':  
   ::::@@::+@::::;+++++++++####+#'''''@'''@'''':  
   :;;:@@::+@::;;::;+++++++####'''#'''@'''@'''':  
   ;;;;@@::+@@:;@:;::;+++++##'''''@'+'@'''@+''':  
   ';;;@@::+@+:;@:#@;::;+++'''#@''@@+@@'''@+''':  
   ++':;':;+@:@+@:;@@@;::'''#@@@''@'#@@''''''##;  
   +++#';;;+@:@@@:::@@#::'''@@@'''@'+'@''''+###;  
   +++###':;'::;@:::@::::''''+@'''@''''''######;  
   +++++#++;;;;;@:::@::::''''+@'''@''''########;  
   +++++++++#';;;:::@::::''''+@''''''+####+####;  
   +++++++++##+;:;;:@;:::''''#@''''#######+####;  
   ++++++++++++++';;;;;;:''''#'''+###+####+####;  
   ++++++++++++++##':;;;:''''''+#####+####+####;  
    '+++++++++++++##+';;;''''########+####+###.   
      '++++++++++++++++';''+###+#####+######.     
        '++++++++++++++##+#####+#####+####.       
          '+++++++++++++#######+########.         
            '++++++++++++++####+######.           
              '++++++++++++####+####.             
                '++++++++++#######.               
                  '++++++++#####.                 
                    '++++++###.                   
                      '++###.                     
                        '#.                       
                                                  
                       `::;                       
                     `::::;;;                     
                   `'''::;::;;;                   
                 `;:;;''';;'':;;:                 
               .::;;;;;;''';;;:::::               
             `:'';::'':;;;''';;;;;::;             
           `;;:::''':::::;::'''::;;;;::           
         .;::;;;:::''':::::::;'''';;;;:::         
       `::'';::;;;:::''':::;;;::'''::;:::::       
     `::;:::'';::;;;'';''';;;::;;;'''::;;;:::     
   .';::;'':::'';:::::;::''';;;::;'''''::::::;;   
   '''';;;:::::;''';;;:::::'''''::::::'''::;;;+:  
   '''''';;;:::;:;''';;;;;::;'''::;;;:::''';+++:  
   '+'''''';:::::;;;''';;;;;::;'''::;;;:::+++#+:  
   '+##'''''';:;;;:;;''';::''::::'';::;;#++#@@+:  
   ''+###'''''';:::::;;;'';:::;;:::'';+###@@@#+:  
   +++#####'''''';:;::;;;;'';::;;;;;+++#@@@####;  
   +';+##+##+'''''';::;;;::;'';;;;+++#@@@######:  
   '';'+#+++++#+'+''';::;;;:::''+++##@@#######+:  
   ''+#+++++++###+'''+';::;:::+++##########+'++:  
   '++#+++++++#####'''''';::+++#@@#########+'#+:  
   '++#+++++++#######'''''+++#@@@#############+:  
   ''+#+++++++++##++###''++#@@@###############+:  
   +++#++++++#++##+++###'++@@#@################;  
   '+++++++++#++##+++###'++####################:  
   ''++++++++#####++++##'++#++###############++:  
   ''''+++++++##+#+++++#++#'++#############++++:  
   '+#'''+++++##+#+++;;#+##+##############+++@+:  
   '+###'''++++#+#++++;''++############++#+##@+:  
   '+#####'''++++#++++++'++##########+++#@####+;  
   ++#######'''++++++++#'++########+++#@@@#####;  
   '+####+####'''++++++#'++######+++#@@@#@#####:  
   ''####+######''+++++#'++####+++#@@@+#######+:  
   '+####+########++'+++++###+++#@@@##+++#####+:  
   '+####+######+###'''++##+++#@@@####'++#####+:  
   ''####+#+##+#++##++'''+++#@@@######'++#####+:  
   +'####+#++#++;+##++##'++@@@########'+######+;  
   +++###+#++#++;'+#++##'++@##########+########;  
    '+++#+#+++#+;'+#++##'++@##########+#######.   
      '+++#+++##''+#+++#'++###########+#####.     
        '+++++##+++#++++++############+###.       
          '+++##++##+++++###############.         
            '+++++##++++'++###########.           
              '+++##++++'++#########.             
                '+++++++'++#######.               
                  '+#+++'++#####.                 
                    '+++'++###.                   
                      '++###.                     
                        '#.                       
                                                  
                       `,,,                       
                     .+;,,,,,                     
                   `+++;;;;;:::                   
                 .;,,,+++;+';+::;                 
               `;;;;;;''++'++'++'++               
             `;;;;;';;++',,;'':;''++'             
           `::'++++++++'':;;;::'''++;,,           
         .''''',++,++'++;:;;;';;''+';;,,,         
       `,:++';;:,,,'';,;'';++'++'++;::;;,;;       
     .,,:,,+'';;;''+'''+++++'';'';++';;;:;'':     
   `;;;:;''+++;;;''+:,',,+++''::;:'''+++++';,::   
   ;;;;'++,,:+++'';,,;;;::;++'::'''++':::++:::+:  
   ;;;;;+;:;';,++';;::;,:''++';;';;;';:,,'';+'+:  
   ;;;;;'++';;'++;;;::;'';::+++;;;;;'++;''+++++:  
   +;;+';''++';+''++++;'';'++'+++''+''++''+##++:  
   ++'+''''+++++++;..:,:+++++;,,:,,,,:'''++###+:  
   ++''#'+++++'';'+;::;::''''';;;;,,#+'++++####;  
   ++#+##+++++++;;';::;::';;++;;;;####++++##+'#;  
   ;;+#+#++'++++;;'++;::;;;+++''++####++++#++'+:  
   ';;+++;+';+++';;;'++;;';''++++######+###++++;  
   '''+++;+';+++''';'+'++'++'++############++##;  
   ''''++;''''++#''''+';';'''++###'#####+##++##;  
   ''''+++''''++#''''#+;''''+++###++###++#+++##:  
   '''++++'''++++#+'#++'''''+#####++###++#+++#':  
   '''#+++'''++++#++#+++''+++##'##+###'++#++##':  
   '++#+++#+'#+++'+++;'+'##+###'+++###+++#+##'':  
   '+#+'++;+++++;'+++;;;+######'+++####+#++##'+:  
   ''++;;+;+++++;'+++'';+##++###++##########+++:  
   +++;;;++++++++;++++';++''+##############''++:  
   +++';;++++'+++;+++++++''++########+####+'+++;  
   +++'''+#'+;;+++'+''+##+++####''#+++#++###+##;  
   ;+++'''+';';'++'''''+++++####'##'+'#++######;  
   ;;;+'''+';';;++++'+++++++######+++'#++######;  
   ;;;##''+';'';+'++#+++;+++#+'###'+++#####++##;  
   ;''+###++''''+'++#++';++##+'###'++++##+#+++#;  
   '''+;'##+''''+'+++;+;;++#+''###'++++''+++++#;  
   '''#;;+'++'''''+++;;';+++''++##+++##'+++++##:  
   '''#;;+;'+'##'#++++'''+++++++##++##'++++++#+:  
    ;''+;'''+++##;++++'''++#++++###+##'++++###.   
      ;+++'''+++';;'+++''++##++########++###.     
        '##+'+++;;''+'+++#######''########.       
          '##++++;''+'+++##'##'#'++###+#.         
            '++++''''''++'''#+'++++###.           
              '+'+''''''+''+#++++###.             
                ;+++''''+''+#++###.               
                  '+#+'+#+++####.                 
                    '+#+#++++#.                   
                      '#++++.                     
                        ;+.                       
                                                  
                       ,###                       
                     ,#######                     
                   ,@@@@@#@@###                   
                 ,##@@@##++#@@###                 
               ,###########++######               
             ,########@##############             
           ,##@@@@@@###@@######@@#@@#@@           
         .######++####++#@@###++#++++####         
       ,##@@@###########++#@@#@@###########       
     ,###+++@@############++###########@####@     
   ,#######+################@@@@@#@@#@@#+##+###   
   @@######################@@#++##############@;  
   @@@@######@@@##############@@#@##########@@@;  
   @@@@@@###########@@#@@###@@@++#@@######@@@#@;  
   @@@@@@@@###@###@@#++####@@####++#@###@@@@@#@;  
   @@@@@@@@@@###@@####################@@@@@@@@@;  
   @@@##@@@@@@@###########@##@######@@@@@@@##@@;  
   @@@####@@@@@@@###########+#####@@@@#@@@@#@@@;  
   @@@####@@@@@@@@@#############@@@@@@#@@@@@@@@;  
   @@@###@@@@@@@#@@@##########@@@@@@@#@@@@@@@@@;  
   @@@#@@@@@@@###@@@#@@#####@@@@@@@@##@@@@@@@@@;  
   @@@@@@@@@@+###@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@;  
   @@@@@@@@@@+###@@@@@#@@@@@@@@#@@@##@@@@@@@@@@;  
   @@@@@@@@@@@@##@@@@###@@@@@###@@@#@@@@@@@@@@@;  
   @@@@@@#@@@@@@@@@@@###@@@@###@@@@@@@@@#@@@#@@;  
   @@@@@@###@@@@@@@@@@##@@@@###@@@@@@@@##@###@@;  
   @@@##@@####@@@@@@#@@@@@@@@@@@@@@@@@@#@@##@@@;  
   @@@###@####@@@@@@#@@@@@@@@@@@@@##@@@@@@@@@@@;  
   @@@@@#@@###@@@#@@@@@@@@@@@@@@####@@@@@@@@@@@;  
   @@@@@@@@###@@@##@@@@@@@@@@@@###@@@@@@@@@@@@@;  
   @@@@@@@@@##@@@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@;  
   @@@@@@@@@@#@@@#@@#@@@@@@@@@@@@@#@@@@@@@@##@@;  
   @##@@@@@@@#@@@@@@###@@@@@@@@@@@@#@@@@@@@##@@;  
   @####@@@@@@@@@@@@####@@@@@#@@@@@#@@@@@@@@@@@;  
   @@@###@@@@@@@@@@@####@@@@##@@@@@@@@#@@@@@@@@;  
   @@@###@@@@@@@@@@@#@#@@@@@#@@@@@@@@@#@@@@@@@@;  
   @@@@##@@@@@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@;  
   @@@@##@@##@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@;  
    +@@@#@@##@@@##@@@#@@@@@@@@@@@@@@@@#@@@@@@@,   
      +@@@@@@@@@##@@@+#@@@@@@@@@@@@@@@@@@@@@,     
        +@@@@@@@###@@@##@@@@@##@@@@@@@@@@@,       
          +@@@@@####@@@@@@@###@@@@@@@@@@,         
            +@@@####@@@@@@@##@@@@@@@@@,           
              +@@@###@@@@@@@@@@@@@@@,             
                +@@##@@@@@@@@@@@@@,               
                  +@@@@@@@@@@@@@,                 
                    +@@@@@@@@@,                   
                      +@@@@@,                     
                        +@,                       
                                                  
                        ::.                       
                      ::::::.                     
                    ....:::;;;,                   
                  ,......`;;;;;;                  
                  ,';..`````;;++                  
                  ,''''`````++++                  
                  ,''''''`++++++                  
                  ,''''''+++++++                  
                  .:;''''+++++;;                  
                  .:::;''+++';;;                  
                  .:::,,;+''';;;                  
                  .:::,,,'''';;;                  
                  :+::,,,'''';'#                  
                  :+++,,,''''###                  
                  :+++##,''#####                  
                  :+++##########                  
                  :+++##########                  
                  :+++##########                  
                  :+++#####++###                  
                  :+++###++++###                  
                  :+++###++++###                  
                  :+++###++++###                  
                  :+++###++++###                  
                  :+++###++++###                  
                  :+++###++++###                  
                  :''+###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :'''###++++###                  
                  :+''###++++###                  
                  :+++###++++###                  
                  :+++###++#####                  
                  :+++##########                  
                  :+++##########                  
                  :''+##########                  
                  :'''#####++###                  
                  :'''###++++###                  
                  :+''###++++###                  
                  :+++###++++###                  
                  :+++###++#####                  
                  :+++##########                  
                  `+++##########                  
                    `+########                    
                      `#####                      
                        `#                        
                                                  
                        '#.                       
                      '+#.##.                     
                    '+@++`####.                   
                  '+#   ###  ,##.                 
                '+@#;`##; #++ ####.               
              '+#  .###     ++#  ,##.             
            '+#  `##;`##; #+' #++  ,##.           
          '##  `##;     #+#     ##+  :##.         
        '## #+@#;     #++`##;     ##@+:,##.       
      '##  `#+#++   #+'    `##;  `#+#++  .+#.     
    '#@`####;   #+#++        `####:   #+#++,##.   
   ####`####:   #+##+        `###+:   #+###,###   
   ######  `###++   #++    `##:  `####+  ,#####   
   ######## #+##:     +++`##:     ####;,#####'#   
   ## #######  `##:    `###     #++  :######' #   
   ##;#, @#####  `#+:`##: ##+ #++  ,#####' @'@#   
   ####'  #####+#  .##+     ###  ,######,  @#@#   
   ## ###;#: @####@+;`##: #++ +######' #,###' #   
   ## #,+##'   @#####  `###  ,#####'   @##,@' #   
   ## #,  ###;   ####+##+`#######+   ##@:  @' #   
   ##:#,  #:+##; #.######,#####'@' ##@,#,  @'+#   
   ####;  #:  +###.  ########'  @###,  #,  @###   
   ## ###:#:    +##; #;####'@. ###,    #,+##+ #   
   ## @,###'    ,#+###; ### ###@#;     @##;@' #   
   ## #,  ###, `:#:,###;######, @;   +##;  @' #   
   ## #,  #:###;,#:,,########.  @' +##;#,  @' #   
   ## #,  #:  ####:,:#+;#@# #.  @###;  #,  @' #   
   ## #,  #:  ..###;'#+'###.#. +##;    #,  @' #   
   @# #,  #:  ,',#####+,###,#####'     @,  @' @   
   @@##,  #:  ,..#:;###'######+`@'     @,  @##@   
   ##+##; #:   .,#:'#########+''#'     @, ###.#   
   ## #####:    ,#:''@''###+#+''@'     @##@#' #   
   ## #, +##;   ,#:,:#+'###'#+'`@'    ###, @' #   
   ## #,  ####;,,#';:#++###'#+' @;  ####,  @' #   
   ####,  #: +++'#',,#+'###+#+; @;###, @,  @@##   
   #####, #:  `+##+,:#+'###+#+  @##,   @, ##@:#   
   ## #####:  ,::###'#+;###:#'###'     #####' #   
   ##'#, ###,   .#'####;###,@##,@;    ###; @'@#   
    '##+  ####,  #,+:#####@#@'  @;  ####,  ##@.   
      '##+#: ###,#. .#;+#@@+#.  @;###; @,@#@.     
        '##+   ###:  #; ### #.  @##;   @#@.       
          '##'   ###,#; ### #.###+   @#@.         
            '##' #.###' ### @##;@' @#@.           
              '###.  @#######;  @##@.             
                '##' @;####;#. @#@.               
                  '###; ### #@#@.                 
                    '##'###@#@.                   
                      '####@.                     
                        '@.                       
                                                  
                       `::;                       
                     `::::;;;                     
                   `'''::;::;;;                   
                 `;:;;''';;'':;;:                 
               .::;;;;;;''';;;:::::               
              ''';::'':;;;''';;;;;::;             
              '''''':::::;::'''::;;;;::           
              '''''''':::::::;'''';;;;:::         
              '''''''''':::;;;::'''::;:::::       
              ''''++'''''';;;::;;;'''::;;;:::     
              +'''++'''''''';;;::;'''''::::::;;   
              +++'''''''''''''''::::::'''::;;;+:  
              '++++'''''''''''''::;;;:::''';+++:  
              '''++++'''''''''''''::;;;:::+++++:  
              '''''++++''+''''''''';::;;+++++++:  
              '''+'''++++++'''''''''';+++++++++:  
              '''+'''''++++'''''''''++++++++++#;  
              +''''''''''++++'''''''++++++++###:  
              +++''''''''''++++'''''++++++###++:  
             ::;+++''''''''''++++'''+#++####+++:  
           :;;;::;+++''''''''++++++'+#####+++++:  
         '';::;;;::;+++'''''''+''++++###+#+++++:  
       :::;'';::;;;:;'+++''''''''''++++++++++++:  
     ::;;;::;'';::;::;;'+++'+'''''''++++++++++#;  
   '''::;'':::;'';:;:::::;+++'''''''++++++++###:  
   ''''';;;::::;''';;;:;;::;+++'''''+++##+###++:  
   ''''''';;;:::::;'';;;;;;::;+++'''+++####++++:  
   ''''''''';:::;;;;;'';;:;''::;+++'++###++++++:  
   '''''''+''';;;:::''''';:::::::;+++##++++++++:  
   '''''''++''''::::::;;;'';::;;;:;;+++++#+++++;  
   ++''''''''''''';;;;;;::;'';::;;;++++++#+++##;  
   '+++''''''''''''';::;;;::;'';;++++++++++####:  
   '''+++'''''''''''++;::;;;::;+##++++++++###++:  
   '''''+++''''''''''''';::::+++++++++++###++++:  
   '''''''+++'''''++'''''':++++++++++####++++++:  
   '''+'''''+++''''+'''''++++++++++####++++++++:  
   +''''''''''+++''''''''++++++++####+#++++++++;  
   +++''''''''''+++''''''++++++####++++++++++##;  
    '+++''''''''+'+++''''+++++###++++++++++###.   
      '+++''''''''''+++''++####++++++++++###.     
        '+++''''''''''++++###++++++++++###.       
          '+++''''''''''+##++++++++++###.         
            '+++'''''''''+++#++++++###.           
              '+++'''''''+++#++++###.             
                '+++'''''++++++###.               
                  '+#+'''++++###.                 
                    '+++'++###.                   
                      '++###.                     
                        '#.                       
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                         ,                        
                       +++#,                      
                     ++''''+#,                    
                   +++'''''''++,                  
                 ++''''''';''''++,                
               +++'''';;'';;'''''++,              
             ++''''';;'';;''';;''''++,            
           ++''''';';;'''''''''''''''++,          
          ##+'';;'';'''';;''''''''''''###         
          ###++''''''''''''''';;''''++###         
          #+##+++'''''''''''''''''+####+#         
          #+++###++''''''''';;''++####++#         
          #+++++###++'''''''''+####++##+#         
          #+++++++##+++'''''+####+++#####         
          ##++++#+++####+'++####++######@         
          ####+++##+++##########+########         
          #++##;.:++++++###+##+##########         
          #++++;;'+#++++###++#+##########         
          #++++;;'+#++++######+##########         
          #++++;'++##+++#############++##         
          #++'+''++#+##+#################         
          #++++''++++++##########+###++##         
          #+++'+++++++++#########+#######         
          #+++++++++++++#####++####++####         
          #+++++++++++++####+#++###++#++#         
          #+++++++++++++###+##+##++####+#         
          #+++++++++++++#####++######+##@         
          ;##+++++++++++###+++##########`         
            ;##+++++++++#######+######`           
              ;##+++++++####+#######`             
                ;##+++++###++#####`               
                  ;##+++##+#####`                 
                    ;##+######`                   
                      ;#####`                     
                        ;#`                       
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;,,::::::               
             `;;;;:;;;;;;;;;';;;::::'             
           `;;,`.;;;``:;;;;;;;;;;;;;;::           
         .;;;;;;,,';;:`.```;;;`.,:;;::;;;         
       `;;;;;::;;;;::;;:,,.;;;;;,;;;;;::;;;       
     `;;:;;;;;;;;;;;;;;;;:,,;;;;;;;;;;;:';;;;     
   .;;;;:;;;;;;;:,:;;;;;;;;;;;;.`:::;;:.,:;;;;;   
   '';;;;;.`.;;;;;;::.`.```'';,,.`.:::;;;;;;;;+:  
   '''';;;;;,:;;;;;;;;',,,`,:;;:,:;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;,,,:::;;;::;'';''+++++:  
   ''''''''::;;;;;;```:;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;:,,``..`,::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:,,;,,,,,;;;::;::+++++++''++:  
   '''''';''''++';;:::;;;,,,::;;;;++++++++''+++:  
   '''''';'''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   '''''''''':;'''''+'''';++++++++++''+++++++++:  
   '''''''''':;;''''+''''++++++'+++''++++'+++++:  
   '''','',:''';'''':;'''++++++'+++'+++;;'+++++:  
   '''',,::::''''''';;;''++++++++++++++;''+++++:  
   ';;''':;;:''''''''''''++++++++++++++'''+++++:  
   ';:;+''';;;''+:'''''''++++++++;'++++'+++++++:  
   ''';++'''';''+,::'''''+++++++;;''+++++++++++:  
   '''''+'''''''';::''''++++++++''''+++++++++++:  
   '''''''''''''+;;;''''++++++''''+++;'++++++++:  
   +'''''''''',;+'';'''+'++++';'++++';'''++++++:  
   '''''';''':,,:''''''''++++'++++++''''+++++++:  
   '''''';''':;;:'''''''+++++++++++'''+++''++++:  
   '''''''''''';;;'''''''++++++++++'+++++''''++:  
   '''''''''''++';'''''''++''++++++++++++'''+++:  
   '''':;''''''''''''''''++'+++++++++++'''+++++:  
   ''''::;'''''''''''''''++++++'+++++';''++++++:  
   '''''';''''::'':;'''''+++++++++++'''''++++++:  
    ;''''''''';:,:::;''''+++++++++++++''++++++.   
      ;''+''''''::;;;''''+++++++++++++++++++.     
        ;+'''''';;;;;;''++++++++++++++++++.       
          ;'''''';'';;;'++++++''++++++++.         
            ;''''''''''''++++''+++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                       .;;;                       
                     `;;:,;;;                     
                   `;;,..,,,;;;                   
                 `;;,......,,,;;;                 
               `;;,...........,,;;;               
             `;;,..,..,..,.....,,,;;;             
           `;;,.....,,,,,........,,,;;;           
         `;;,.....,,,,,,,,,......,,,,,;;;         
       `;;,.....,,,..,,,,,,,,....,,..,,,:;;       
     `;;,...........,,,,,,,,,,,..,,,,,,,,,:::     
   `;;,...............,,,,,,,,,,,,,,,,,,,,,,:;;   
   +';;,................,,,,,,,,,,,,,,,,,,,;;;+:  
   +++';;:,,..............,,,,,,,,,,,,,,,;;;+++:  
   '''++';;,,,..............,,,,,,,,,,,;;;+++'+:  
   '';;'++';;,,,..............,,,,,,,;;;+++'''+:  
   '';;;;'''';;:,,,,,,,,,,......:::;;;+++'''''+:  
   '';;;;;;'''';;:,::::,,:,,,,,,,;;;++++''''''+:  
   '';;;;;;;;'''';;:::::::;::::;;;++++''''''''+:  
   ';;;;;;;;;;;'''';;;;;:::;;;;;++++''''''''''+:  
   ';:;;;;;;;;;;;'''';;;;;:;;;++++''''''''''''+:  
   ';:;;;;;:;;;;;;;'''';;;;;++++''''''''''''''+:  
   ';:;;;;::::;;;;;;;'''';++++''''''''''''''''+:  
   '';;;;;:;;:;;;;;;;;;''+++''''''''''''''''''+:  
   ';;;;;;;;;;;;;;;;;;;;'++'''''''''''''''''''+:  
   ';:;;;;;;;;;;;;;;;;;;'++'''''''''''''''''''+:  
   ';:;;;;;;;;;;;;;;;;;;'++''''''''''''''''''++:  
   ';::;;;;;;;;;;;;;;;;;'++''''''''''''''''''++:  
   ';::;;;;;;;;;;;;;;;;;'++'''''''''''''''''''+:  
   ';::;;:;;;;;;;;;;;;;;'++'''''''''''''''''''+:  
   ';::;;:;;;;;;;;;;;;;;'++'''''''''''''''''''+:  
   ';::::::;;;;;;;;;;;;;'++''''''''''''''''''++:  
   ';::::::;;:;;;;;;;;;;'++'''''''''''''''''+++:  
   ';:::::::::::;;;;;;;;'++''''''''''''''''++++:  
   ';:::::::::::::;;;;;;'++''''''''''''''''++++:  
   ';:::::::::::::::;;;;'++''''''''''''''++++++:  
   ';::;:::::::::::::;;;'++''''''''''''''++++++:  
   ';:;;;::::::::::::;;;'++'''''''''''''+++++++:  
   ''';;;:::::::::;::;;;'++''''''''''''++++++++:  
    ;''';;;:::;:;;;;;;;;'++''''''''''''+++++++.   
      ;''';;;:;;;;;;;;';'++''''''''''''+++++.     
        ;''';;;;;;;;'''''++''''''''''''+++.       
          ;''';;;;'''''''++''''''''''+++.         
            ;''';''''''''++''''''''+++.           
              ;''''''''''++''''''+++.             
                ;''''''''++''''+++.               
                  ;'''''+++''+++.                 
                    ;'''++++++.                   
                      ;''+++.                     
                        ;+.                       
       ;;;+++                         :::'''      
       ;;;+++                         :::'''      
       ;;;+++                         :::'''      
   ;;;;;;;+++;;;;;;;;;;;;::::::::::;;;;;;''';;;   
   ;;;;;;;+++;;;;;;;;;;;;::::::::::;;;;;;''';;;   
   ;;;;;;;+++;;;;;;;;;;;;::::::::::;;;;;;''';;;   
   ;;;;;;;+++;;;;;;;;;;;;::::::::::;;;;;;''';;;   
   '''';;;+++'''''''''''''''''''++++++'''''''''   
   '''';;;+++'''''''''''''''''''++++++'''''''''   
   '''';;;+++'''''''''''''''''''++++++'''''''''   
       ++++++                         ++++++      
       ++++++                         ++++++      
       ++++++                         ++++++      
       ;;;+++                         ;;;'''      
       ;;;+++                         ;;;'''      
       ;;;+++                         ;;;'''      
   ;;;;'''''':::::::::;;;;;;;;;;''':::;;;+++;;;   
   ;;;;'''''':::::::::;;;;;;;;;;''':::;;;+++;;;   
   ;;;;'''''':::::::::;;;;;;;;;;''':::;;;+++;;;   
   '''':::'''+++++++++''''''''''++++++:::''''''   
   '''':::'''+++++++++''''''''''++++++:::''''''   
   '''':::'''+++++++++''''''''''++++++:::''''''   
       ++++++                         ++++++      
       ++++++                         ++++++      
       ++++++                         ++++++      
       :::'''                         :::'''      
       :::'''                         :::'''      
       :::'''                         :::'''      
   ;;;;;;;+++::::::;;;;;;;;;;;;;;;;;;;:::+++;;;   
   ;;;;;;;+++::::::;;;;;;;;;;;;;;;;;;;:::+++;;;   
   ;;;;;;;+++::::::;;;;;;;;;;;;;;;;;;;:::+++;;;   
   ;;;;;;;+++::::::;;;;;;;;;;;;;;;;;;;:::+++;;;   
   '''';;;'''+++++++++'''''''''''''''';;;''''''   
   '''';;;'''+++++++++'''''''''''''''';;;''''''   
   '''';;;'''+++++++++'''''''''''''''';;;''''''   
       '''+++                         ++++++      
       '''+++                         ++++++      
       '''+++                         ++++++      
       :::'''                         ;;;+++      
       :::'''                         ;;;+++      
       :::'''                         ;;;+++      
   ;;;;'''''';;;::::::;;;:::::::;;;;;;;;;+++;;;   
   ;;;;'''''';;;::::::;;;:::::::;;;;;;;;;+++;;;   
   ;;;;'''''';;;::::::;;;:::::::;;;;;;;;;+++;;;   
   '''';;;+++++++++'''+++''''''''''+++:::''''''   
   '''';;;+++++++++'''+++''''''''''+++:::''''''   
   '''';;;+++++++++'''+++''''''''''+++:::''''''   
       '''+++                         ++++++      
       '''+++                         ++++++      
       '''+++                         ++++++      
                                                  
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
    ''',,,;;;'''''';;;;;;::::::;;;''';;;,,,'''    
    ''',,,;;;'''''';;;;;;::::::;;;''';;;,,,'''    
    ''',,,;;;'''''';;;;;;::::::;;;''';;;,,,'''    
    +++,,,;;;++++++''''''''''''++++++;;;,,,+++    
    +++,,,;;;++++++''''''''''''++++++;;;,,,+++    
    +++,,,;;;++++++''''''''''''++++++;;;,,,+++    
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
    ''',,,;;;''';;;:::;;;;;;;;;'''''';;;,,,'''    
    ''',,,;;;''';;;:::;;;;;;;;;'''''';;;,,,'''    
    ''',,,;;;''';;;:::;;;;;;;;;'''''';;;,,,'''    
    +++,,,;;;+++++++++'''''''''++++++;;;,,,+++    
    +++,,,;;;+++++++++'''''''''++++++;;;,,,+++    
    +++,,,;;;+++++++++'''''''''++++++;;;,,,+++    
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
    ''',,,;;;''';;;;;;;;;;;;;;;;;;''';;;,,,'''    
    ''',,,;;;''';;;;;;;;;;;;;;;;;;''';;;,,,'''    
    ''',,,;;;''';;;;;;;;;;;;;;;;;;''';;;,,,'''    
    +++,,,;;;+++++++++''''''''''''+++;;;,,,+++    
    +++,,,;;;+++++++++''''''''''''+++;;;,,,+++    
    +++,,,;;;+++++++++''''''''''''+++;;;,,,+++    
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
    ''',,,;;;''';;;:::;;;::::::;;;''';;;,,,'''    
    ''',,,;;;''';;;:::;;;::::::;;;''';;;,,,'''    
    ''',,,;;;''';;;:::;;;::::::;;;''';;;,,,'''    
    +++,,,;;;++++++'''+++'''''''''+++;;;,,,+++    
    +++,,,;;;++++++'''+++'''''''''+++;;;,,,+++    
    +++,,,;;;++++++'''+++'''''''''+++;;;,,,+++    
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
       ,,,;;;                        ;;;,,,       
                                                  
                                                  
                       `;;;                       
                     .';;''''                     
                   `''':::,,,,,                   
                 `,::,'::;;::;::;                 
               .;;:;;''';;;;;;'';;;               
              ';;;;';;,''';''':,,;:,:             
              ''+;;;:::::''';;;:::,,:;;           
              ''++'''';;:,;'';;;:;;;::'''         
              ''+';;;''';;;'';'':;;;;:'''''       
              +++;;;;'''';'''';'':''''''';;;:     
              ++;';;'''+;:,:'':,:,::'::'';:;:,,   
              ++'''''+'';;;;;';;;;;;;;'''::;;;':  
              '++''''+';';;'+'';:;::;;;'''';++':  
              '';''''++;';;'+++;;;::;;;;;;#++++:  
              ;;;++''++;'';''++++'''''''###++++:  
              ';'++++++'''''''++++;'''+####++++:  
              '''';;+++''''''+++;';;'++++####+#;  
              '''+';;;++''''++++;;''''+++######;  
              '''+''';'+'++'++++++''''+++#++##+:  
            `'';''+''''+++++;++;++'''+++##+++#+:  
          `'';;,,:+++'''+++;;;''++''+++##++++++:  
        `''''';;;,,:+++'+++;'''''+++++++++++++#;  
       :';;'';:;;;:;;'++'+++''''''++++#++++++##;  
     '':::::;'';'';'':,:';;+''''''+++##++++++#+:  
   ';;;:::::::'';;'''';:::;'+''''''+++'+++++##+;  
   +'';;:;;;''';:,,;'';,,,,:+++''''++++++++####;  
   +';;;;;;;;''':::;;''',,:::'+'+'+++##+##+++#+:  
   ++';;;;;';;;''':,:;';;;;;;;:;+++++++##++++++:  
   ++''';'+''';'';;;,,;''''''''::;+++++++++##++:  
   +++''''+';;:;''';;;'''',;',';,'''++++++##+++:  
   +++''''++;';;;;';;''',,,;;:,,,,,+++++++#++++:  
   ++++''++++';;;''''';;;;;;::;;;+'++++++##++++;  
   +''+++++++';;;'''::;'';;;'''+##+++++++#'+++#;  
   ;''''++;++++;;+'+';,:''''''++###+##++##'+++#;  
   ;;;'''+;;;+++'+'''''';;''++++###+#+####++++#;  
   +';'''+'';''+''+'++'+++#+++++###+++####++++#;  
   ''';''++';''++'++++';+##++++##+'++'+#+#++###:  
   ''+;''+++'';;+++++;;;;##++++#++'++'+++#+###+:  
    ;+'''''+++';;+++;;;;'###+###+++++++++#+++#.   
      ;''''''+'''+++;'';'#######++##++#+++++.     
        ;'++'++'''++;''''####++##########+.       
          '++'+++'++'''''##+++++#++##++#.         
            ;;''+'++''''+##+++++++++++.           
              ;''++++'''+#+++++++#++.             
                ;++++++'++++++++##.               
                  ;+;'++++#+++++.                 
                    :;'++###++.                   
                      ;+'++#.                     
                        ;+.                       
                           :                      
                         ;;;;,                    
                       ';;;;;;;:                  
                     ''';;,,,;:,,.                
                    +''',,,,:;:,,,,.              
                    ++',,,,:::;,,,,,;,            
                    +++'':::::,,,,:;;;;:          
                    :'+'';;;;;;;:::::';;;:        
                    ;:;'';;++;;;;;:::::'++        
                    ::;''';++++;;:::::'+++        
                    ';;''+++++++:::;';;+++        
                    ';;''++''+++::;'';;+++        
                    ';;;;'+''',;::;'''++++        
                    ++;;;'''''::;:;';+'+++        
                    +++';'''''::;;;;;''+++        
                    +++++;''''';;;;;;''+++        
                    +++++;;;'''';;;'+''+++        
                    ++;:+;;;:;'';;'++''+++        
                    ++;::;;:::;';;'++''+++        
                    ++;::;;::;;;+'''+++++;        
                    +++':;;:::;;+''++'+';;        
                    +++'''':::::+''++;;;;;        
                    +'''''''':::;;+++;;;;'        
                    +'''''''''::;;'++;;'''        
                    +'''''''''::;;'++'''''        
                    ;;''''''''::'''++'''''        
                    ;#+#''''''::''+++'''''        
                    ++++'''''';;''+++++'''        
                    ++#'''++'';;;;+++++''+        
                   #++'''++#'';;;;++++++++        
                  ;+++'''++'''++;;++++++++        
                  +++'''#++'''++''++++++'         
                 #++'''+++'', '+''++++'           
                :+++'''++'''    ;'++'             
                +++'''#++''       ;               
               #++'''+++'':                       
              ,+++'''+++'+                        
              ''+'''+++''                         
             +''''''++'':                         
            .'''''''+'''                          
            ;;;''''''''                           
           ;;;;;;''''';                           
          `;;;;;;;''''                            
          ;;;;;;;;;''                             
         ;;;;;;;;;;;;                             
         .;;;;;;;;;;                              
          .;;;;;;;;`                              
           `;;;;;;;                               
             ;;;;;                                
               :;`                                
                                                  
                        .;                        
                      ,';;::                      
                    .::;;;;:::                    
                  .:::;;;;;;;:::                  
                .;;;:::;;;;''';:::                
              .:::;;;;;;;;;;;;;;;;;;              
            .:;;;;;;;;;;;;;;'';;;;;;;;            
          ,;::::;;;;;;;;;;;;;;;::;;::;;:          
        .;;;;;:;'';;;;;;;;;;;;;;:;;:;;;:::        
      .;;;:::;;;;:::;;;;:::;;;;;;;;;;;;;;:::      
    .;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;'''    
  .:::;;;;;;;;;;;;;;;;;;;;;;;;;'''::::;;;;;;;;;;  
 ';;;:::;;;;;;;::::;;;;;;;;;;;;;;;;;::::;;;:::;;;+
 ''';;;:::;;;;;;;::;;;;';;::'';;;;;;;;::::;;;;;+++
 ''''';;;:::;;;;;;;;;''';;::::;;;;;::;;;::::;++++:
   ''''';;;:;;;;;;;::;;;;;;;::::;;;::::;'':++++:  
     ''''';;;;;;;::::::;:::;;;::::;;;::::++++:    
       ''''';;;;;;;:::;;;::::;;;::::;;;++++:      
         ''''';;;;;;;;;;;;;:::;;;;:::++++:        
           ''++;;;:'';;;;;;;:;;;;::++++,          
             '+'';:::;;;;;;;:::;;++++:            
               '''';:;;;;;;;;;:++++,              
                 ''''';;;;::;++++:                
                   ''''';;;++++:                  
                     ''''++++:                    
                       ''++:                      
                         :                        
                                                  
                        .:                        
                      .:::::                      
                    ,'':;;;;''                    
                  ,;;;''';;;;:::                  
                .;;;;;;;''';;;;:::                
              ,::::'';;;;;''';;;;;;;              
            .:''';::::::;;::''';::;;;;            
          ,;::::''';::::::::::''';;'';;;          
        .::;;;::::''';:::::::;;;'''';::;;;        
      ,'';:::;;;::::''';:::;;;;:::'''::::;::      
    .:::''';:::;;;;'''''';;;;:::;;;;''';:::;;;    
  .;;;;:::''';::::::;;;;''';;;;:::;;;'''':::::::  
 ;::;'';::::''';::;:::::::''';;;':::''';'''::::::+
 '';;;;:::::;;''';;;;::;:::;''''';:::;:::;'''::+++
 ''''';;;:::;;::''';;;;;;;;::;''';:::;;;:::;'++++,
   ''''':::::::;;;''';;;;;;;;::;''';:::;;;:++++,  
     '''';:::;;;;;;;''';:::''';:::''';:::++++,    
       '''';;;;:::;'''''';::;:::::::'''++++,      
         ;''';::::::;;;;''';:::;;;:::++++,        
           '''';::;::;;;;;''';:::;;++++,          
             '''';;;:;;;;:::''';:++++:            
               ;''';:::;;;::::'++++,              
                 ;''';:::;;;:++++,                
                   ;''';:::++++:                  
                     ;'''++++:                    
                       ;'++:                      
                         :                        
                                                  
                       `;;;                       
                     `;;;;;;;                     
                   `;;;'';::;;;                   
                 .;;:::;;;;;::;;;                 
               `::;;;:::;;;++;:::::               
             `;;;;:;;;;;;;;;';;;::::'             
           `;;''';;;++;;;;;;;;;;;;;;;::           
         .;;;;;;++';;'+++'+;;;''+:;;::;;;         
       `;;;;;::;;;;::;;'+++;;;;;';;;;;::;;;       
     `;;:;;;;;;;;';;;;;;;'++;;;;;;;;;;;'';;;;     
   .;;;;:;;;;;;;'':;;;;;;;;;;;;'':::;;;'+';;;;;   
   '';;;;;''';;;;;;::+++''''';+++++:::;;';;;;;+:  
   '''';;;;;+';;;;;;;;'++++;:;;'+:;;;:::;;;;+++:  
   '''''''';;;;;;;;;::;;;+++:::;;;::;'';''+++++:  
   ''''''''::;;;;;;++':;;::;;;:::;;;:;;;+++++++:  
   ''+'''''';;;;;;'+++++'';::;;;:::;;;+++++++++:  
   ''+''''''''';;;;:++;+++++;;;::;::++++++###++:  
   ''''''#''''++';;:::;;;+++::;;;;++++++++##+++:  
   ''''''#'''''+''';;;;;;;;;;;''+++++++++++++++:  
   '''''''+'''''''''';;;;;:::;+++++++++++++++++:  
   '''''''+'''''''''''';;;;;+++++++++++++++++++:  
   ''''''''''++'''''+'''';++++++++++##+++++++++:  
   ''''''''''+##''''+''''++++++#+++###+++#+++++:  
   ''''#''++'''#''''+#'''++++++#+++#+++###+++++:  
   ''''###++#'''''''+#+''++++++++++++++###+++++:  
   '++'''####'''''''''+''++++++++++++++###+++++:  
   '++#+'''###''++'''''''++++++++##++++#+++++++:  
   '''#++''''#''++#+'''''+++++++####+++++++++++:  
   '''''+''''''''###''''++++++++####+++++++++++:  
   '''''''''''''+###''''++++++####+++##++++++++:  
   +''''''''''+++''#'''+'++++###++++#####++++++:  
   ''''''#'''#++#''''''''++++#++++++####+++++++:  
   ''''''#'''####'''''''+++++++++++###++++#++++:  
   '''''''''''+###'''''''++++#+++++#+++++####++:  
   '''''''''''+++#+''''''++###+++++++++++###+++:  
   ''''++''''''''''''''''++##++++++++++###+++++:  
   ''''++#'''''''''''''''++++++#+++++####++++++:  
   ''''''#''''##''+''''''++++++#++++#####++++++:  
    ;'''''''''+#+#++#''''+++++++++++++##++++++.   
      ;''+'''''+#####''''+++++++++++++++++++.     
        ;+'''''+##+###''++++++++++++++++++.       
          ;''''''#+'+#+'++++++##++++++++.         
            ;'''''''''+''++++###++++++.           
              ;''''''''''+++++++++++.             
                ;''''''''+++++++++.               
                  ;''''''+++++++.                 
                    ;''''+++++.                   
                      ;''+++.                     
                        ;+.                       
                                                  
                  `;           #                  
                  `++;  ::,  ###                  
               .  `++++':::#####   `              
               ++.`++++++####### '#.              
               ++++++++++######+###.              
               ++++''++++####+++###.              
               ++++''''++##+++++###.              
               ++++''''''+++++++###.              
               ++++;'''+#++++++'###.              
               ++++::;###++++';;###.              
               ++++:::###++++;;;###.              
                 ++:::###++++;;;#+                
                  `:::###++++;;'                  
                  `++:###++++'##                  
                  `+++###++++###                  
                  `+++###++++###                  
                  `+++#####++###                  
                  `+++##########                  
                  `+++######+###                  
                  `+++####+++###                  
                  `+++###++++###                  
                  `+++###++++###                  
                  `+++###++++###                  
                  `+++###++++###                  
                  `+++###++++###                  
                  `'++###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `+''###++++###                  
                  `+++###++++###                  
                  `+++###++#####                  
                  `+++##########                  
                  `+++##########                  
                  `''+##########                  
                  `'''#####++###                  
                  `'''###++++###                  
                  `'''###++++###                  
                  `++'###++++###                  
                  `+++###++#####                  
                  `+++##########                  
                   +++##########                  
                     +########                    
                       ####+                      
                         +                        
                                                  
             `;                                   
           `;;;;;                                 
         `;;;;;;;;;                               
       `'';;;;;;;;;''                             
     `'''''';;;;;''''''                           
   `'''''''''';''''''''''                         
   .'''''''';:::;'''''';;;;                       
   .'''''';:::::::;'';;;;;;;;                     
   .''''';:::::::::;;;;;;;;;;;:                   
   .''''''';:::::;;;;;;;;;;;:::::                 
   .''''''''';:;;;;;;;;;;;:::::::::               
   .''''''''''';;;;;;;;;:::::::::::;;             
   .''''''''''''';;;;;:::::::::::;;;;;;           
   .''''''''''''''';:::::::::::;;;;;;;;;;         
   .''''''''''''''''';::::::::::;;;;;;;;;;;       
   .''''''''''''''''''';::::::::::;;;;;;;;;;;     
   .''''''''''''''''''''';::::::::::;;;;;;;;;;;   
   .''''''''''''''''''''''';::::::;;;;;;;;;;;++   
   .''''''''''''''''''''''''';::;;;;;;;;;;;++++   
   .''''''''''''''''''''''''''';;;;;;;;;;++++++   
   .''''''''''''''''''''''''''''';;;;;;++++++++   
   .''''''''''''''''''''''''''''''';;++++++++++   
   .''''''''''''''''''''''''''''''''+++++++++++   
   .'''''''''''''''''''''+''''''''''+++++++++++   
   .'''''''''''''''''''''+++''''''''+++++++++++   
   .'''''''''''''''''''''+++++''''''+++++++++++   
   .'''''''''''''''''''''++++++'''''+++++++++++   
   .'''''''''''''''''''''++++++'''''+++++++++++   
   .'''''''''''''''''''''++++++'''''+++++++++++   
   .'''''''''''''''''''''++++++'''''+++++++++++   
   .'''''''''''''''''''''''++++'''''+++++++++++   
   .'''''''''''''''''''''''''++'''''+++++++++++   
    ''''''''''''''''''''''''''''''''+++++++++++   
      ''''''''''''''''''''''''''''''+++++++++++   
        ''''''''''''+'''''''''''''''+++++++++++   
          ''''''''''+++'''''''''''''+++++++++++   
            ''''''''+++++'''''''''''+++++++++++   
              ''''''+++++'''''''''''+++++++++++   
                ''''+++++'''''''''''+++++++++++   
                  ''+++++'''''''''''+++++++++++   
                    '++++'''''''''''+++++++++++   
                      '++'''''''''''+++++++++++   
                        ''''''''''''+++++++++++   
                          ''''''''''++++++++++`   
                            ''''''''++++++++`     
                              ''''''++++++`       
                                ''''++++`         
                                  ''++`           
                                    `             
                                                  
                       `...                       
                     `.......                     
                   `...........                   
                 `..` .``. `.....                 
               `...................               
             `.......................             
           `...........................           
         `...............................         
       `...................................       
     `......................` `  `...........     
   `...........................................   
   ,,.........................................:.  
   ,,,,.............` .``...................:::.  
   ,,,,,,.................................:::::.  
   ,,,,,,,,.............................:::::::.  
   ,,,,,,,,,,.........................:::::::::.  
   ,,,,.,,,,,,,........  . `` `.....:::::::::::.  
   ,,,,..,,,,,,,,.................:::::::::::::.  
   ,,,.,,,,,,,,,,,,.............:::::::::::::::.  
   ,,.,,,,,,,,,,,,,,,.........:::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,.....:::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,.:::::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,:::::,:::::::,::::::::.  
   ,,,,,,,,,,,,,.,,,,,,,,::::::::::::,:::::::::.  
   ,,,,,,,,,,,...,,,,,,,,:::,:::::::,,:::::::::.  
   ,,,,,,,,,,,..,,,,,,,,,:::,::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,::.  
   ,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::.  
   ,,,,,,,,,,,,,,,,,,,,,,::::::::::::,:::::::::.  
   ,,,,,,,,,,,..,,,,,,,,,:::::::::::,,::::,::::.  
   ,,,,,,,,,,.,.,,,,,,,,,:::::::::::::::::,::::.  
   ,,,,,,,,,,.,,,,,,,,,,,::::::::::,:::::,:::::.  
   ,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::::.  
   ,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::.  
   ,,,,,,,,,,,,,,,,,,.,,,::::::::::::::::::::::.  
    .,,,,,,,,,,,,,,,...,,:::::::::::::::::::::`   
      .,,,,,,,,,,,...,,,,:::::::::::::::::::`     
        .,,,,,,,,,,.,,,,,:::::::::::::::::`       
          .,,,,,,,,,,,,,,:::::::::::::::`         
            .,,,,,,,,,,,,:::::::::::::`           
              .,,,,,,,,,,:::::::::::`             
                .,,,,,,,,:::::::::`               
                  .,,,,,,:::::::`                 
                    .,,,,:::::`                   
                      .,,:::`                     
                        .:`                       
                                                  
                        ```                       
                      ```````                     
                    ```````````                   
                  ```````````````                 
                ```````````````````               
              ```````````````````````             
            ```````````````````````````           
          ```````````````````````````````         
        ```````````````````````````````````       
      ```````````````````````````````````````     
    ```````````````````````````````````````````   
   ,,`````````````````````````````````````````;,  
   ,,,,`````````````````````````````````````';;,  
   ,,,,,,`````````````````````````````````''';',  
   ,,,,,,,,`````````````````````````````;;';;;',  
   ,,,,,,,,,,`````````````````````````;;;;';;;;,  
   ,,,,:,,,,,,,`````````````````````;;;;;;';;;',  
   ,::::::,,,,,,,`````````````````;;;;;;;';;;;',  
   ,,:::::,,,::,,,,`````````````;;;;'';;;';;;;',  
   ,,,,::,,,,:::,,,,,`````````;;;;;'';;;;';;;;',  
   ,,,,,,,,:::,,,,,,::,`````;;;;;;;';;;;;;;;;;',  
   ,,,,,,,,::,,,,,,,:::,,`;;;;;;;;;';;;;;;;;;;',  
   ,:::,,:,::,,,,,:::,,,,;;;;;;';;';;;;';';;;'',  
   ,,:::::,,:,,,,,::,,,,:;;;;;'';;';;;;''';;;'',  
   ,,,,::,,,,,,,,,::,,,,:;;;;;';;;';;';';;;;;;',  
   ,,,,,,,,:,,::,:,:,,,,,;;;''';;;';;';';;;;;;',  
   ,,,,,,,,::,::,:,,,,,,:;;'';;;;;;;;''''';;;;',  
   ,,,,,,:,,,,::::::,,,,:;;;;;;';;;;;';''';;;'',  
   ,,,,,,:::,:,:::::,,,,:;;;;;;';;';;;;;;';;''',  
   ,,,,,,,::::,,,:,,,,,,:;;;;;;;;;;';;;;;';;;;',  
   ,:,,::,,,::,,,::,,,,,:;;;;'';;;;';;;;;';;;;',  
   ,:::::,,,,,,,,:::,,:::;;''';;;''';;;;;;;;;'',  
   ,,,:,,,,,,,,,,,::,,,::;;';;;''';;;;;';;;;;'',  
   ,,,,:,,,,,,,,,,::,,,,:;;;;;;';;;;;;;';;;''';,  
   ,,,,:::,:::,,,,::,,,,:;;;;;;;;;;;;;'';''';;;,  
   ,,,,:::::::::,:::,:,,:;;;;;;;;;;;'';;;';;;;',  
   ,,,,::,::,,::::,,,::::;;;;;';;;'';;;;;';;;;',  
   ,,,,::,,,,,,,::,,,,:::;;;;;';;;;;;;;;;;;;;';,  
    ,,,::::,,:,,,,,,,,,,:;;;;;;;;';;;;;;;;;;;'.   
      ,,,:::::,,,,::,,:::;;;';;''';';;;;;;';.     
        ,,:::,,,,,:::::::;;';;'';;;;;;;;;;.       
          ,:::,,,,:::::::;;;;;';;;';;'';.         
            ,:::,,,:,,:::;;;;;';''''''.           
              ,::,,,,,,,:;;;;;''''''.             
                ,,,,,,,,,;;;;;';''.               
                  ,,:,,,:;;;;;;;.                 
                    ,,:::;;;;;.                   
                      ,:,;;;.                     
                        ,;.                       
                                                  
                       `###                       
                     .@#++##@                     
                   .##@##+##@##                   
                 .##++++++++++###                 
               .@@#+++++++++++++#@@               
             `#####+++#@@++++++######             
           .##++++++++++++++++@@#+++###           
         `##@#++++#@#+++++++++++++++++#@@         
       `##+++++++++#++++++++++++++++++++###       
     `####+++++++++++++++++++@++++++@@++++###     
     ##@@++++++++++++@@#+++++@++++++++++++####    
     ######+++@@++++++++++++++++++++++++######    
     ########+##++++++++++++++++++++##@#######    
   @+########@@++++++@@#++++++@@#+++##@#######@   
   @@@###########++#+++++#++++++++@#########@@@   
     @###########@@#++++#@++++++##@#@#######@@    
     @##############++++++++++######@#########    
     #########@#######@###++#@@###@@@#########    
     #########@#######@###########@@@#########    
     #############################@@@#########    
   @.####################@@#######@@@#########'   
   @@@#########@@########@@#########@#######@@@   
    `@#########@@########@@#########@#######@@    
     ##########@########@@@#########@#######@@    
     ###################@@@#########@#######@#    
     ###################@@@#########@#########    
     ####################@@#########@#########    
   @ ####################@@#########@#########`   
   @@##########@@########@@#########@########@@   
    +##########@@########@@#########@#######@@.   
     ##########@#########@@#########@#######@@    
   @##########@#########@@@########@@#######@@@   
   @@@########@#########@@@#######@@@#########@   
     @###################@@#######@@@#########    
     @###################@@#######@@@#########    
     ####################@@#########@#########    
     ####################@@#########@#########    
     ##########@@########@@#########@#########    
     ##########@@#######@@@#########@#########    
      ;########@########@@@#########@#######.     
        ;#####@#########@@@########@@#####.       
          ;###@##########@@#######@@@###.         
            '###########@@@#######@@@#.           
              '#########@@@#######@@.             
                '########@@#######.               
                  ;######@@#####.                 
                    '####@@###.                   
                      ;##@@#.                     
                        '@.                       
                                                  
                       `:::                       
                     `,,,:,,,                     
                   `:::,,,,,,,,                   
                 `:,,:::,,:,,:::,                 
               `:::,,,,,,,:::::::::               
             `,,::,:::,::,::,:,:::::,             
           `::,,,,,,,,,::,,,:::,,:::,,,           
         `:,,::,,,,:::::,,,,,,:::,,,,,,::         
       `,,,,,:::::,,,:::::,,,,,,:::,,,,,:::       
     `,,,,,:,,:,,::,::,,,,::::,:::::,,,::::::     
   `:,,:,:::,,:,::,,,,,,,,,,::,,,:,,,,:::::::::   
   ';,,::::::,,:::,:::::,,,:::,,:::::::::::,,,+:  
   '';;::::,::::,,,::,,,,,,::::,,,:::::,,::,+++:  
   ;;;;;;,,,::::::::,,,,,,,,,,,,,,,,:,,:::++++':  
   ;;;;;;;;,::,,,,,::,,,,,:,,,::,,::,:::++++++':  
   ;;;;;;;;;;,,,::,,,:::,,,,,,,,:::,,,++++++++':  
   ;;;;;;';;;;;,,,,:,,,::,:::::::,,,+++''++++++:  
   ;;;;;;;;;;;;;;,::::,,,,,,:::,,,++++''''+++++:  
   ;;;;;;;;;;;';;;;::,,,::,:::::++++++''''+++++:  
   ;;;;;;;;;;;'';;;;;:,:::,:::+++++++++'+++++++:  
   ;;;;;;;;;;;;;;;;;;;;:::,,+++++++++++++++++++:  
   ';;;;;;;;;;;;;;;;;;;;;:++++'++++++++++'+++++:  
   ';;;;;;;;;;;;;;;;;;;;;++++''++++++++++++++++:  
   ;;;;;;;;;;;;;;;;;';;;;++++'++++++''+++++''+':  
   ;;;;;;';;;;;;;;;;;;;;;++'''++++'''+'+''+'++':  
   ;;;;;;';;;;;;;;;;;;;;;++'++++'''++++'''+++++:  
   ';;;;;;;;;;;;;;;;;;;;;++++++'''+++++'+++++++:  
   ''';;;;;;;;;;;;';;';;'+++'+++''++++++++++++':  
   ;;';;;;;;;;;;;;;';;;;;+'+'''+'+++'++++++++++:  
   ;;;';;;;;;;;;;;;;;;;;;''++''+++'''''++'+++++:  
   ;;;';;;;;;;;;;;;;;;;;'+++++++++'''''++'+++++:  
   ;;;;;;';;;;;;;;;;;;;;'+++++++++'+'++++++++++:  
   ;;;;;;;;;;;;;;';;;;;;;+++'+++++'+++''+'+++++:  
   ;;;;;;;;;;;;;;;;;;;;;;+++'''+++'+'''++'+''++:  
   ;;;;;;;;;;;;;;;;;;;;;;+++''++++++'++++++'+'+:  
   ;;;;';;;;;;;;;;;;;;;;;+++'+++''+++++++++++++:  
   ;;;;'';;;;';;;;;;;;;';+++'+'+'+++++++'++++++:  
   ;;;;;;;;;;'';;;;;;;;';+++++'+++++++'''+'++++:  
    :;;';;;;;;;;;;;;;;;;;+++++++++++'+'+++'+++.   
      :'';;;;;;;;;;;;;;;;++''++++++''+++++++.     
        :;;;;;';;;;;;;;;'++''+'++++'++++++.       
          :;';'';;;;;;;;'+++++++++++++'+.         
            :;;;;';;;;;;;''++++++++'++.           
              :;;;;;;;;;;'''+++++++'.             
                :;;;;;;;;''++++'++.               
                  :;;;;;;'+++++'.                 
                    :;;;;++'++.                   
                      :;'++'.                     
                        :+.                       
                                                  
                       .###                       
                     .+++'+##                     
                   .+++'''''+##                   
                 .#++'''''''''+++                 
               .+++'''''''''''''+++               
             .+++'';''''''''''''''++#             
           .##'''''''''''';;''''''''+++           
         .++'''';;;''';;'''''####'''''+++         
       .+++''''''';;;''''''######'';;'''+++       
     .+++'';'''''''''''''######'''''''''''+++     
   .##+'''';;;''';;;'''######''''''''''';'''+##   
   ##+++'';;;;;''''''######''''''''''''''''+###;  
   ####+++'';;;''''######''''''';;'''''''+#####;  
   ######+++'';;;######''''''''''';;'''+++#####;  
   ##++####++''''''##'''''''';;;;''''+#########;  
   #+++++####+++''''''''''''';'''''+++#########;  
   ##+#++++####++''''''''''''''''+#########++##;  
   ##+#++#+++####+++'''''''''''+#########+#+###;  
   ##+#++#+++++####++''''''''+++#########+#####;  
   ##++++#++#++++#####+''''+++########+########;  
   ##++###++#+#++++####+++++#######+######+####;  
   ##++##+###+#++#+++##############+######+####;  
   #+++##+#+++##+#+++++########################;  
   ##+#+#+#++#+#+#++#+++#############+#+###++##;  
   ##+#++##++#++##++#+++##########+##+#+#+#+###;  
   #++#++#+++#++#+#+#+++##########+##+###+#####;  
   #+++++#++#+++#+##++++##########+############;  
   ##++##+++#+###+##+#++#######+##########+####;  
   ##++##+###+##+###+#++#######+#+########+####;  
   ##++##+#+++##+#+++##+########++###+#+##+#+##;  
   ##+#+++#++#+++#++#+#+######+######+######+##;  
   ##+#++#+++#++#+++#+++#################+#####;  
   #++#++#++##++#+++#+++#######+###############;  
   ##++#+#++#+#+#++#++++#######+##+############;  
   ##++##+++#+##++##+#++####+#############+####;  
   ##++##+#+#+##+#+#+#++####+###++#############;  
   ##++##+#++###+#+++##+######+#++#############;  
   ###++++#++#+++#++#+++######+########+#######;  
    +###+++++#++#+++#+++##########+##+########,   
      '###+++#++#+###+++#######+##+##+######,     
        '###++++#+##+#++#######+##+#######,       
          '###++++##+#++####+##+########,         
            '###+++#+##+##############,           
              '###+++##+############,             
                '###++++##########,               
                  '###++########,                 
                    '#########,                   
                      '#####,                     
                        '#,                       
                                                  
                                    :;;.          
                                  :;;''';`        
                                ::;''';::;;`      
                               .'''';:::;;;+      
                               .''';;;::;+++      
                               .''''':;+++++      
                               '''''''++++++      
                             ''';:'+''++++++      
                           ''';::'++''+++#++      
                         ''';::'++++''+++###      
                       ''';::'++++++''++####      
                     ''';;:'+++++++++'####++      
            :,     ''';::'++++#+++++++##++++      
          :;;'', ''';::'++++++#++++''+++++++      
        :;;''';::';::'+++++++++++'''''++++++      
      `::''';:::;;;'+++++++++++.''''''++++++      
      `'''';:::;;++++++++++++  .''''''+++++#      
      `'''';::;++++++++++++    .''''''+++###      
      `''''''++++++++++++     ''''''''+####+      
      `''''''++++++++++     ''':::'+++###+++      
      `''''''+++#++++     ''':::'+++++#+++++      
      `+''+''+++#+#     ''':::'+++##''++++++      
      `++++''+++###   ''';::'+++####''++++++      
      `'++++'+####+ ''':;;'+++####+#''++++++      
      `'''+++###+++'':::'+++####++++''+++++#      
      `'''''+#+++++:::'+++####+++++'''+++###      
      `''''''++++++:'+++####+++''++++'+#####      
      `''''''+++++++++####+++' .'''+++##++##      
      `''''''+++++++####+++'   .''''++++++++      
      `+'''''++++#####+++'     .''''++++++++      
      `+++'''++#####+++'       .'''''+++++++      
      `''+++'+###++++'         .''''''++++++      
      `''''++##++++'           .++''''++++##      
      `''''''++++++             ++++''++###+      
      `''''''++++++               ++++###+        
      `''''''++++++                 ++#+          
      `''''''++++++                               
      `++''''++++##                               
      `++++''++####                               
      `''++++###++#                               
      `''''++#+++++                               
      `''''++++++++                               
      `''''++++++++                               
      `''''''++++++                               
      `+'''''+++++#                               
      `+++'''+++###                               
        ++++'+###+                                
          +++##+                                  
            ++                                    
                                                  
                       .'''                       
                     .;';:';;                     
                   .;;;::;'';;;                   
                 .''';;;::';:;'';                 
               .;;''';;;;;;;;;;;;;;               
             .;'';;;''';;;';;;''';'''             
           .;;''';;;;;';;;;;'''::;;;';;           
         .'';::;''';;;'++'+'';;;;;;'';;;;         
       .;;'';;;;;;''''##;;+##;;;;'';;;;;;''       
     .;;;;;;;;;'';;;''+'';''';;;;;;;;;;:;;;;'     
   .'';;;::;;;;;;'';''#';;''+';'';'';'':'''''''   
   ++'';;;;;;;;;'';::+##;;;##';;;;;;;:;;;;;'''#;  
   +++'';;;''';';;;''';'''';;''';';;':;;;;;;+##;  
   +'+'++''';;;;;''';;;'';;;;;;;;;;;''''''++++#;  
   +'''+++';'';''':::;;;;:;'';''';::;;''##++++#;  
   ++''+++'''''';;:;;''';;;'';;;''';;;+###++++#;  
   ++''++''''++;;;;;;;';;;'';;:;;;''##+++#++++#;  
   ++''++@'''+++''';''';;;'';;:;;;+###+++#++++#;  
   ++''++@@+''++'++'';;;;;;;;;''++++##+++#++++#;  
   ++'+++@@+''++'+++';;;;;';;;##++++##+++#++++#;  
   +''+@@@#@+'++''++''''''''+##+++++##+++#++++#;  
   +''+@@##@@'++'@++''+++'##++#++++++#+++#++++#;  
   +''+@@####'+++@++'''++##+++##+++++#+++#+++##;  
   ++'+@@####+++@@#+''''+##+++##++++##+++#+++##;  
   ++''@@####+++@@@@+'''+##++++#++++##+++#+++##;  
   ++''++####+++@##@+'''+##++++#++++##+++#++++#;  
   ++''++####+++@###@'''+##++++#++++##+++#++++#;  
   ++''''###++++@###@++'+##++++#++++##++++#+++#;  
   ++'+@'+++++++@####++'+##++++#++++##++++#+++#;  
   ++'#@@++++++++####++'+##++++#++++##++++#+++#;  
   +++@@@+@#+'+++#####+'+##++++#++++##++++#+++#;  
   +++@@@@@#+++++######++##++++#++++##++++#+++#;  
   +++@##@@##+@#+++####++##++++#++++##++++#+++#;  
   ++++@#####@@#+++++##++##++++#++++##++++#+++#;  
   ++++@@####@@@#+#@+++++##++++#+++##+++++#+++#;  
   ++++@@#+####@#@@@+@+'+##++++#+++#++++++#+++#;  
   ++''@@++######@@@#@#'+##++++#+++#++++++#+++#;  
   +++'''+'+##++###@#@#'+##++++#+++#++++++#++##;  
    '+'''+'+#+++#####@#++##++++#+++#+++++##++#.   
      ;''+'''++++######++###+++#+++#+++++#++.     
        ;+++'+++''##+###+###+++#+++###+###.       
          '+'+++''##+###+###+++#+++###+#.         
            ;+++''+#+'+#+###+++#+++###.           
              '+'++++''++###+++#+#+#.             
                ;++++''++###+++###.               
                  '+''''+##++++#.                 
                    ;'+++###++.                   
                      ;++###.                     
                        '#.                       
                                                  
                       `::;                       
                     .+;;;;;;                     
                   `''+''+##;;;                   
                 .#:::+##'#+'#;;'                 
               .##+'''''+++++#+++++               
             .''''''''++':;'++;::++++             
           .''#@####+++++;'';;;###+++++           
         .+++++;+++++'+###'''#;;#####'::;         
       `:;###;;:+++++;:'##'###++#+#+''##'''       
     .::;;;+;;'''###;;;+++++;;:;''########++'     
   .;'##'++###'+++@#';;;;#+++#;;'';;#++#++++;::   
   '';;+##::;###@@';;###;;;##+;;'''+#+;;'##;;;+:  
   '''''#';#+';@+''''''::''++#'''+''+;'++++'#++:  
   ''''++++#+++++###;;''';::+++##+''#@@+++####+:  
   #''#++'#@######++##'#+'#+++##@#######++####+;  
   #++#++'+#####+++++':;###+++::'::+++#++####@#;  
   ++++#+@####+;;+#';;#++':;+++###,,###+#@###@#;  
   ++######+'###+++'###;;''+###''#####@+#@@#+##;  
   ;;#@+###+'####''''';'##+''+########@##@#++##;  
   #;'+++'#+'####'''+##++#'##+++##+##@@#@##++##;  
   ##'+++'++'#@@#+#++####'##+++###+#@@#@@##++@@;  
   ##++++'++''#@@+####+';:+++##@##+##@##++###@@;  
   ##++++++++'###+#####+'+++@#####++##+#++###@@;  
   +++++++#++@+######+##'+++##@###+###+##+###@#;  
   +++#++##++#+++####+##'++####+##+@#++#+###@@#:  
   +######@#+#''++'##'+#+###@##++++@++#++#@@@++:  
   +#@+##+'###'';+''#'+#+###@##++##@###+#+@@@++;  
   ++#+##+'+##+#'+++#'+###############@@##@@#@@;  
   ###'###'+##+##'+++++#++'+####@@@###@####++@#;  
   ###'###''+++#@'+++###+''+####@@###+#####+###;  
   +##'++##++''+@#++++#@#@@+####++#+++#++####@@;  
   '##'+++@+'#''+#++#++##@@####++++++'#+#@###@#;  
   ''''+++@+'#;;+##+#####@@#@###+++@+'###@+####;  
   '''##+#@+'+';+'##########@#####+@####@@+####;  
   ''+####@#+++++'++#@#+###@######+##+#@@#####@;  
   +#+#'+#@#++'+++#+#'#;;##@####@@+#++#++#+#@#@;  
   +##@''###+#'+++#@#''#;###+###@@####@++@+##@@:  
   ''+@''#'++###+#@@+#######++##@@#@###++#+###+:  
    ;'+#'#+++@##@'@@'###+###++##@@#@###++#+###.   
      '###+##@++#'##'###+##@++#@@@#@##@++###,     
        +#@####+#'##++#####@+@@@++#@##@###,       
          +@#####'##++++###+@@+#+#@@#++#.         
            +#'+#'##'##+++++#++###@@#+.           
              ;''###+##+#++###+##@@@.             
                ;#++++++#++#@#+#@@,               
                  '+##+##+#@@###,                 
                    +######+##,                   
                      +#'+++.                     
                        ;+.                       
                                                  
                       .++'                       
                     .'+++'+#                     
                   .+++++'''+++                   
                 .++++#'''#+''+++                 
               .##+##'''##+##'''+##               
             .'''''###'''#''''++'+##+             
           .++;;;''+++'########+++##+++           
         .++++++''++++;'++#++;+++++##+++'         
       .##''+''+''++++++''+'';+++##';''''++       
     .++'''###''''''''+##+##+#+'''+++########     
   .;'++;''#''''+##'''+##++++#+++'''+++++#++#++   
   ++++';;#####+##+''###+++''';;###;;'++++++++#;  
   +++#''+#+###''''+++++''++''++#''''++++;;+#@#;  
   ##+##++++++'''+++''+''+++###'''''';;+''#####;  
   +##+###+'+';#++++++#';'++#####'+#+'++#######;  
   ++#+++#######++'''+++'''''###+'''''####@####;  
   ###+#+++######+''';+'''''+##++'''##########+:  
   ###+###+++####++++++++'+'';''''############+:  
   ###+###+#+#####+++#++++++++++#######+#######;  
   ###+##++##+####++####++++++#########+#######;  
   ###+++++##+++#+++###;;'''##############+##+#;  
   ####++####+#+#+++####+;################+##+#;  
   ##+#++####+###+#############################;  
   +++##+####+#########+#######################;  
   ++++##++##+##+##################+###########;  
   ++++##+++#+##+++####################+#######;  
   #+'+####++####++++###+##############+####@##;  
   ###+##########+##+###'##################@@##;  
   ####+#++######+##++##+######################;  
   ###+++++####+++##+++++######+###############;  
   #+#++++++####+++#+++'#######+###############;  
   #++#++##++####++++++############@#########+#;  
   ##+#++##++##+#+##+++#+######################;  
   ##+#+++#++##++#####+#+########++####++######;  
   #+'#++###+###+#######+##+####++#####++######;  
   #+'+###+++#+#+++####++##+##################+:  
   ++++####++#++#++++###+######@##############+:  
   ++++####++####'+++###+##############+#####++:  
    '+++###++###+#+++###+#####+#######+####@@+.   
      '+++#+'#+++#+++++#+##################@,     
        '+++'##++++++++'##################,       
          ;+####++###++########@##+###@#.         
            '###+++######@@#######+###,           
              +##+++#####@#+#####+##,             
                ++##########+###++.               
                  '#####+###+###.                 
                    +##++#####.                   
                      '+'++#.                     
                        ;+.                       
                                                  
                       .,,;                       
                     .'',`'++                     
                   .''+'';;;+++                   
                 .++''+''+'++'+++                 
               .''+'':,,,,:'';,,:,,               
             `,'''+++'.::.''''+';`'''             
           ```:;;''';;,``...''''',++'''           
         .+'',..'''++;..``.:;+++'++'':;',         
       .''+++++,++'++;,,,,.''+,,;,:'':'',,,       
     .'':'':'''''''+''+++'++;;,:;''''++,..:;;     
   .'''',..,;;'++''+''+'''++++,;+'++'++;;.,;'''   
   ;'++:..```+++'':'':,,'';'';''+++'''++'++'++#;  
   ;'++;;.`;.;+'++,,:'+'';,::,''''';,':,''''+##;  
   +'+##+'';''''''';''+'',``'''''';;.``,,,'+++#;  
   +','###+'+++'++;`.'++;;';;+++''+'.+:.+''';+#;  
   +++'####'''''++'+++++++++++''''''''##++';;##;  
   +++#+#+;';++''++''','':''''''',,,###++#'++##;  
   ++#++++;''++++''''',;;,;;'''++:'####'+#++###:  
   #+#+;'+++',#+++'+++''``,''+''##''+########+':  
   #++;;;+++#+##++;;'+++'';+++###++;+########'':  
   ##+;''+++++##+;+;;'++++++####''+###'######;':  
   ++++;'::++#+#++++:''++''#####'#####'####'';+;  
   ++#+::::;'#++'+##:,:++'''+########++####'+'#;  
   ++##';,,:'#;+;++#'':'#+#;+#######+'+####++'#;  
   '+++''::::+;;'++++'+#######'##++#++;####+###:  
   ;;'+##::;;+'''+#+##+#+####+'+''+#+++#######':  
   ,;'++#+;;;#'',###+##++####++'';'####++#####':  
   ,::++++;+##++:###++'++###'++;;;'####'+#####':  
   ++::#+#++#+#+#+##+;';;###'+';'''####++######;  
   ++++##++##+##+++++;;:;####++'''####'+++#####;  
   ##+#+++#+#++++;+++';,:#####+'''####+;'+#####;  
   +##+++++++;++;;+++'':;#######'#####+;+######;  
   ++++++++++;++;'+++++:###########'+##++######;  
   +++;'+#++++#+',++#++#+##########'######+++##;  
   +';;''#+';'##+,;'#++++##+##############'+;+#;  
   ++;:,;#++;;+#+'+'#+++;''+++#####++#####+;;+#;  
   +++:,,:++#+++#'++#+++;''''+####''+;##+'+'###;  
   ++#:,,:#+++,:#+#+#+++;;;'######+#';##++#####;  
    '#';,'+++#;:+###+++++;##########++########.   
      ;''++###''+#++++++############+#######.     
        ;++##+#'#+'+;'+++###+++###########.       
          '##+###+;;'''++###'+;'########.         
            '+++#++;',;+####'';'######.           
              ;++++++,:'###''';+####.             
                ;+##+++'###+'';###.               
                  '###++####'++#.                 
                    '#######++.                   
                      '#+###.                     
                        ;#.                       
                                                  
                       .'''                       
                     .;';:';;                     
                   .;;;::;'';;;                   
                 .''';;;::';:;'';                 
               .;;''';;;;;;;;;;;;;;               
             .;'';;;''';;;';;;''';'''             
           .;;''';;;;;';;;;;'''::;;;';;           
         .'';::;''';;;'++'+'';;;;;;'';;;;         
       .;;'';;;;;;''''##;;+##;;;;'';;;;;;''       
     .;;;;;;;;;'';;;''+'';''';;;;;;;;;;:;;;;'     
   .'';;;::;;;;;;'';''#';;''+';'';'';'':'''''''   
   ++'';;;;;;;;;'';::+##;;;##';;;;;;;:;;;;;'''#;  
   +++'';;;''';';;;''';'''';;''';';;':;;;;;;+##;  
   +'+'++''';;;;;''';;;'';;;;;;;;;;;''''''++++#;  
   +'''++';;'';''':::;;;;:;'';''';::;;''##++++#;  
   ++''''';''''';;:;;''';;;'';;;''';;;+###++++#;  
   ++'''';;''++;;;;;;;';;;'';;:;;;''##+++#++++#;  
   ++''''#;;;+++''';''';;;'';;:;;;+###+++#++++#;  
   ++';''##';'++''+'';;;;;;;;;''++++##+++#++++#;  
   ++''''#+';;++;'++';;;;;';;;##++++##+++#++++#;  
   +'''###'+';'';;'+''''''''+##+++++##+++#++++#;  
   +''+##''+#:'':#''''+++'##++#++++++#+++#++++#;  
   +''+##'''':'''#'''''++##+++##+++++#+++#+++##;  
   ++'+##'''''''##+';'''+##+++##++++##+++#+++##;  
   ++''##''''+''####;'''+##++++#++++##+++#+++##;  
   ++''++''''+''#''#';''+##++++#++++##+++#++++#;  
   ++';'+''''+''#'''#;''+##++++#++++##+++#++++#;  
   +';;;;'''++''#'''#'''+##++++#++++##++++#+++#;  
   +';'#;'''+'''#'''''''+##++++#++++##++++#+++#;  
   +';###'''''''+'''''''+##++++#++++##++++#+++#;  
   ++;###'#+''''+;''''';+##++++#++++##++++#+++#;  
   +++#####+''''''''''''+##++++#++++##++++#+++#;  
   +++#''##';'##''''''''+##++++#++++##++++#+++#;  
   +++'#'';';###'''''''++##++++#++++##++++#+++#;  
   ++++##';;;###;'##''''+##++++#+++##+++++#+++#;  
   ++++##''';;;+;###'#';+##++++#+++#++++++#+++#;  
   ++''##''';;;;;###'#+;+##++++#+++#++++++#+++#;  
   +++'''''';;'';;;#'##;+##++++#+++#++++++#++##;  
    '+'''+'';'+';;;;'##'+##++++#+++#+++++##++#.   
      ;''+''''++';;;''''+###+++#+++#+++++#++.     
        ;+++'+++';;;+''''###+++#+++###+###.       
          '+'+++';''+''''###+++#+++###+#.         
            ;+++''+'+''''###+++#+++###.           
              '+'++++''+'###+++#+#+#.             
                ;++++''++###+++###.               
                  '+''''+##++++#.                 
                    ;'+++###++.                   
                      ;++###.                     
                        '#.                       
                                                  
                        ..`                       
                      `.....`                     
                    `...```...`                   
                  `...```````...`                 
                `...```;...````...`               
              `...```;';;'....```...`             
            `...':```'''''.`...````...`           
          `...``'.`````'.`````...````...`         
        `...```...````...```````...````...`       
      `...```...,```....``````````...````...`     
    `...```....'''`...```,```...,'':``````,...`   
  ....````...``````````';;;:``````...`...:''`...` 
 :...``;:```..````.```,'''''..`,'``.````..````...'
 ;;,...';````````....```,'.....,'``.````````...'''
 ;;::,...```````````````.......````..`````...'''''
 ;;::::,...```````,;;:```````;;;````````...'''''''
 ;;::::::,...````'''''',```'''''''````...'''''''''
 ;;::::::::,...```,'':...````'''````...'''''''''''
 ;;::::::::::,...````...```...````...'''''''''''''
 ;;::;;::::::::,...````.....````...'''''''''''''''
 ;;;';;;:::::::::,...````.````...'''''''''''''''''
 +';'++;:::::::::::,...`````...'''''''''''''##''##
 +++++++;::;;::::::::,...`...''''''''''''''#######
 +++++++;;;;;;;:::::::::...''''''''''''''''#######
 +++++++';;'+;;:::::::::;'''''''''''''#'''########
 +++++++++''+++:::;:::::;'''''''''''###'####++####
 ++++++++++++++;;:;;;:::;'''''''''''#######+++#+##
 ++++++++++++++;;;+;;;::;'''''''''''#######+##++##
 +++++++++++++++';+++;::;'''''##''####+####+##+###
 ,++++++++++++++++++++;:;''''#######+++##+++##### 
   ,++++++++++++++++++;;;''''#######+++++++####   
     ,++++++++++++++++';;'''##########+++####     
       ,++++++++++++++++''####++###+##+####       
         ,+++++++++++++++####+++#+++#####         
           ,+++++++++++++####++++++####           
             ,+++++++++++####++++####             
               ,+++++++++##++++####               
                 ,+++++++##++####                 
                   ,+++++######                   
                     ,+++####                     
                       ,+##                       
                                                  
          '''''''                                 
          '''''''                                 
          '''''''                                 
          '''''''                                 
       @@@.......@@@                              
       @@@.......@@@                              
       @@@.......@@@                              
    ''',,,,,,,''',,,''''                          
    ''',,,,,,,''',,,''''                          
    ''',,,,,,,''',,,''''                          
    '''...@@@@   @@@''''                          
    '''...@@@@   @@@''''                          
    '''...@@@@   @@@''''                          
    '''...@@@@   @@@''''                          
    '''...@@@@                                    
    '''...@@@@                                    
    '''...@@@@                                    
    '''...@@@@                                    
    '''...@@@@                                    
    '''...@@@@                                    
    '''...@@@@   @@@''''          ###             
    '''...@@@@   @@@''''          ###             
    '''...@@@@   @@@''''          ###             
    '''...@@@@   @@@''''          ###             
    ''',,,,,,,''',,,''''      ####...###          
    ''',,,,,,,''',,,''''      ####...###          
    ''',,,,,,,''',,,''''      ####...###          
       @@@.......@@@       ###....;;;@@@          
       @@@.......@@@       ###....;;;@@@          
       @@@.......@@@       ###....;;;@@@          
          '''''''       ###...;;;;+++###@@@@      
          '''''''       ###...;;;;+++###@@@@      
          '''''''       ###...;;;;+++###@@@@      
          '''''''       ###...;;;;+++###@@@@      
                    ####...;;;+++++++###@@@@      
                    ####...;;;+++++++###@@@@      
                    ####...;;;+++++++###@@@@      
                    ####;;;++++++++++#######@@@   
                    ####;;;++++++++++#######@@@   
                    ####;;;++++++++++#######@@@   
                    ########################@@@   
                    ########################@@@   
                    ########################@@@   
                    ########################@@@   
                        @@@#######@@@@@@@@@@      
                        @@@#######@@@@@@@@@@      
                        @@@#######@@@@@@@@@@      
                           @@@@@@@                
                           @@@@@@@                
                           @@@@@@@                
                                                  
                                                  
                                                  
                            ++++                  
                            ++++                  
                            ++++                  
                            ++++                  
                         +++####                  
                         +++####                  
                         +++####                  
                         +++                      
                         +++                      
                         +++                      
                   ''''''#######                  
                   ''''''#######                  
                   ''''''#######                  
             '''''';;;++++++''''++++++            
             '''''';;;++++++''''++++++            
             '''''';;;++++++''''++++++            
          ''';;;;;;;;;;;;''';;;;''''''+++         
          ''';;;;;;;;;;;;''';;;;''''''+++         
          ''';;;;;;;;;;;;''';;;;''''''+++         
          ''';;;......:::;;;;;;;;;;'''+++         
          ''';;;......:::;;;;;;;;;;'''+++         
          ''';;;......:::;;;;;;;;;;'''+++         
       ''';;;......:::;;;;;;;;;;;;;''''''+++      
       ''';;;......:::;;;;;;;;;;;;;''''''+++      
       ''';;;......:::;;;;;;;;;;;;;''''''+++      
       ''';;;:::...;;;;;;;;;;;;;;;;''''''###      
       ''';;;:::...;;;;;;;;;;;;;;;;''''''###      
       ''';;;:::...;;;;;;;;;;;;;;;;''''''###      
       ''';;;:::...;;;;;;;;;;;;;;;;''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;;;;''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;;;;''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;;;;''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;'''''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;'''''''''###      
       ''';;;;;;;;;;;;;;;;;;;;;;'''''''''###      
          +++''';;;;;;;;;;;;''''''''''###         
          +++''';;;;;;;;;;;;''''''''''###         
          +++''';;;;;;;;;;;;''''''''''###         
          +++'''''''''''''''''''''''''###         
          +++'''''''''''''''''''''''''###         
          +++'''''''''''''''''''''''''###         
             ###''''''######'''''''###            
             ###''''''######'''''''###            
             ###''''''######'''''''###            
                ######      #######               
                ######      #######               
                ######      #######               
                                  +++++++++++++   
                                  +++++++++++++   
                                  +++++++++++++   
                                  +++++++++++++   
                        ++++++++++'''+++++++'''###
                        ++++++++++'''+++++++'''###
                        ++++++++++'''+++++++'''###
                 +++++++'''+++''''#############   
                 +++++++'''+++''''#############   
                 +++++++'''+++''''#############   
              +++;;;++++##########      ++++      
              +++;;;++++##########      ++++      
              +++;;;++++##########      ++++      
              +++;;;++++##########      ++++      
          ++++;;;:::;;;;             +++          
          ++++;;;:::;;;;             +++          
          ++++;;;:::;;;;             +++          
       +++;;;;:::;;;              +++             
       +++;;;;:::;;;              +++             
       +++;;;;:::;;;              +++             
       +++++++;;;             ++++                
       +++++++;;;             ++++                
       +++++++;;;             ++++                
       +++++++;;;             ++++                
    +++'''####             +++                    
    +++'''####             +++                    
    +++'''####             +++                    
    ++++++####          +++                       
    ++++++####          +++                       
    ++++++####          +++                       
    +++'''####      ++++                          
    +++'''####      ++++                          
    +++'''####      ++++                          
    +++'''####      ++++                          
++++'''###       +++                              
++++'''###       +++                              
++++'''###       +++                              
+++++++###    +++                                 
+++++++###    +++                                 
+++++++###    +++                                 
+++++++###++++                                    
+++++++###++++                                    
+++++++###++++                                    
+++++++###++++                                    
++++'''###                                        
++++'''###                                        
++++'''###                                        
    ###                                           
    ###                                           
    ###                                           
                                       ::::    +++
                                       ::::    +++
                                       ::::    +++
                                       ::::    +++
                               ::::````````::::+++
                               ::::````````::::+++
                               ::::````````::::+++
                               ::::````````::::+++
                               ++++''''````++++   
                               ++++''''````++++   
                               ++++''''````++++   
                               ++++''''````++++   
                               ''''####::::++++   
                               ''''####::::++++   
                               ''''####::::++++   
                               ''''####::::++++   
                           ''''####    ++++       
                           ''''####    ++++       
                           ''''####    ++++       
                           ''''####    ++++       
                       ''''####                   
                       ''''####                   
                       ''''####                   
                    '''####                       
                    '''####                       
                    '''####                       
                    '''####                       
                ''''###                           
                ''''###                           
                ''''###                           
                ''''###                           
            ''''####                              
            ''''####                              
            ''''####                              
            ''''####                              
    ````....####                                  
    ````....####                                  
    ````....####                                  
    ````....####                                  
````....````++++                                  
````....````++++                                  
````....````++++                                  
````....````++++                                  
++++````++++                                      
++++````++++                                      
++++````++++                                      
    ++++                                          
    ++++                                          
    ++++                                          
    ++++                                          
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
          @@@@###########@@@@                     
          @@@@###########@@@@                     
          @@@@###########@@@@                     
          @@@@###########@@@@                     
      @@@@########+++########@@@@                 
      @@@@########+++########@@@@                 
      @@@@########+++########@@@@                 
      @@@@########+++########@@@@                 
      @@@@####+++++++++++########@@@@             
      @@@@####+++++++++++########@@@@             
      @@@@####+++++++++++########@@@@             
      @@@@####+++++++++++########@@@@             
      @@@@####+++++++++++++++########@@@@         
      @@@@####+++++++++++++++########@@@@         
      @@@@####+++++++++++++++########@@@@         
      @@@@####+++++++++++++++########@@@@         
  @@@@####++++++++#######++++############@@@@     
  @@@@####++++++++#######++++############@@@@     
  @@@@####++++++++#######++++############@@@@     
  @@@@####++++++++###################@@@@@@@@     
  @@@@####++++++++###################@@@@@@@@     
  @@@@####++++++++###################@@@@@@@@     
  @@@@####++++++++###################@@@@@@@@     
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################################@@@  
  @@@@#######################@@@@@@@@@@@@@@@@@@@  
  @@@@#######################@@@@@@@@@@@@@@@@@@@  
  @@@@#######################@@@@@@@@@@@@@@@@@@@  
  @@@@#######################@@@@@@@@@@@@@@@@@@@  
      @@@@########@@@@@@@@@@@@@@@########@@@@     
      @@@@########@@@@@@@@@@@@@@@########@@@@     
      @@@@########@@@@@@@@@@@@@@@########@@@@     
      @@@@########@@@@@@@@@@@@@@@########@@@@     
          @@@@@@@@@@@####@@@@@@@@@@@@@@@@         
          @@@@@@@@@@@####@@@@@@@@@@@@@@@@         
          @@@@@@@@@@@####@@@@@@@@@@@@@@@@         
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
              @@@@@@@@@@@                         
                  ###############                 
                  ###############                 
                  ###############                 
                  ###############                 
              ####               ####             
              ####               ####             
              ####               ####             
              ####               ####             
          ####    ```````````````::::####         
          ####    ```````````````::::####         
          ####    ```````````````::::####         
          ####    ```````````````::::####         
      ####    ```````````    ,,,,,,,,####         
      ####    ```````````    ,,,,,,,,####         
      ####    ```````````    ,,,,,,,,####         
      ####    ```````````    ,,,,,,,,####         
      ####    ````   ````````````,,,,::::###      
      ####    ````   ````````````,,,,::::###      
      ####    ````   ````````````,,,,::::###      
      ####    ````   ````````````,,,,::::###      
  ####    ````    ...............;;;;,,,,###      
  ####    ````    ...............;;;;,,,,###      
  ####    ````    ...............;;;;,,,,###      
  ####    ````````...............;;;;,,,,:::####  
  ####    ````````...............;;;;,,,,:::####  
  ####    ````````...............;;;;,,,,:::####  
  ####    ````````...............;;;;,,,,:::####  
  ####    ````::::...............;;;;'''''''####  
  ####    ````::::...............;;;;'''''''####  
  ####    ````::::...............;;;;'''''''####  
  ####    ````::::...............;;;;'''''''####  
  ####    ,,,,,,,,;;;;;;;;;;;;;;;::::::::;;;####  
  ####    ,,,,,,,,;;;;;;;;;;;;;;;::::::::;;;####  
  ####    ,,,,,,,,;;;;;;;;;;;;;;;::::::::;;;####  
  ####    ,,,,,,,,;;;;;;;;;;;;;;;::::::::;;;####  
      ####,,,,'''':::::::::::::::''''::::###      
      ####,,,,'''':::::::::::::::''''::::###      
      ####,,,,'''':::::::::::::::''''::::###      
      ####,,,,'''':::::::::::::::''''::::###      
      ####::::'''':::::::::::::::'''';;;;###      
      ####::::'''':::::::::::::::'''';;;;###      
      ####::::'''':::::::::::::::'''';;;;###      
      ####::::'''':::::::::::::::'''';;;;###      
          ####;;;;:::::::::::::::;;;;####         
          ####;;;;:::::::::::::::;;;;####         
          ####;;;;:::::::::::::::;;;;####         
              #######################             
              #######################             
              #######################             
              #######################             
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                ++++++            
                                ++++++            
                                ++++++            
                      ++++++++++,,,,,,+++         
                      ++++++++++,,,,,,+++         
                      ++++++++++,,,,,,+++         
             +++++++++,,,    `````````,,,+++      
             +++++++++,,,    `````````,,,+++      
             +++++++++,,,    `````````,,,+++      
    +++++++++,,,      ```````````````````,,,+++   
    +++++++++,,,      ```````````````````,,,+++   
    +++++++++,,,      ```````````````````,,,+++   
++++:::         ```````````````````;;;;;;;;;;;;+++
++++:::         ```````````````````;;;;;;;;;;;;+++
++++:::         ```````````````````;;;;;;;;;;;;+++
++++   :::```````````````;;;;;;;;;;::::::::::::+++
++++   :::```````````````;;;;;;;;;;::::::::::::+++
++++   :::```````````````;;;;;;;;;;::::::::::::+++
++++   ```:::```;;;;;;;;;::::::::::::::::;;;;;;+++
++++   ```:::```;;;;;;;;;::::::::::::::::;;;;;;+++
++++   ```:::```;;;;;;;;;::::::::::::::::;;;;;;+++
++++   ```:::```;;;;;;;;;::::::::::::::::;;;;;;+++
++++``````,,,;;;::::::::::::::::;;;;;;;;;;;;;;;+++
++++``````,,,;;;::::::::::::::::;;;;;;;;;;;;;;;+++
++++``````,,,;;;::::::::::::::::;;;;;;;;;;;;;;;+++
++++::::::,,,;;;:::::::::;;;;;;;;;;;;;+++++++++   
++++::::::,,,;;;:::::::::;;;;;;;;;;;;;+++++++++   
++++::::::,,,;;;:::::::::;;;;;;;;;;;;;+++++++++   
    +++::::::;;;;;;;;;;;;;;;;+++++++++            
    +++::::::;;;;;;;;;;;;;;;;+++++++++            
    +++::::::;;;;;;;;;;;;;;;;+++++++++            
       +++:::;;;;;;++++++++++                     
       +++:::;;;;;;++++++++++                     
       +++:::;;;;;;++++++++++                     
          +++++++++                               
          +++++++++                               
          +++++++++                               
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                ++++++            
                                ++++++            
                                ++++++            
                      ++++++++++,,,,,,+++         
                      ++++++++++,,,,,,+++         
                      ++++++++++,,,,,,+++         
             +++++++++,,,   ``````````,,,+++      
             +++++++++,,,   ``````````,,,+++      
             +++++++++,,,   ``````````,,,+++      
   ++++++++++,,,      ```````````````````,,,+++   
   ++++++++++,,,      ```````````````````,,,+++   
   ++++++++++,,,      ```````````````````,,,+++   
+++::::         ```````````````````''''''''''''###
+++::::         ```````````````````''''''''''''###
+++::::         ```````````````````''''''''''''###
+++    :::```````````````''''''''''::::::::::::###
+++    :::```````````````''''''''''::::::::::::###
+++    :::```````````````''''''''''::::::::::::###
+++    ```:::```'''''''''::::::::::::::::;;;;;;###
+++    ```:::```'''''''''::::::::::::::::;;;;;;###
+++    ```:::```'''''''''::::::::::::::::;;;;;;###
+++    ```:::```'''''''''::::::::::::::::;;;;;;###
+++```````,,,;;;::::::::::::::::;;;;;;;;;;;;'''###
+++```````,,,;;;::::::::::::::::;;;;;;;;;;;;'''###
+++```````,,,;;;::::::::::::::::;;;;;;;;;;;;'''###
+++:::::::,,,;;;:::::::::;;;;;;;;;;'''#########   
+++:::::::,,,;;;:::::::::;;;;;;;;;;'''#########   
+++:::::::,,,;;;:::::::::;;;;;;;;;;'''#########   
   ++++::::::;;;;;;;;;;;;;;;##########            
   ++++::::::;;;;;;;;;;;;;;;##########            
   ++++::::::;;;;;;;;;;;;;;;##########            
       +++:::;;;'''#########                      
       +++:::;;;'''#########                      
       +++:::;;;'''#########                      
          +++######                               
          +++######                               
          +++######                               
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                           ++++###
                                           ++++###
                                           ++++###
                                           ++++###
                                       ++++''''###
                                       ++++''''###
                                       ++++''''###
                                       ++++''''###
                                   ++++''''####   
                                   ++++''''####   
                                   ++++''''####   
                                   ++++''''####   
                               ++++++++####       
                               ++++++++####       
                               ++++++++####       
                               ++++++++####       
                           ++++''''####           
                           ++++''''####           
                           ++++''''####           
                           ++++''''####           
                        +++++++####               
                        +++++++####               
                        +++++++####               
                        +++++++####               
                    ++++'''####                   
                    ++++'''####                   
                    ++++'''####                   
                ++++++++###                       
                ++++++++###                       
                ++++++++###                       
                ++++++++###                       
            ++++''''####                          
            ++++''''####                          
            ++++''''####                          
            ++++''''####                          
        ++++++++####                              
        ++++++++####                              
        ++++++++####                              
        ++++++++####                              
    ++++''''####                                  
    ++++''''####                                  
    ++++''''####                                  
    ++++''''####                                  
++++''''####                                      
++++''''####                                      
++++''''####                                      
++++''''####                                      
########                                          
########                                          
########                                          
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
             #########################            
             #########################            
             #########################            
             #########################            
     ########+++++++++++++++++++++++++########    
     ########+++++++++++++++++++++++++########    
     ########+++++++++++++++++++++++++########    
     ########+++++++++++++++++++++++++########    
#########+++++++++++++++++++++++++++++++++++++####
#########+++++++++++++++++++++++++++++++++++++####
#########+++++++++++++++++++++++++++++++++++++####
#########+++++++++++++++++++++++++++++++++++++####
#############+++++++++++++++++++++++++############
#############+++++++++++++++++++++++++############
#############+++++++++++++++++++++++++############
#############+++++++++++++++++++++++++############
#####++++++++#####################################
#####++++++++#####################################
#####++++++++#####################################
#####++++++++#####################################
#####++++++++#####################################
     ####+++++++++++++++++++++++++++++########    
     ####+++++++++++++++++++++++++++++########    
     ####+++++++++++++++++++++++++++++########    
     ####+++++++++++++++++++++++++++++########    
         ########+++++++++++++++++########        
         ########+++++++++++++++++########        
         ########+++++++++++++++++########        
         ########+++++++++++++++++########        
                 #################                
                 #################                
                 #################                
                 #################                
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                              ````                
                              ````                
                              ````                
                              ++++                
                              ++++                
                              ++++                
                              ++++                
                           ```    +++             
                           ```    +++             
                           ```    +++             
                           +++    ```             
                           +++    ```             
                           +++    ```             
                              +++++++             
                              +++++++             
                              +++++++             
                              +++++++             
       ```++++                       +++````      
       ```++++                       +++````      
       ```++++                       +++````      
       +++       ```    ```             ++++      
       +++       ```    ```             ++++      
       +++       ```    ```             ++++      
    ```          +++++++++++++````          ```   
    ```          +++++++++++++````          ```   
    ```          +++++++++++++````          ```   
    ```          +++++++++++++````          ```   
    +++       +++```          +++++++```          
    +++       +++```          +++++++```          
    +++       +++```          +++++++```          
       +++````   +++++++             +++    ```   
       +++````   +++++++             +++    ```   
       +++````   +++++++             +++    ```   
          +++++++```    ```   ````+++       +++   
          +++++++```    ```   ````+++       +++   
          +++++++```    ```   ````+++       +++   
          +++++++```    ```   ````+++       +++   
                 +++++++++++++++++   ```++++      
                 +++++++++++++++++   ```++++      
                 +++++++++++++++++   ```++++      
                        +++   ````   +++          
                        +++   ````   +++          
                        +++   ````   +++          
                           ++++++++++             
                           ++++++++++             
                           ++++++++++             
                           ++++++++++             
                                                  
                                          ````    
                                          ````    
                                          ````    
                                          ````    
                                      ````````    
                                          ````    
                                          ````    
                                          ````    
                                          ````    
                                      ````        
                                      ````        
                                      ````        
                                      ````        
                                  ````    ````    
                                  ````    ````    
                                  ````    ````    
                                  ````    ````    
                     `````````    ````    ````    
                     `````````    ````    ````    
                     `````````    ````    ````    
                     `````````    ````    ````    
                              ````        ;;;;    
                              ````        ;;;;    
                              ````        ;;;;    
                              ````        ;;;;    
             ````````    `````    ````;;;;        
             ````````    `````    ````;;;;        
             ````````    `````    ````;;;;        
             ````````    `````    ````;;;;        
         ````        ````         ````            
                     ````         ````            
                     ````         ````            
                     ````         ````            
         ````````    ````         ````            
                 ,,,,    `````    ;;;;            
                 ,,,,    `````    ;;;;            
                 ,,,,    `````    ;;;;            
                 ,,,,    `````    ;;;;            
             ,,,,''''    `````;;;;                
             ,,,,''''    `````;;;;                
             ,,,,''''    `````;;;;                
             ,,,,''''    `````;;;;                
     ,,,,,,,,''''    `   ;;;;;                    
     ,,,,,,,,''''    `   ;;;;;                    
     ,,,,,,,,''''    `   ;;;;;                    
     ,,,,,,,,''''    `   ;;;;;                    
     ''''''''        ;;;;                         
     ''''''''        ;;;;                         
     ''''''''        ;;;;                         
     ''''''''        ;;;;                         
                                                  
                                                  
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                 ++++;;;;;;;;+++++                
                 ++++;;;;;;;;+++++                
                 ++++;;;;;;;;+++++                
                 ++++;;;;;;;;+++++                
             ++++::::;;;;'''''''''++++            
             ++++::::;;;;'''''''''++++            
             ++++::::;;;;'''''''''++++            
             ++++::::;;;;'''''''''++++            
         ++++;;;;;;;;;;;;;;;;'''''''''++++        
         ++++;;;;;;;;;;;;;;;;'''''''''++++        
         ++++;;;;;;;;;;;;;;;;'''''''''++++        
         ++++;;;;;;;;;;;;;;;;'''''''''++++        
    +++++;;;;;;;;;;;;;;;;;;;;'''''++++''''++++    
    +++++;;;;;;;;;;;;;;;;;;;;'''''++++''''++++    
    +++++;;;;;;;;;;;;;;;;;;;;'''''++++''''++++    
    +++++;;;;;;;;;;;;;;;;;;;;'''''++++''''++++    
++++;;;;;;;;;;;;;'''';;;;::::'''''''''''''''''++++
++++;;;;;;;;;;;;;'''';;;;::::'''''''''''''''''++++
++++;;;;;;;;;;;;;'''';;;;::::'''''''''''''''''++++
++++;;;;;;;;;;;;;'''';;;;::::'''''''''''''''''++++
++++;;;;;'''';;;;;;;;;;;;;;;;'''''''''++++''''++++
++++;;;;;'''';;;;;;;;;;;;;;;;'''''''''++++''''++++
++++;;;;;'''';;;;;;;;;;;;;;;;'''''''''++++''''++++
++++;;;;;'''';;;;;;;;;;;;;;;;'''''''''++++''''++++
++++;;;;;'''';;;;;;;;;;;;;;;;'''''''''++++''''++++
++++''''';;;;::::;;;;;;;;;;;;'''''''''''''''''++++
++++''''';;;;::::;;;;;;;;;;;;'''''''''''''''''++++
++++''''';;;;::::;;;;;;;;;;;;'''''''''''''''''++++
++++''''';;;;::::;;;;;;;;;;;;'''''''''''''''''++++
    +++++'''''''';;;;;;;;++++'''''''''''''++++    
    +++++'''''''';;;;;;;;++++'''''''''''''++++    
    +++++'''''''';;;;;;;;++++'''''''''''''++++    
    +++++'''''''';;;;;;;;++++'''''''''''''++++    
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
         '''''                       ''''         
         '''''                       ''''         
         '''''                       ''''         
         '''''                       ''''         
         ;;;;;                           '''''    
         ;;;;;                           '''''    
         ;;;;;                           '''''    
         ;;;;;                           '''''    
         ;;;;;                           '''''    
         #####                           ;;;;;;;;;
         #####                           ;;;;;;;;;
         #####                           ;;;;;;;;;
         #####                           ;;;;;;;;;
     ''''              ;;;;'''''         #########
     ''''              ;;;;'''''         #########
     ''''              ;;;;'''''         #########
     ''''              ;;;;'''''         #########
     ''''              ;;;;'''''         #########
     ''''     ::::     #########                  
     ''''     ::::     #########                  
     ''''     ::::     #########                  
     ''''     ::::     #########                  
;;;;;''''     ####                                
;;;;;''''     ####                                
;;;;;''''     ####                                
;;;;;''''     ####                                
;;;;;''''     ####                                
#########              ''''          ::::'''''    
#########              ''''          ::::'''''    
#########              ''''          ::::'''''    
#########              ''''          ::::'''''    
#########              ''''          ::::'''''    
                  ;;;;;''''          #########    
                  ;;;;;''''          #########    
                  ;;;;;''''          #########    
                  ;;;;;''''          #########    
                  #########                       
                  #########                       
                  #########                       
                  #########                       
                  #########                       
                                                  
                                                  
                                                  
                                                  
                              '''                 
                              '''                 
                              '''                 
                        ,,,:::'''   ''''          
                        ,,,:::'''   ''''          
                        ,,,:::'''   ''''          
                        ,,,:::'''   ''''          
               ''''''   :::;;;''''''          ''' 
               ''''''   :::;;;''''''          ''' 
               ''''''   :::;;;''''''          ''' 
                  ,,,:::''':::,,,'''::::''''''    
                  ,,,:::''':::,,,'''::::''''''    
                  ,,,:::''':::,,,'''::::''''''    
                  :::'''::::::''';;;++++'''       
                  :::'''::::::''';;;++++'''       
                  :::'''::::::''';;;++++'''       
                  ,,,:::;;;,,,:::''';;;;''',,,''' 
                  ,,,:::;;;,,,:::''';;;;''',,,''' 
                  ,,,:::;;;,,,:::''';;;;''',,,''' 
                  ,,,:::,,,;;;''':::'''',,,:::    
                  ,,,:::,,,;;;''':::'''',,,:::    
                  ,,,:::,,,;;;''':::'''',,,:::    
               ,,,:::,,,+++''''''''':::::::'''''' 
               ,,,:::,,,+++''''''''':::::::'''''' 
               ,,,:::,,,+++''''''''':::::::'''''' 
               ,,,,,,;;;''''''+++'''''''######    
               ,,,,,,;;;''''''+++'''''''######    
               ,,,,,,;;;''''''+++'''''''######    
           ++++###'''''''''''''''#######          
           ++++###'''''''''''''''#######          
           ++++###'''''''''''''''#######          
           ++++###'''''''''''''''#######          
        ,,,####+++###''''''######'''''''          
        ,,,####+++###''''''######'''''''          
        ,,,####+++###''''''######'''''''          
  ,,,;;;:::::::############      #######'''       
  ,,,;;;:::::::############      #######'''       
  ,,,;;;:::::::############      #######'''       
  :::::::::'''''''###                             
  :::::::::'''''''###                             
  :::::::::'''''''###                             
  ###:::'''++++###                                
  ###:::'''++++###                                
  ###:::'''++++###                                
  :::######''''###                                
  :::######''''###                                
  :::######''''###                                
  ###      ####                                   
  ###      ####                                   
  ###      ####                                   
                                                  
                                                  
                                                  
                                                  
                             ''''''               
                             ''''''               
                             ''''''               
                      ''''''';;;;;;'''+++         
                      ''''''';;;;;;'''+++         
                      ''''''';;;;;;'''+++         
                   ''';;;'''''''''''''++++++      
                   ''';;;'''''''''''''++++++      
                   ''';;;'''''''''''''++++++      
                ''';;;+++++++''''''''''''+++###   
                ''';;;+++++++''''''''''''+++###   
                ''';;;+++++++''''''''''''+++###   
             ''';;;''';;;;;;;+++'''''''''+++###   
             ''';;;''';;;;;;;+++'''''''''+++###   
             ''';;;''';;;;;;;+++'''''''''+++###   
          ''';;;''''''''''''';;;''''''++++++###   
          ''';;;''''''''''''';;;''''''++++++###   
          ''';;;''''''''''''';;;''''''++++++###   
       ''';;;++++++''''''''''''''''++++++###      
       ''';;;++++++''''''''''''''''++++++###      
       ''';;;++++++''''''''''''''''++++++###      
       '''''';;;;;;+++''''''''''++++++###         
       '''''';;;;;;+++''''''''''++++++###         
       '''''';;;;;;+++''''''''''++++++###         
       '''''';;;;;;+++''''''''''++++++###         
    ''';;;''''''''';;;'''++++++++++###            
    ''';;;''''''''';;;'''++++++++++###            
    ''';;;''''''''';;;'''++++++++++###            
    ''';;;''''''''''''++++++++++###               
    ''';;;''''''''''''++++++++++###               
    ''';;;''''''''''''++++++++++###               
    ''';;;''''''''''''+++++++###                  
    ''';;;''''''''''''+++++++###                  
    ''';;;''''''''''''+++++++###                  
       +++''''''+++++++++####                     
       +++''''''+++++++++####                     
       +++''''''+++++++++####                     
       +++++++++++++++###                         
       +++++++++++++++###                         
       +++++++++++++++###                         
          +++#########                            
          +++#########                            
          +++#########                            
                                                  
                                                  
                                                  
                         ########                 
                         ########                 
                         ########                 
                         ########                 
                     ####....++++@@@@             
                     ####....++++@@@@             
                     ####....++++@@@@             
                     ####....++++@@@@             
                  ###....;;;;++++@@@@             
                  ###....;;;;++++@@@@             
                  ###....;;;;++++@@@@             
                  ###....;;;;++++@@@@             
              ####...;;;;;;;;++++####@@@@         
              ####...;;;;;;;;++++####@@@@         
              ####...;;;;;;;;++++####@@@@         
              ####...;;;;;;;;++++####@@@@         
          ####....;;;;;;;''''++++####@@@@         
          ####....;;;;;;;''''++++####@@@@         
          ####....;;;;;;;''''++++####@@@@         
          ####....;;;;;;;''''++++####@@@@         
      ####....;;;;;;;''''++++++++########@@@@     
      ####....;;;;;;;''''++++++++########@@@@     
      ####....;;;;;;;''''++++++++########@@@@     
  ####....;;;;;;;;'''++++++++++++++++####@@@@     
  ####....;;;;;;;;'''++++++++++++++++####@@@@     
  ####....;;;;;;;;'''++++++++++++++++####@@@@     
  ####....;;;;;;;;'''++++++++++++++++####@@@@     
  ####;;;;;;;;''''+++++++++++++++++++########@@@  
  ####;;;;;;;;''''+++++++++++++++++++########@@@  
  ####;;;;;;;;''''+++++++++++++++++++########@@@  
  ####;;;;;;;;''''+++++++++++++++++++########@@@  
  ####;;;;''''+++++++++++++++++++############@@@  
  ####;;;;''''+++++++++++++++++++############@@@  
  ####;;;;''''+++++++++++++++++++############@@@  
  ####;;;;''''+++++++++++++++++++############@@@  
  @@@@###################++++############@@@@     
  @@@@###################++++############@@@@     
  @@@@###################++++############@@@@     
  @@@@###################++++############@@@@     
      @@@@###################++++####@@@@         
      @@@@###################++++####@@@@         
      @@@@###################++++####@@@@         
      @@@@###################++++####@@@@         
          @@@@###################@@@@             
          @@@@###################@@@@             
          @@@@###################@@@@             
              @@@@@@@@@@@@@@@@@@@                 
              @@@@@@@@@@@@@@@@@@@                 
              @@@@@@@@@@@@@@@@@@@                 
              @@@@@@@@@@@@@@@@@@@                 
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                             ;;;::::::;;;         
                             ;;;::::::;;;         
                             ;;;::::::;;;         
                         ::::::::::,,,:::'''      
                         ::::::::::,,,:::'''      
                         ::::::::::,,,:::'''      
                      :::....,,,,,,...:::```'''   
                      :::....,,,,,,...:::```'''   
                      :::....,,,,,,...:::```'''   
                   ::::::::::,,,,,,,,,,,,```'''   
                   ::::::::::,,,,,,,,,,,,```'''   
                   ::::::::::,,,,,,,,,,,,```'''   
             ;;;:::::::::,,,,::::::,,,```...+++   
             ;;;:::::::::,,,,::::::,,,```...+++   
             ;;;:::::::::,,,,::::::,,,```...+++   
          ;;;...,,,:::,,,::::,,,:::...```'''+++   
          ;;;...,,,:::,,,::::,,,:::...```'''+++   
          ;;;...,,,:::,,,::::,,,:::...```'''+++   
          :::,,,,,,...,,,,,,,,,,,,,```...'''      
          :::,,,,,,...,,,,,,,,,,,,,```...'''      
          :::,,,,,,...,,,,,,,,,,,,,```...'''      
          :::,,,,,,...,,,,,,,,,,,,,```...'''      
       :::,,,,,,::::::```,,,,...```...'''+++      
       :::,,,,,,::::::```,,,,...```...'''+++      
       :::,,,,,,::::::```,,,,...```...'''+++      
       ;;;...,,,,,,...``````````...'''+++         
       ;;;...,,,,,,...``````````...'''+++         
       ;;;...,,,,,,...``````````...'''+++         
          ''''''`````````....''''''+++            
          ''''''`````````....''''''+++            
          ''''''`````````....''''''+++            
          '''''''''''''''''''+++                  
          '''''''''''''''''''+++                  
          '''''''''''''''''''+++                  
                +++++++++++++                     
                +++++++++++++                     
                +++++++++++++                     
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                           ''';;;;;;''''          
                           ''';;;;;;''''          
                           ''';;;;;;''''          
                        '''::::::;;;::::'''       
                        '''::::::;;;::::'''       
                        '''::::::;;;::::'''       
                     ''';;;,,,...:::,,,,:::'''    
                     ''';;;,,,...:::,,,,:::'''    
                     ''';;;,,,...:::,,,,:::'''    
                  ''':::,,,,,,,,,.......:::'''    
                  ''':::,,,,,,,,,.......:::'''    
                  ''':::,,,,,,,,,.......:::'''    
           '''';;;,,,:::...,,,,,,,,,,,,,:::'''    
           '''';;;,,,:::...,,,,,,,,,,,,,:::'''    
           '''';;;,,,:::...,,,,,,,,,,,,,:::'''    
        '''::::,,,...,,,,,,......,,,::::;;;'''    
        '''::::,,,...,,,,,,......,,,::::;;;'''    
        '''::::,,,...,,,,,,......,,,::::;;;'''    
        ;;;,,,,,,,,,,...,,,,,,......::::'''       
        ;;;,,,,,,,,,,...,,,,,,......::::'''       
        ;;;,,,,,,,,,,...,,,,,,......::::'''       
        ;;;,,,,,,,,,,...,,,,,,......::::'''       
     ;;;:::....,,,,,,,,,...,,,,,,:::;;;;'''       
     ;;;:::....,,,,,,,,,...,,,,,,:::;;;;'''       
     ;;;:::....,,,,,,,,,...,,,,,,:::;;;;'''       
     ;;;:::..........::::::...,,,'''''''          
     ;;;:::..........::::::...,,,'''''''          
     ;;;:::..........::::::...,,,'''''''          
        ;;;,,,,,,,...,,,:::;;;''''''              
        ;;;,,,,,,,...,,,:::;;;''''''              
        ;;;,,,,,,,...,,,:::;;;''''''              
        ''';;;;;;;;;;;;;''''''                    
        ''';;;;;;;;;;;;;''''''                    
        ''';;;;;;;;;;;;;''''''                    
               ''''''''''''                       
               ''''''''''''                       
               ''''''''''''                       
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                        +++                       
                        +++                       
                        +++                       
                        +++                       
                    ++++###++++                   
                    ++++###++++                   
                    ++++###++++                   
                 +++####   ####+++                
                 +++####   ####+++                
                 +++####   ####+++                
                 +++####   ####+++                
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::,,,,::::,,,::::,,,::::,,,::::,,,,:::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::,,,,:::,,,,:::,,,,:::,,,,:::::::++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  ++++:::::::::::::::::::::::::::::::::::::::++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  +++++++++++++++++++++++++++++++++++++++++++++++ 
  ############################################### 
  ############################################### 
  ############################################### 
                                                  
          `:,                                     
         ''''',                                   
         ''''';::                                 
         +'''''';;:                               
         ''''''''';;:                             
         ''''''''''';;:                           
         ++''''''''''';;:                         
         '+++'''''''++'';:,                       
         '''+++''''''+'''':;:                     
         ''''++++'''''''''''::,                   
         ''''+''++'+''''''''''::,                 
         '''''''''++''''''''''''';,               
         +''''''''''++'''''''''''';::             
         '++''''''''''++'''''+'''''';;:           
         '''++''''''''''++'''''''''''';;:         
         +'''+++''''+'''''++''''''''''''+,        
         +'''''+++''''''''''+++''''''''+#,        
         '''''''''++''''''''''++'''''''++,        
         +''''''''''++''''''''''+++''''++,        
         '++''''''''''++'''''''''++++''#+,        
           '++'''''''''+++'''''''+''+++##,        
             '++'''''''+''++''''''''''+#+,        
               '++''''''''''++'''''''''++,        
                 '++''+'''''''++'''''''+#,        
                   '+++'''''''''++'''''++,        
                     '++'''''+'''+++'''++,        
                       +++'''+'''''+++'+#,        
                       +'+++'''''''''++##,        
                       ++##+++'''''''''++,        
                       +###+ '++'''''''++,        
                       +###+   '++'''''++,        
                       +####     '++'''++,        
                       +####       '++'+#,        
                       ++###         '+#+         
                       ++###                      
                       ++++#                      
                       #++##                      
                       #++##                      
                       #++##                      
                       #++##                      
                       #++#+                      
                       #+##+                      
                       #+##+                      
                       #+##+                      
                       #+##+                      
                       #+##+                      
                       #+###                      
                       ++###                      
                        `#                        
                                                  
                 :;'.                             
                '+''';.                           
                ''++'';;.                         
                '+''++'';;.                       
                '+++''++''';.                     
                ++++++''++'';;.                   
                ++#+++++''++'';;.                 
                #++  +++++''++''''.               
                +++    +++++''++++#               
                '++    +++++++'+++#               
                '++,   '+  +++++++#               
                '+#+', '+    ++#++#               
                '++##'''+    ++#+##               
                '++ :##'+,   '+####               
                '++   :+++', '+++##               
                '++    '++++''+#+##               
                '++    '+ :##'++++#               
                '++++  '+   :++++##               
                '++''++'+    '+####               
                '+++'''++    '+#++#               
                #+++++''+++  '+####               
                +++++++++''++'+#+##               
                ++++++++++'''++#+##               
                '++++++'++++'++####               
                '+++++++++++++++++#               
                ++++''+'+++###+++##               
                '+#+++''+++###++++#               
                '++++++++'++++#+###               
                '+++++++++''+'+####               
                '+++++++++++''+#++#               
                '++++++'++#++++#++#               
                '++++++'+++##++#++#               
                '++++++'+++++++####               
                '++++++'+++++'+####               
                #++++++++++++'+++##               
                +++++++++++++'+#+##               
                '++++++++++++'++++#               
                '++++++'+++++++++##               
                '++++++'+++++++##+#               
                '++'+++++++++++#+##               
                ++++''+'+++++'+####               
                 ##+++''+++++'+#+##               
                   ##++++'+++++#+##               
                     ##+++''+++##+#               
                       ##+++''+++##               
                         ##++++++##               
                           ##+++++#               
                             ##+###               
                               ##                 
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
  ++++'''''''';;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++'''''''';;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++'''''''';;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++'''''''';;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ''''++++'''';;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++'''';;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++'''';;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++'''';;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````````````+++++++++++++++::::::::;;;++++  
  ''''````````````+++++++++++++++::::::::;;;++++  
  ''''````````````+++++++++++++++::::::::;;;++++  
  ''''````````    ```,,,,,,,,,,,,::::::::;;;++++  
  ''''````````    ```,,,,,,,,,,,,::::::::;;;++++  
  ''''````````    ```,,,,,,,,,,,,::::::::;;;++++  
  ''''````````    ```,,,,,,,,,,,,::::::::;;;++++  
      ''''````    ```,,,,,,,,,,,,::::;;;;+++      
      ''''````    ```,,,,,,,,,,,,::::;;;;+++      
      ''''````    ```,,,,,,,,,,,,::::;;;;+++      
      ''''````    ```,,,,,,,,,,,,::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
      ++++++++;;;;;;;;;;;;;;;;;;;::::'''''''      
  ++++;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ++++;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::++++  
  ''''++++;;;;;;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++;;;;;;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++;;;;;;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''++++;;;;;;;;;;;;;;;;;;;;;;;::::::::+++++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````++++++++;;;;;;;;;;;;;;;++++++++;;;++++  
  ''''````````````+++++++++++++++;;;;;;;;;;;++++  
  ''''````````````+++++++++++++++;;;;;;;;;;;++++  
  ''''````````````+++++++++++++++;;;;;;;;;;;++++  
  ''''````````    :::,,,,,,,,,,,,;;;;::::;;;++++  
  ''''````````    :::,,,,,,,,,,,,;;;;::::;;;++++  
  ''''````````    :::,,,,,,,,,,,,;;;;::::;;;++++  
  ''''````````    :::,,,,,,,,,,,,;;;;::::;;;++++  
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
      ++++++++:::::::::::::::::::::::'''''''      
      ++++++++:::::::::::::::::::::::'''''''      
      ++++++++:::::::::::::::::::::::'''''''      
      ++++++++:::::::::::::::::::::::'''''''      
  ++++;;;;;;;;'''':::,,,,,,,,::::;;;;::::,,,++++  
  ++++;;;;;;;;'''':::,,,,,,,,::::;;;;::::,,,++++  
  ++++;;;;;;;;'''':::,,,,,,,,::::;;;;::::,,,++++  
  ++++;;;;;;;;'''':::,,,,,,,,::::;;;;::::,,,++++  
  ''''++++::::,,,,,,,::::,,,,,,,,::::;;;;+++++++  
  ''''++++::::,,,,,,,::::,,,,,,,,::::;;;;+++++++  
  ''''++++::::,,,,,,,::::,,,,,,,,::::;;;;+++++++  
  ''''++++::::,,,,,,,::::,,,,,,,,::::;;;;+++++++  
  ''''````++++++++,,,''''::::::::++++++++,,,++++  
  ''''````++++++++,,,''''::::::::++++++++,,,++++  
  ''''````++++++++,,,''''::::::::++++++++,,,++++  
  ''''````++++++++,,,''''::::::::++++++++,,,++++  
  ''''````````````+++++++++++++++,,,,;;;;;;;++++  
  ''''````````````+++++++++++++++,,,,;;;;;;;++++  
  ''''````````````+++++++++++++++,,,,;;;;;;;++++  
  ''''````````    ;;;............::::::::;;;++++  
  ''''````````    ;;;............::::::::;;;++++  
  ''''````````    ;;;............::::::::;;;++++  
  ''''````````    ;;;............::::::::;;;++++  
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````    ```,,,,,,,,,,,,;;;;;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::::::;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
      ''''````````   ````,,,,::::;;;;;;;;+++      
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
                                                  
                          `,,`                    
                        `,,;;:,`                  
                      `,,::::,,,,`                
                    `,,;;;++'';;;,,`              
                  `:,'+++++++'';++',,`            
                `,:'++++++#+++';;;'';,,`          
               ,,;''++++###+++++';;;'';::`        
             ,,;''+++++####+++'++'';;;++',,`      
           ,,'+''++++++++#++'+'+++''';;;++',,`    
         ,,;'''''++#++#++#++'++'++++++';;;;;:,,`  
       ,,,;;++'++++#++#++##+'##'+++#++''+;;;:;;,,`
     ,,:;,+++++++###++######+##+++++++'+++'::,::''
  `:,,::+++++++#+###+#######+++++##+++'#':;:,,'+''
 ,,,;;;'++#++###+#############+#+###++';:,,,'''+''
 ;;,,,:;'##++###+###############+++#+'':,,'''''+''
 ;;;;,,,++#+++##################+#+++:,,'''+''''''
 ;'';;':,:#++##############++###+'':,,++'+'+'+''''
 ;;';'''':::''+##########++##++'':,,++++++'+++''''
 ;;;;';;';;:,,''+######++####++;,,++++++++++++''''
 ;';;;;;';;;;,,,+++##++####+#;,:+++++++++++++++'''
 ;''';;;';'';;;,,,';'###+;':,,'++++++++++++++++'''
 ;;;';';;;'''';;;,,,,,;:::,,'++++++++++++++++++'''
 ;;;;''';;;;''';;;;,,:;:,,++++++++++++++++++++++''
 ;'';''';'';''';';;;;,,,'+++++++++++++++++++++++''
 ;;';';';;';''''';;';;;''++++''+'+++++++++++++++''
 ;;;;';;';;;';'';;;';;;''++++'++'++'++++'++'++++''
 ;;;;;;;';;;;'''';;;;;;''+++++++++++++''''+'++'+''
 ';;';;;;;'';'''''';;;;''+'+++++++++++'+''++++++'`
 ;;;;;'';;;';'''''';;;;''''+++++++++++++++++##+`  
 ;;;;;;';';';'';'''';;;''''''+++'++++++'++@@#`    
  ;;;;;;;';;;;;;''''';;''''+'+'''+++++''##@`      
    ;;;;;;;;'';;;'''';;''''+'''+'+++++++#`        
      ;;;;;;;''';''''''''''''+'+'++++++`          
        ;;;;;;;';'''''''''''+++++++++`            
          ;;;;;;;';;'''''++'+++++++`              
            ;;;;;;;;;''''+++++@#+`                
              ;;;;;;;''''+++@@@`                  
                ;;;;;;;'+++#@`                    
                  ;;;;;'+++`                      
                    ;;;'+`                        
                      ;`                          
                               #######            
                               #######            
                               #######            
                               #######            
                        #######'''''''###         
                        #######'''''''###         
                        #######'''''''###         
                    ####::::::::::;;;;'''####     
                    ####::::::::::;;;;'''####     
                    ####::::::::::;;;;'''####     
                    ####::::::::::;;;;'''####     
             #######;;;;;;;:::::::;;;;;;;''''#### 
             #######;;;;;;;:::::::;;;;;;;''''#### 
             #######;;;;;;;:::::::;;;;;;;''''#### 
             #######;;;;;;;:::::::;;;;;;;''''#### 
      #######:::;;;;;;;;;;;;;;;::::::::::;;;;#### 
      #######:::;;;;;;;;;;;;;;;::::::::::;;;;#### 
      #######:::;;;;;;;;;;;;;;;::::::::::;;;;#### 
  ####::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;#### 
  ####::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;#### 
  ####::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;#### 
  ####::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;#### 
  ####''':::::::::::::::;;;;;;;;;;;;;;;;;''''#### 
  ####''':::::::::::::::;;;;;;;;;;;;;;;;;''''#### 
  ####''':::::::::::::::;;;;;;;;;;;;;;;;;''''#### 
  #######++++;;;;;;;;;;;:::;;;;;;;''''+++####     
  #######++++;;;;;;;;;;;:::;;;;;;;''''+++####     
  #######++++;;;;;;;;;;;:::;;;;;;;''''+++####     
  #######++++;;;;;;;;;;;:::;;;;;;;''''+++####     
         ####+++;;;;;;;;;;;''''+++++++###         
         ####+++;;;;;;;;;;;''''+++++++###         
         ####+++;;;;;;;;;;;''''+++++++###         
             ###''''''''+++++++##########         
             ###''''''''+++++++##########         
             ###''''''''+++++++##########         
             ###''''''''+++++++##########         
             ###++++++++#######       ###         
             ###++++++++#######       ###         
             ###++++++++#######       ###         
             ###++++++++#######       ###         
             ###########          @@@@###@@@@     
             ###########          @@@@###@@@@     
             ###########          @@@@###@@@@     
                                  @@@@   @@@@     
                                  @@@@   @@@@     
                                  @@@@   @@@@     
                                  @@@@   @@@@     
                                  @@@@@@@         
                                  @@@@@@@         
                                  @@@@@@@         
                                                  
                 :::`                             
                ;;::::`                           
                ;;;;::::`                         
                ;;;;;;::::`                       
                ;;;;;;;;::::`                     
                ;;;;;;;;;;::::`                   
                ';;;;;;;;;;;::::`                 
                +;;  ;;;;;;;;;:::;.               
                ';;    ;;;;;;;;;;''               
                ;;;    ;;;;;;;;;''+               
                ;;;.   ;;  ;;;;;''+               
                ;;;;;. ;;    ;;;''+               
                ;;;;;;:;;    ;;;''+               
                ;;; ,;;;;.   ;;;''+               
                ;;;   ,;;;;. ;;;''+               
                ;;;    ;;;;;:;;;''+               
                ;;;    :; ,;;;;;''+               
                ;;;;;  :;   ,;;;'++               
                ;;;::;;:;    ;;;+++               
                ;;;;:::;;    ;;;+++               
                +;;;;;::;;;  ;;;+++               
                ';;;;;;;;;;;;;;;+++               
                ';;;;;;;;;;;;;;;+++               
                :;;;;;;;;;;;;;;'+++               
                :;;;;;;;;;;;;;;;+++               
                ;;;;::;;;;;;;;;;+++               
                :;;;;;:;;;;;;;;'+++               
                :;;;;;;;;;;;;;;'+++               
                ;;;;;;;;;;;;;;;;+''               
                ;;;;;;;;;;;;;;;;''+               
                ;;;;;;;;;;;;;;;;''+               
                ;;;;;;;;;;;;;;;;''+               
                ;;;;;;;;;;;;;;;;''+               
                ;';;;;;;;;;;;;;;''+               
                +''';'';;;;;;;;;''+               
                ''''''''';;;;;;;''+               
                ''''''''''';;;;;''+               
                ''''''';''''';;''++               
                ''''''''''''''''+++               
                ''''''''''''''''+++               
                ''''''''''''''''+++               
                 '''''''''''''''+++               
                   '''''''''''''+++               
                     '''''''''''+++               
                       '''''''''+++               
                         '''''''+++               
                           '''''+++               
                             '''+++               
                               '+                 
                                                  
                                                  
                     ########                     
                     ########                     
                     ########                     
                     ########                     
                     ########                     
                 #################                
                 #################                
                 #################                
                 #################                
             ####''''#################            
             ####''''#################            
             ####''''#################            
             ####''''#################            
         #################################        
         #################################        
         #################################        
         #################################        
    ##################################''''####    
    ##################################''''####    
    ##################################''''####    
    ##################################''''####    
####'''''################''''#####################
####'''''################''''#####################
####'''''################''''#####################
####'''''################''''#####################
##################################################
##################################################
##################################################
##################################################
##################################################
#############''''#################################
#############''''#################################
#############''''#################################
#############''''#################################
    ##################################''''####    
    ##################################''''####    
    ##################################''''####    
    ##################################''''####    
         #################################        
         #################################        
         #################################        
         #################################        
                 #################                
                 #################                
                 #################                
                 #################                
                                                  
                                                  
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
         ;;;;;;;;````        `````;;;;;;;;        
         ;;;;;;;;````        `````;;;;;;;;        
         ;;;;;;;;````        `````;;;;;;;;        
         ;;;;;;;;````        `````;;;;;;;;        
         ;;;;;;;;````        `````;;;;;;;;        
    ;;;;;````                     ....,,,,;;;;    
    ;;;;;````                     ....,,,,;;;;    
    ;;;;;````                     ....,,,,;;;;    
    ;;;;;````                     ....,,,,;;;;    
    ;;;;;                ````     ........;;;;    
    ;;;;;                ````     ........;;;;    
    ;;;;;                ````     ........;;;;    
    ;;;;;                ````     ........;;;;    
;;;;`````        ````    `````````````````,,,,;;;;
;;;;`````        ````    `````````````````,,,,;;;;
;;;;`````        ````    `````````````````,,,,;;;;
;;;;`````        ````    `````````````````,,,,;;;;
;;;;                 ````         ````....,,,,;;;;
;;;;                 ````         ````....,,,,;;;;
;;;;                 ````         ````....,,,,;;;;
;;;;                 ````         ````....,,,,;;;;
;;;;     ````````````````             ....,,,,;;;;
;;;;     ````````````````             ....,,,,;;;;
;;;;     ````````````````             ....,,,,;;;;
;;;;     ````````````````             ....,,,,;;;;
;;;;`````                         ````....,,,,;;;;
;;;;`````                         ````....,,,,;;;;
;;;;`````                         ````....,,,,;;;;
;;;;`````                         ````....,,,,;;;;
;;;;`````                         ````....,,,,;;;;
    ;;;;;````````            `````....,,,,;;;;    
    ;;;;;````````            `````....,,,,;;;;    
    ;;;;;````````            `````....,,,,;;;;    
    ;;;;;````````            `````....,,,,;;;;    
    ;;;;;,,,,````.................,,,,,,,,;;;;    
    ;;;;;,,,,````.................,,,,,,,,;;;;    
    ;;;;;,,,,````.................,,,,,,,,;;;;    
    ;;;;;,,,,````.................,,,,,,,,;;;;    
         ;;;;;;;;,,,,,,,,,,,,,,,,,;;;;;;;;        
         ;;;;;;;;,,,,,,,,,,,,,,,,,;;;;;;;;        
         ;;;;;;;;,,,,,,,,,,,,,,,,,;;;;;;;;        
         ;;;;;;;;,,,,,,,,,,,,,,,,,;;;;;;;;        
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
                 ;;;;;;;;;;;;;;;;;                
                                                  
                          :;;                     
                        :'''';;                   
                      ,''';+';;''                 
                    ,;;';###''';;+'               
                  ,;;++######+'';;'''             
                ,''+++######+##+''';'++           
              ,;'''+++######+++##+''';;''         
            ,;;'++++########+++++##+'';;;''       
          ,;;''+++####+#####+++++++##+'';;;''     
        ,;;''+++############+++++++++##+'';;;''   
      ,;;''++###############+#+++++++++##+++';;'' 
    ,;;''+++###############+++++++++++++####'';;;+
  ,;;''+++#################+++++++++++++##''';;+++
 '''''++###############++++++++#++#++++++'';;+++##
 '''';'+###+##########+++++###+++#+++++'';;+++###+
 ++'''''++#+#######+++++++##+++++++#+'';;+++###+++
 '+++++';'''#####+++++####+++++++#+'';;#++###+++++
 '+'+#++''''++#+++++++##+++++++#+'+;;++####++###++
 ++'''##+''';;''#++++#+++++++#+''';+++###++#####++
 ++++'''+++++;;;''##+++++++#++';;#++###+++#####++,
 '+++++'''##+'';;;''+++++#+''''++####++##+###++#  
 '+'+++++'''##+'';;;''+#+';';+++###++#+##+#+###+  
   '+++++++''+##+'';;;'';''+++###+++##+##++##++#  
   #'''+++++++''#++'';;;'+++###++#####+++###+###  
   #''+''++++++'''+++''#++####+++####++#######    
   #'++++++++++++'+'+++####++###+##++##++###      
   #'++++'+''++++++'''+##++++###+++##++###        
   #''+++'+'+''++++++''++++++##++##++###          
    '++++'+'+'++++++++++#++++++##++###            
      +++'+'+'+'++++++++#++++#######              
        +'+'+'+'+++'++++#++##++###                
          +'+'+'+++'++'++#######                  
            +'+'++''+####++###                    
              +'+++'+##++###                      
                ++''+#+###                        
                  ''+###                          
                    +#                            
                                                  
                                                  
                                                  
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
     +++++++   ++++''';;;;;;;'''+++    ++++++     
     +++++++   ++++''';;;;;;;'''+++    ++++++     
     +++++++   ++++''';;;;;;;'''+++    ++++++     
     +++++++   ++++''';;;;;;;'''+++    ++++++     
     ++++'''+++;;;;;;;;;;;;;;''';;;++++'''###     
     ++++'''+++;;;;;;;;;;;;;;''';;;++++'''###     
     ++++'''+++;;;;;;;;;;;;;;''';;;++++'''###     
         +++;;;;;;;''';;;;;;;;;;;;;''''###        
         +++;;;;;;;''';;;;;;;;;;;;;''''###        
         +++;;;;;;;''';;;;;;;;;;;;;''''###        
         +++''';;;;''';;;;;;;''';;;''''###        
         +++''';;;;''';;;;;;;''';;;''''###        
         +++''';;;;''';;;;;;;''';;;''''###        
         +++''';;;;''';;;;;;;''';;;''''###        
            +++;;;;''';;;;;;;;;;'''####           
            +++;;;;''';;;;;;;;;;'''####           
            +++;;;;''';;;;;;;;;;'''####           
            +++'''';;;;;;;;;;;;;'''####           
            +++'''';;;;;;;;;;;;;'''####           
            +++'''';;;;;;;;;;;;;'''####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
            +++;;;;;;;''';;;;;;;;;;####           
         +++''''''';;;''';;;;''''''''''###        
         +++''''''';;;''';;;;''''''''''###        
         +++''''''';;;''';;;;''''''''''###        
         +++;;;;;;;;;;;;;;;;;;;;;;;''''###        
         +++;;;;;;;;;;;;;;;;;;;;;;;''''###        
         +++;;;;;;;;;;;;;;;;;;;;;;;''''###        
         +++;;;;;;;;;;;;;;;;;;;;;;;''''###        
         +++;;;''''''''''''''''';;;''''###        
         +++;;;''''''''''''''''';;;''''###        
         +++;;;''''''''''''''''';;;''''###        
     ++++''''''#######'''''''######'''''''###     
     ++++''''''#######'''''''######'''''''###     
     ++++''''''#######'''''''######'''''''###     
     ++++######       #######      ##########     
     ++++######       #######      ##########     
     ++++######       #######      ##########     
     ++++######       #######      ##########     
                                                  
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
              +++++++++++''''''''''''             
      ++++++++...................````'''''''      
      ++++++++...................````'''''''      
      ++++++++...................````'''''''      
      ++++++++...................````'''''''      
  ++++....````#######################```````++++  
  ++++....````#######################```````++++  
  ++++....````#######################```````++++  
  ++++....````#######################```````++++  
  ''''++++###############################+++++++  
  ''''++++###############################+++++++  
  ''''++++###############################+++++++  
  ''''++++###############################+++++++  
  ''''````++++++++###############++++++++;;;++++  
  ''''````++++++++###############++++++++;;;++++  
  ''''````++++++++###############++++++++;;;++++  
  ''''````++++++++###############++++++++;;;++++  
  ''''````````````+++++++++++++++########;;;++++  
  ''''````````````+++++++++++++++########;;;++++  
  ''''````````````+++++++++++++++########;;;++++  
  ''''````````#######,,,,,,,,,,,,####::::;;;++++  
  ''''````````#######,,,,,,,,,,,,####::::;;;++++  
  ''''````````#######,,,,,,,,,,,,####::::;;;++++  
  ''''````````#######,,,,,,,,,,,,####::::;;;++++  
      ''''````####```,,,,,,,,,,,,####;;;;+++      
      ''''````####```,,,,,,,,,,,,####;;;;+++      
      ''''````####```,,,,,,,,,,,,####;;;;+++      
      ''''````####```,,,,,,,,,,,,####;;;;+++      
      ''''````````###````,,,,::::::::;;;;+++      
      ''''````````###````,,,,::::::::;;;;+++      
      ''''````````###````,,,,::::::::;;;;+++      
      ''''````````###````,,,,::::::::;;;;+++      
      ''''````````###````,,,,::::####;;;;+++      
      ''''````````###````,,,,::::####;;;;+++      
      ''''````````###````,,,,::::####;;;;+++      
      ''''````````###````,,,,::::####;;;;+++      
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''```````````,,,,::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
          ''''::::```````::::::::::::++++         
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
              +++++++++++++++++++++++             
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                ######            
                                ######            
                                ######            
                      ##########''';;;###         
                      ##########''';;;###         
                      ##########''';;;###         
             #########''';;;;;;;;;;;;;;;;###      
             #########''';;;;;;;;;;;;;;;;###      
             #########''';;;;;;;;;;;;;;;;###      
   ##########''';;;;;;;;;;;;;;;;;;;;;;;;;;;;###   
   ##########''';;;;;;;;;;;;;;;;;;;;;;;;;;;;###   
   ##########''';;;;;;;;;;;;;;;;;;;;;;;;;;;;###   
###'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++###
###'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++###
###'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++###
###''''''';;;;;;;;;;;;;;;+++++++++++++'''''''''###
###''''''';;;;;;;;;;;;;;;+++++++++++++'''''''''###
###''''''';;;;;;;;;;;;;;;+++++++++++++'''''''''###
###'''''''''';;;++++++++++++'''''''''''''''''''###
###'''''''''';;;++++++++++++'''''''''''''''''''###
###'''''''''';;;++++++++++++'''''''''''''''''''###
###'''''''''';;;++++++++++++'''''''''''''''''''###
###''''''''''++++++'''''''''''''''''''''''''+++###
###''''''''''++++++'''''''''''''''''''''''''+++###
###''''''''''++++++'''''''''''''''''''''''''+++###
###''''''''''+++'''''''''''''''''''+++#########   
###''''''''''+++'''''''''''''''''''+++#########   
###''''''''''+++'''''''''''''''''''+++#########   
   ####''''''+++'''''''''+++##########            
   ####''''''+++'''''''''+++##########            
   ####''''''+++'''''''''+++##########            
       ###'''++++++#########                      
       ###'''++++++#########                      
       ###'''++++++#########                      
          #########                               
          #########                               
          #########                               
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
             ++++++++,,,,;;;;+++++++++            
             ++++++++,,,,;;;;+++++++++            
             ++++++++,,,,;;;;+++++++++            
             ++++++++,,,,;;;;+++++++++            
         ++++::::,,,,,,,,,,,,;;;;;;;;;++++        
         ++++::::,,,,,,,,,,,,;;;;;;;;;++++        
         ++++::::,,,,,,,,,,,,;;;;;;;;;++++        
         ++++::::,,,,,,,,,,,,;;;;;;;;;++++        
    +++++,,,,::::,,,,::::::::,,,,,'''';;;;++++    
    +++++,,,,::::,,,,::::::::,,,,,'''';;;;++++    
    +++++,,,,::::,,,,::::::::,,,,,'''';;;;++++    
    +++++,,,,::::,,,,::::::::,,,,,'''';;;;++++    
    +++++,,,,,,,,,,,,,,,,,,,,,,,,,'''';;;;++++    
    +++++,,,,,,,,,,,,,,,,,,,,,,,,,'''';;;;++++    
    +++++,,,,,,,,,,,,,,,,,,,,,,,,,'''';;;;++++    
    +++++,,,,,,,,,,,,,,,,,,,,,,,,,'''';;;;++++    
++++,,,,,::::::::,,,,,,,,:::::::::;;;;'''';;;;++++
++++,,,,,::::::::,,,,,,,,:::::::::;;;;'''';;;;++++
++++,,,,,::::::::,,,,,,,,:::::::::;;;;'''';;;;++++
++++,,,,,::::::::,,,,,,,,:::::::::;;;;'''';;;;++++
++++;;;;;,,,,,,,,,,,,::::,,,,,,,,,;;;;'''';;;;++++
++++;;;;;,,,,,,,,,,,,::::,,,,,,,,,;;;;'''';;;;++++
++++;;;;;,,,,,,,,,,,,::::,,,,,,,,,;;;;'''';;;;++++
++++;;;;;,,,,,,,,,,,,::::,,,,,,,,,;;;;'''';;;;++++
++++;;;;;,,,,,,,,,,,,::::,,,,,,,,,;;;;'''';;;;++++
++++;;;;;,,,,,,,,::::::::,,,,;;;;;;;;;;;;;''''++++
++++;;;;;,,,,,,,,::::::::,,,,;;;;;;;;;;;;;''''++++
++++;;;;;,,,,,,,,::::::::,,,,;;;;;;;;;;;;;''''++++
++++;;;;;,,,,,,,,::::::::,,,,;;;;;;;;;;;;;''''++++
    +++++'''';;;;,,,,,,,,;;;;;;;;;''''''''++++    
    +++++'''';;;;,,,,,,,,;;;;;;;;;''''''''++++    
    +++++'''';;;;,,,,,,,,;;;;;;;;;''''''''++++    
    +++++'''';;;;,,,,,,,,;;;;;;;;;''''''''++++    
         ++++++++;;;;;;;;'''';;;;;++++++++        
         ++++++++;;;;;;;;'''';;;;;++++++++        
         ++++++++;;;;;;;;'''';;;;;++++++++        
         ++++++++;;;;;;;;'''';;;;;++++++++        
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                                                  
                                                  
   ;;;;'''      ,,,'''      ,,,,'''      ,,,'''   
   ;;;;'''      ,,,'''      ,,,,'''      ,,,'''   
   ;;;;'''      ,,,'''      ,,,,'''      ,,,'''   
   ''''+++      ,,,'''      ,,,,'''      ;;;'''   
   ''''+++      ,,,'''      ,,,,'''      ;;;'''   
   ''''+++      ,,,'''      ,,,,'''      ;;;'''   
   ''''+++      ,,,'''      ,,,,'''      ;;;'''   
   ,,,,''''''   ,,,'''      ,,,,''''''   '''+++   
   ,,,,''''''   ,,,'''      ,,,,''''''   '''+++   
   ,,,,''''''   ,,,'''      ,,,,''''''   '''+++   
   ,,,,''''''   ,,,''''''   ,,,,'''      ,,,'''   
   ,,,,''''''   ,,,''''''   ,,,,'''      ,,,'''   
   ,,,,''''''   ,,,''''''   ,,,,'''      ,,,'''   
   ,,,,'''      ;;;''''''   ,,,,'''      ,,,'''   
   ,,,,'''      ;;;''''''   ,,,,'''      ,,,'''   
   ,,,,'''      ;;;''''''   ,,,,'''      ,,,'''   
   ,,,,'''      '''+++      ;;;;'''      ,,,'''   
   ,,,,'''      '''+++      ;;;;'''      ,,,'''   
   ,,,,'''      '''+++      ;;;;'''      ,,,'''   
   ,,,,'''      ,,,'''      ''''+++      ,,,''''''
   ,,,,'''      ,,,'''      ''''+++      ,,,''''''
   ,,,,'''      ,,,'''      ''''+++      ,,,''''''
   ,,,,'''      ,,,'''      ,,,,'''      ,,,''''''
   ,,,,'''      ,,,'''      ,,,,'''      ,,,''''''
   ,,,,'''      ,,,'''      ,,,,'''      ,,,''''''
''';;;;'''      ,,,'''      ,,,,'''      ,,,'''   
''';;;;'''      ,,,'''      ,,,,'''      ,,,'''   
''';;;;'''      ,,,'''      ,,,,'''      ,,,'''   
'''''''+++      ,,,'''      ,,,,'''      ;;;'''   
'''''''+++      ,,,'''      ,,,,'''      ;;;'''   
'''''''+++      ,,,'''      ,,,,'''      ;;;'''   
'''''''+++      ,,,'''      ,,,,'''      ;;;'''   
   ,,,,'''   ''';;;'''   ''',,,,'''      '''+++   
   ,,,,'''   ''';;;'''   ''',,,,'''      '''+++   
   ,,,,'''   ''';;;'''   ''',,,,'''      '''+++   
   ,,,,'''      '''+++   ''',,,,'''      ,,,'''   
   ,,,,'''      '''+++   ''',,,,'''      ,,,'''   
   ,,,,'''      '''+++   ''',,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ;;;;'''   ''',,,'''   
   ,,,,'''      ,,,'''      ;;;;'''   ''',,,'''   
   ,,,,'''      ,,,'''      ;;;;'''   ''',,,'''   
   ,,,,'''      ,,,'''      ''''+++      ,,,'''   
   ,,,,'''      ,,,'''      ''''+++      ,,,'''   
   ,,,,'''      ,,,'''      ''''+++      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
   ,,,,'''      ,,,'''      ,,,,'''      ,,,'''   
                                                  
                                                  
                                                  
                                                  
                                                  
                           ```````                
                           ```````                
                           ```````                
                           ```````                
                        `````````````             
                        `````````````             
                        `````````````             
                    ````````````````````          
                    ````````````````````          
                    ````````````````````          
              ``````````````````````````````      
              ``````````````````````````````      
              ``````````````````````````````      
              ``````````````````````````````      
       ````````````````````````````````````````   
       ````````````````````````````````````````   
       ````````````````````````````````````````   
``````````````````````````````````````````````````
``````````````````````````````````````````````````
``````````````````````````````````````````````````
''''````````````````````````````````````````''''''
''''````````````````````````````````````````''''''
''''````````````````````````````````````````''''''
''''````````````````````````````````````````''''''
    '''`````````````````````````````````''''      
    '''`````````````````````````````````''''      
    '''`````````````````````````````````''''      
       '''```````````````````````````'''          
       '''```````````````````````````'''          
       '''```````````````````````````'''          
          ''''````````````````'''''''             
          ''''````````````````'''''''             
          ''''````````````````'''''''             
          ''''````````````````'''''''             
              '''```````''''''                    
              '''```````''''''                    
              '''```````''''''                    
                 '''''''                          
                 '''''''                          
                 '''''''                          
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                         ##########               
                         ##########               
                         ##########               
                   ######++++++++++###            
                   ######++++++++++###            
                   ######++++++++++###            
                   ######++++++++++###            
             ######++++++###++++++++++###         
             ######++++++###++++++++++###         
             ######++++++###++++++++++###         
      #######++++++++++++##########++++++###      
      #######++++++++++++##########++++++###      
      #######++++++++++++##########++++++###      
######++++++++++###+++++++++##########++++++###   
######++++++++++###+++++++++##########++++++###   
######++++++++++###+++++++++##########++++++###   
###++++++++++++++++###++++++++++++++++++++++######
###++++++++++++++++###++++++++++++++++++++++######
###++++++++++++++++###++++++++++++++++++++++######
###+++++++++++++++++++++++++++++++++++######,,,'''
###+++++++++++++++++++++++++++++++++++######,,,'''
###+++++++++++++++++++++++++++++++++++######,,,'''
###+++,,,,+++++++++++++++++++++#######:::,,,:::'''
###+++,,,,+++++++++++++++++++++#######:::,,,:::'''
###+++,,,,+++++++++++++++++++++#######:::,,,:::'''
###+++````,,,++++++++++++######,,,,:::,,,:::######
###+++````,,,++++++++++++######,,,,:::,,,:::######
###+++````,,,++++++++++++######,,,,:::,,,:::######
   ###++++```,,,+++######,,,:::::::,,,############
   ###++++```,,,+++######,,,:::::::,,,############
   ###++++```,,,+++######,,,:::::::,,,############
   ###++++```,,,+++######,,,:::::::,,,############
      ####+++```,,,,,,,,,:::,,,#############      
      ####+++```,,,,,,,,,:::,,,#############      
      ####+++```,,,,,,,,,:::,,,#############      
          ###+++```::::::#############            
          ###+++```::::::#############            
          ###+++```::::::#############            
             ###+++############                   
             ###+++############                   
             ###+++############                   
                #########                         
                #########                         
                #########                         
                                                  
                                                  
                                                  
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
         ++++++++:::::::::::::::::++++++++        
         ++++++++:::::::::::::::::++++++++        
         ++++++++:::::::::::::::::++++++++        
         ++++++++:::::::::::::::::++++++++        
         ++++++++:::::::::::::::::++++++++        
    +++++:::::::::::::::::::::::::;;;;;;;;++++    
    +++++:::::::::::::::::::::::::;;;;;;;;++++    
    +++++:::::::::::::::::::::::::;;;;;;;;++++    
    +++++:::::::::::::::::::::::::;;;;;;;;++++    
    +++++::::        :::::::::::::;;;;;;;;++++    
    +++++::::        :::::::::::::;;;;;;;;++++    
    +++++::::        :::::::::::::;;;;;;;;++++    
    +++++::::        :::::::::::::;;;;;;;;++++    
++++:::::::::        :::::::::::::::::::::''''++++
++++:::::::::        :::::::::::::::::::::''''++++
++++:::::::::        :::::::::::::::::::::''''++++
++++:::::::::        :::::::::::::::::::::''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::::::;;;;''''++++
++++::::::::::::::::::::::::::::::;;;;;;;;''''++++
++++::::::::::::::::::::::::::::::;;;;;;;;''''++++
++++::::::::::::::::::::::::::::::;;;;;;;;''''++++
++++::::::::::::::::::::::::::::::;;;;;;;;''''++++
++++::::::::::::::::::::::::::::::;;;;;;;;''''++++
    +++++;;;;;;;;::::::::::::;;;;;;;;;''''++++    
    +++++;;;;;;;;::::::::::::;;;;;;;;;''''++++    
    +++++;;;;;;;;::::::::::::;;;;;;;;;''''++++    
    +++++;;;;;;;;::::::::::::;;;;;;;;;''''++++    
    +++++'''';;;;;;;;;;;;;;;;;;;;;''''''''++++    
    +++++'''';;;;;;;;;;;;;;;;;;;;;''''''''++++    
    +++++'''';;;;;;;;;;;;;;;;;;;;;''''''''++++    
    +++++'''';;;;;;;;;;;;;;;;;;;;;''''''''++++    
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                                                  
                        ,#                        
                      ,++'+#                      
                    ,#+'''''++                    
                  ,++'''''''''++                  
                ,#+'''';;';;''''++                
              ,++'''';'';;'';;''''++              
            ,++';'';;;'';'''''''''''++            
            #++'';''''''';'''';'''''###`          
            ###++'';'''''''''';;''+####::`        
            #++##++''''''''';;''+###++#++,,`      
          `,#++++##++'''''''''####++#+#;++',,`    
        `,,;#++++++##++'''''+###+++####;;;;;:,,`  
      `,,,;;##+++.'++###+'+###++++####@'+;;;:;;,,`
    `,,:;,++####+;:++++#######+++######+++'::,::''
  `:,,::++++#++##;'+++++##+##++#########;:;,,,'+''
 ,,,;;;'++#+#++++;'+++++##++##########+;:,,,'''+''
 ;;,,,:;'##+#++++'+###++############+'':,,'''''+''
 ;;;;:,,++#+#++++'+###############+++:,,'''+''''''
 ;'';;':,,#+#++++++++++#########+'':,,++'+'+'+''''
 ;;';'''':::'''+++++++++######+'':,,++++++'+++''''
 ;;;;';;';;:,,'''+++++++####+++;,,++++++++++++''''
 ;';;;;;';;;;,,,++++++++##++#:,:+++++++++++++++'''
 ;''';;;';'';;;,,,';'++++;;:,,'++++++++++++++++'''
 ;;;';';;;'''';;;,,,,,;:::,,'++++++++++++++++++'''
 ;;;;''';;;;''';;;;,,:;:,,++++++++++++++++++++++''
 ;'';''';'';''';';;;;,,,'+++++++++++++++++++++++''
 ;;';';';;';''''';;';;;''++++''+'+++++++++++++++''
 ;;;;';;';;;';'';;;';;;''++++'++'++'++++'++'++++''
 ;;;;;;;';;;;'''';;;;;;''+++++++++++++''''+'++'+''
 ';;';;;;;'';'''''';;;;''+'+++++++++++'+''++++++'`
 ;;;;;'';;;';'''''';;;;'''''++++++++++++++++##+`  
 ;;;;;;';';';'';'''';;;''''''+++'++++++'++@@#`    
  ;;;;;;;';;;;;;''''';;''''+'+'''+++++''##@`      
    ;;;;;;;;'';;;'''';;''''+'''+'+++++++#`        
      ;;;;;;;''';''''''''''''+'+'++++++`          
        ;;;;;;;';'''''''''''+++++++++`            
          ;;;;;;;';;'''''++'+++++++`              
            ;;;;;;;;;''''+++++@#+`                
              ;;;;;;;''''+++@@@`                  
                ;;;;;;;'+++#@`                    
                  ;;;;;'+++`                      
                    ;;;'+`                        
                      ;`                          
                                                  
                        ++,                       
                      +#';++,                     
                    ++''';''++,                   
                  ++'';;';;''''#,                 
                ++'';;;;;:;'::;;+#,               
              +#'';;'';;;;;;;;;''''+,             
            +#;;;;::::::'''';';;';;'+#,           
          ++'''';;;;'';;;';;::::;';''+++,         
         #++''::'''';:;;::'';:;;;;;:;'++#+        
         ###++'+::';;;;;:;;;';;;;';;'####+        
         #++##++';'';';;;;;''';';'+######+,,      
         #+++#####'';:;:''';;:';'+########':,,    
        ,#+'++++##++'';;;;;'''+++#####++##;::,,,  
      ,,,#++++'''###++'';;'+'######+++++##;;:;;,,;
    ,,,;;#''+++''+++####+''#####+##+##++##;;,,,'''
  ,::::;+#+'+###+++++###++#####++++#+++#,,:,,;'+''
 ;,,:;:'+#+'##@@###''+++######++++++++;;:,,;'''+''
 ;;;,,:;;#+'#@@@@@##++'+##+###+++#+++';,,;'''''+''
 ;';;;,,;+#+#@@@@@@@#+'+###+++++#+''',,;'''+''''''
 ;'';;';,,;++''@@@@@#+'+####++++'';,,;++++'+++''''
 ;;';';'';:,;'';+@@@@''+###++++'',,;++++++++++''''
 ;;;;';;';;;,,:'''+@@;++##++##'::'+++++++++++++'''
 ;'';;;;';';;;,,;+';#;'###++',,'+++++++++++++++'''
 ;;'';;;;;'';;;;,,:;;;++;;;,,;+++++++++++++++++'''
 ;;;;;'';;;'''';;;,,,,;::,,;++++++++++++++++++++''
 ;';;''';';;''';;;;;:::,,;++++++++++++++++++++++''
 ;'';''';'';''';';;;;;,;'+++++'+++++++++++++++++''
 ;;;;';;;;;;';'';;;';;;''++++''+'++'++++++++++++''
 ;;;;;;;';;;';'';;;';;;''++++++++++'+++''++'++'+''
 ;;;;;;;';';;''''';;;;;''+++++++++++++''''+'++'+''
 ';;';;;;;'';'''''';;;;''+'+++++++++++++''+++#++: 
 ;;;;;'';;;';'''''';;;;'''''+++++++++++++++###:   
 ;;;;;;;;''';;';'''';;;''''''++''+++++''+#@@;     
  `;;;;;;';;';;;''''';;''''+'''''+++++'+##;       
    `;;;;;;;'';;;'''';;''''''''+'+++++++;         
      `;;;;;;;'';'''''''''''++'+++++++:           
        `;;;;;;';';'''''''''++++++++:             
          `;;;;;;;;;;''''++'+++#++:               
            `;;;;;;;;''''++++#@#:                 
              `;;;;;;;''+++#@@;                   
                `;;;;;;'+++#;                     
                  `;;;;'++:                       
                    `;;':                         
                      `                           
                     ;;;;''''                     
                     ;;;;''''                     
                     ;;;;''''                     
                     ;;;;''''                     
              ;;;;;;;....,,,,;;;;''''             
              ;;;;;;;....,,,,;;;;''''             
              ;;;;;;;....,,,,;;;;''''             
              ;;;;;;;....,,,,;;;;''''             
          ;;;;...............,,,,,,,,''''         
          ;;;;...............,,,,,,,,''''         
          ;;;;...............,,,,,,,,''''         
          ;;;;...............,,,,,,,,''''         
          ;;;;...................,,,,''''         
          ;;;;...................,,,,''''         
          ;;;;...................,,,,''''         
          ;;;;...................,,,,''''         
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
      ;;;;.......................,,,,,,,,'''      
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;...........................,,,,,,,,,,,''''  
  ;;;;,,,,.......................,,,,,,,,,,,''''  
  ;;;;,,,,.......................,,,,,,,,,,,''''  
  ;;;;,,,,.......................,,,,,,,,,,,''''  
  ;;;;,,,,.......................,,,,,,,,,,,''''  
      ;;;;...................,,,,,,,,,,,,'''      
      ;;;;...................,,,,,,,,,,,,'''      
      ;;;;...................,,,,,,,,,,,,'''      
      ;;;;...................,,,,,,,,,,,,'''      
      ;;;;::::,,,,.......,,,,,,,,,,,,,,,,'''      
      ;;;;::::,,,,.......,,,,,,,,,,,,,,,,'''      
      ;;;;::::,,,,.......,,,,,,,,,,,,,,,,'''      
      ;;;;::::,,,,.......,,,,,,,,,,,,,,,,'''      
          '''''''',,,,,,,,,,,,,,,''''''''         
          '''''''',,,,,,,,,,,,,,,''''''''         
          '''''''',,,,,,,,,,,,,,,''''''''         
                  '''''''''''''''                 
                  '''''''''''''''                 
                  '''''''''''''''                 
                  '''''''''''''''                 
                                                  
                                                  
                                                  
                                                  
              ++++++++++++++++++++++              
              ++++++++++++++++++++++              
              ++++++++++++++++++++++              
       +++++++'''';;;;;;;;;;;;;;;;;;+++++++       
       +++++++'''';;;;;;;;;;;;;;;;;;+++++++       
       +++++++'''';;;;;;;;;;;;;;;;;;+++++++       
       +++++++'''';;;;;;;;;;;;;;;;;;+++++++       
    +++'''''''++++++++++++++++++++++;;;....++++   
    +++'''''''++++++++++++++++++++++;;;....++++   
    +++'''''''++++++++++++++++++++++;;;....++++   
++++'''+++++++++++++++++++++++++'''''''++++;;;;###
++++'''+++++++++++++++++++++++++'''''''++++;;;;###
++++'''+++++++++++++++++++++++++'''''''++++;;;;###
++++'''+++++++++++++++++++++++++'''''''++++;;;;###
+++++++++++++++++++++++++++++'''''''+++++++++++###
+++++++++++++++++++++++++++++'''''''+++++++++++###
+++++++++++++++++++++++++++++'''''''+++++++++++###
+++++++++++++++++++++++++++++'''''''+++++++++++###
++++++++++++++++++++++;;;'''''''+++++++++++++++###
++++++++++++++++++++++;;;'''''''+++++++++++++++###
++++++++++++++++++++++;;;'''''''+++++++++++++++###
++++###+++++++++++++++;;;++++++++++++++++++#######
++++###+++++++++++++++;;;++++++++++++++++++#######
++++###+++++++++++++++;;;++++++++++++++++++#######
++++###+++++++++++++++;;;++++++++++++++++++#######
++++;;;#######++++++++++++++++++++++#######''''###
++++;;;#######++++++++++++++++++++++#######''''###
++++;;;#######++++++++++++++++++++++#######''''###
++++;;;....;;;######################'''''''''''###
++++;;;....;;;######################'''''''''''###
++++;;;....;;;######################'''''''''''###
++++;;;....;;;######################'''''''''''###
    ###....;;;;;;;;;;;;;;;;;;;;;'''''''''''####   
    ###....;;;;;;;;;;;;;;;;;;;;;'''''''''''####   
    ###....;;;;;;;;;;;;;;;;;;;;;'''''''''''####   
    ###....;;;;;;;;;;;;;;;;;;;;;'''''''''''####   
       #######;;;;;;;;;;;;;;;;;;''''#######       
       #######;;;;;;;;;;;;;;;;;;''''#######       
       #######;;;;;;;;;;;;;;;;;;''''#######       
              ######################              
              ######################              
              ######################              
              ######################              
                                                  
                                                  
                                                  
                                          +++++++ 
                                          +++++++ 
                                          +++++++ 
                                          +++++++ 
                                      +++++++#### 
                                      +++++++#### 
                                      +++++++#### 
                                  ++++++++'''#### 
                                  ++++++++'''#### 
                                  ++++++++'''#### 
                                  ++++++++'''#### 
                               +++++++''''###++++ 
                               +++++++''''###++++ 
                               +++++++''''###++++ 
                               +++++++''''###++++ 
                           +++++++++++####   ++++ 
                           +++++++++++####   ++++ 
                           +++++++++++####   ++++ 
                        +++++++'''####       ++++ 
                        +++++++'''####       ++++ 
                        +++++++'''####       ++++ 
                        +++++++'''####       ++++ 
                    +++++++++++###           ++++ 
                    +++++++++++###           ++++ 
                    +++++++++++###           ++++ 
                 +++++++'''####              ++++ 
                 +++++++'''####              ++++ 
                 +++++++'''####              ++++ 
                 +++++++'''####              ++++ 
             +++++++++++###                  ++++ 
             +++++++++++###                  ++++ 
             +++++++++++###                  ++++ 
             ++++'''####                  +++     
             ++++'''####                  +++     
             ++++'''####                  +++     
             ++++'''####                  +++     
         ++++++++:::::::+++               +++     
         ++++++++:::::::+++               +++     
         ++++++++:::::::+++               +++     
         ++++++++:::::::+++               +++     
      +++''''####:::::::+++           ++++        
      +++''''####:::::::+++           ++++        
      +++''''####:::::::+++           ++++        
  ++++'''####    +++++++                          
  ++++'''####    +++++++                          
  ++++'''####    +++++++                          
  ++++'''####    +++++++                          
  #######                                         
  #######                                         
  #######                                         
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
                   +++++++++++++                  
             ++++++.............++++++            
             ++++++.............++++++            
             ++++++.............++++++            
          +++......;;;;;;;;;;;;;......+++         
          +++......;;;;;;;;;;;;;......+++         
          +++......;;;;;;;;;;;;;......+++         
       +++...;;;;;;;;;:::::::;;;;;;;;;```+++      
       +++...;;;;;;;;;:::::::;;;;;;;;;```+++      
       +++...;;;;;;;;;:::::::;;;;;;;;;```+++      
       +++...;;;;;;,,,,,,,,,,,,,:::;;;...###      
       +++...;;;;;;,,,,,,,,,,,,,:::;;;...###      
       +++...;;;;;;,,,,,,,,,,,,,:::;;;...###      
    +++...;;;;;;:::,,,,,,,,,,,,,::::::;;;```###   
    +++...;;;;;;:::,,,,,,,,,,,,,::::::;;;```###   
    +++...;;;;;;:::,,,,,,,,,,,,,::::::;;;```###   
    +++...;;;;;;::::::,,,,,,,:::::::::;;;```###   
    +++...;;;;;;::::::,,,,,,,:::::::::;;;```###   
    +++...;;;;;;::::::,,,,,,,:::::::::;;;```###   
    +++...;;;;;;::::::```....;;;::::::;;;```###   
    +++...;;;;;;::::::```....;;;::::::;;;```###   
    +++...;;;;;;::::::```....;;;::::::;;;```###   
    +++...```#########.......#########```...###   
    +++...```#########.......#########```...###   
    +++...```#########.......#########```...###   
    +++...```#########.......#########```...###   
    ###......`````````.......`````````......###   
    ###......`````````.......`````````......###   
    ###......`````````.......`````````......###   
    ###'''...............................'''###   
    ###'''...............................'''###   
    ###'''...............................'''###   
    ###...'''.........................''';;;###   
    ###...'''.........................''';;;###   
    ###...'''.........................''';;;###   
       ###...''''''.............'''''';;;###      
       ###...''''''.............'''''';;;###      
       ###...''''''.............'''''';;;###      
          ###```:::''''''''''''':::;;;###         
          ###```:::''''''''''''':::;;;###         
          ###```:::''''''''''''':::;;;###         
             ######:::::::::::::######            
             ######:::::::::::::######            
             ######:::::::::::::######            
                   #############                  
                   #############                  
                   #############                  
                                                  
                                                  
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                     ++++++++                     
                 ++++::::::::+++++                
                 ++++::::::::+++++                
                 ++++::::::::+++++                
                 ++++::::::::+++++                
             ++++,,,,::::;;;;'''''++++            
             ++++,,,,::::;;;;'''''++++            
             ++++,,,,::::;;;;'''''++++            
             ++++,,,,::::;;;;'''''++++            
         ++++::::::::::::::::'''''''''++++        
         ++++::::::::::::::::'''''''''++++        
         ++++::::::::::::::::'''''''''++++        
         ++++::::::::::::::::'''''''''++++        
    +++++::::::::::::::::::::'''''++++,,,,++++    
    +++++::::::::::::::::::::'''''++++,,,,++++    
    +++++::::::::::::::::::::'''''++++,,,,++++    
    +++++::::::::::::::::::::'''''++++,,,,++++    
++++,,,,,::::::::;;;;::::,,,,'''''''''''''''''++++
++++,,,,,::::::::;;;;::::,,,,'''''''''''''''''++++
++++,,,,,::::::::;;;;::::,,,,'''''''''''''''''++++
++++,,,,,::::::::;;;;::::,,,,'''''''''''''''''++++
++++:::::;;;;::::::::::::::::'''''''''++++''''++++
++++:::::;;;;::::::::::::::::'''''''''++++''''++++
++++:::::;;;;::::::::::::::::'''''''''++++''''++++
++++:::::;;;;::::::::::::::::'''''''''++++''''++++
++++:::::;;;;::::::::::::::::'''''''''++++''''++++
++++'''''::::,,,,::::::::::::'''''''''''''''''++++
++++'''''::::,,,,::::::::::::'''''''''''''''''++++
++++'''''::::,,,,::::::::::::'''''''''''''''''++++
++++'''''::::,,,,::::::::::::'''''''''''''''''++++
    +++++''''''''::::::::++++''''''''',,,,++++    
    +++++''''''''::::::::++++''''''''',,,,++++    
    +++++''''''''::::::::++++''''''''',,,,++++    
    +++++''''''''::::::::++++''''''''',,,,++++    
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
         ++++++++'''''''''''''''''++++++++        
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                 +++++++++++++++++                
                                                  
                                                  
                                  ....::::        
                                  ....::::        
                                  ....::::        
                                  ....::::        
                                  ....::::...     
                                  ....::::...     
                                  ....::::...     
                                  ::::;;;;''''''' 
                                  ::::;;;;''''''' 
                                  ::::;;;;''''''' 
                                  ::::;;;;''''''' 
             .......    ;;;::::;;;'''''''';;;;;;; 
             .......    ;;;::::;;;'''''''';;;;;;; 
             .......    ;;;::::;;;'''''''';;;;;;; 
             .......    ;;;::::;;;'''''''';;;;;;; 
         ........:::;;;;:::;;;;:::''''########### 
         ........:::;;;;:::;;;;:::''''########### 
         ........:::;;;;:::;;;;:::''''########### 
         ....::::;;;::::;;;::::;;;''''            
         ....::::;;;::::;;;::::;;;''''            
         ....::::;;;::::;;;::::;;;''''            
         ....::::;;;::::;;;::::;;;''''            
         ::::;;;;:::;;;;:::;;;;'''''''            
         ::::;;;;:::;;;;:::;;;;'''''''            
         ::::;;;;:::;;;;:::;;;;'''''''            
      :::;;;;::::;;;.......;;;;'''####            
      :::;;;;::::;;;.......;;;;'''####            
      :::;;;;::::;;;.......;;;;'''####            
      :::;;;;::::;;;.......;;;;'''####            
      ;;;::::;;;;...;;;;;;;'''''''                
      ;;;::::;;;;...;;;;;;;'''''''                
      ;;;::::;;;;...;;;;;;;'''''''                
  :::::::;;;;::::;;;::::'''''''###                
  :::::::;;;;::::;;;::::'''''''###                
  :::::::;;;;::::;;;::::'''''''###                
  :::::::;;;;::::;;;::::'''''''###                
  ::::@@@::::;;;;:::'''''''####                   
  ::::@@@::::;;;;:::'''''''####                   
  ::::@@@::::;;;;:::'''''''####                   
  ::::@@@::::;;;;:::'''''''####                   
  :::::::::::'''''''''''###                       
  :::::::::::'''''''''''###                       
  :::::::::::'''''''''''###                       
  ####'''''''''''#######                          
  ####'''''''''''#######                          
  ####'''''''''''#######                          
  ####'''''''''''#######                          
      ###########                                 
      ###########                                 
      ###########                                 
             '''                                  
             '''                                  
             '''                                  
          '''   ''''''             '''            
          '''   ''''''             '''            
          '''   ''''''             '''            
          '''   ''''''             '''            
          '''   ```...''''''    '''```'''         
          '''   ```...''''''    '''```'''         
          '''   ```...''''''    '''```'''         
       '''   ``````      ```'''''''   '''         
       '''   ``````      ```'''''''   '''         
       '''   ``````      ```'''''''   '''         
       '''...;;;;;;   ;;;```````;;;``````'''      
       '''...;;;;;;   ;;;```````;;;``````'''      
       '''...;;;;;;   ;;;```````;;;``````'''      
          '''``````;;;   ```....;;;```;;;'''      
          '''``````;;;   ```....;;;```;;;'''      
          '''``````;;;   ```....;;;```;;;'''      
       '''   ```   ;;;```...;;;;''';;;'''```'''   
       '''   ```   ;;;```...;;;;''';;;'''```'''   
       '''   ```   ;;;```...;;;;''';;;'''```'''   
       '''   ```;;;   ;;;;;;....;;;   ``````'''   
       '''   ```;;;   ;;;;;;....;;;   ``````'''   
       '''   ```;;;   ;;;;;;....;;;   ``````'''   
       ``````;;;   ``````...;;;;   ```'''```'''   
       ``````;;;   ``````...;;;;   ```'''```'''   
       ``````;;;   ``````...;;;;   ```'''```'''   
       '''   ;;;;;;```;;;;;;....```'''...'''      
       '''   ;;;;;;```;;;;;;....```'''...'''      
       '''   ;;;;;;```;;;;;;....```'''...'''      
       '''   ;;;;;;```;;;;;;....```'''...'''      
   ''''```'''``````;;;   ```;;;;'''...```'''      
   ''''```'''``````;;;   ```;;;;'''...```'''      
   ''''```'''``````;;;   ```;;;;'''...```'''      
       '''   ''''''```;;;;;;````''''''```'''      
       '''   ''''''```;;;;;;````''''''```'''      
       '''   ''''''```;;;;;;````''''''```'''      
                '''``````...''''   '''```'''      
                '''``````...''''   '''```'''      
                '''``````...''''   '''```'''      
                   '''''''''          '''         
                   '''''''''          '''         
                   '''''''''          '''         
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                        ```;;;;   
                                        ```;;;;   
                                        ```;;;;   
                                        ```;;;;   
                                        ```````   
                                        ```````   
                                        ```````   
                                    ```````````;;;
                                    ```````````;;;
                                    ```````````;;;
                                    ```````````;;;
                                ````    ;;;;;;;   
                                ````    ;;;;;;;   
                                ````    ;;;;;;;   
                                ````    ;;;;;;;   
                             ```    ;;;;          
                             ```    ;;;;          
                             ```    ;;;;          
                         ````   ;;;;              
                         ````   ;;;;              
                         ````   ;;;;              
                         ````   ;;;;              
                      ```    ;;;                  
                      ```    ;;;                  
                      ```    ;;;                  
                  ````   ;;;;                     
                  ````   ;;;;                     
                  ````   ;;;;                     
                  ````   ;;;;                     
               ```    ;;;                         
               ```    ;;;                         
               ```    ;;;                         
           ````   ;;;;                            
           ````   ;;;;                            
           ````   ;;;;                            
           ````   ;;;;                            
    ```````    ;;;                                
    ```````    ;;;                                
    ```````    ;;;                                
    ```````    ;;;                                
````       ;;;;                                   
````       ;;;;                                   
````       ;;;;                                   
;;;;```````;;;;                                   
;;;;```````;;;;                                   
;;;;```````;;;;                                   
;;;;```````;;;;                                   
       ;;;;                                       
       ;;;;                                       
       ;;;;                                       
                                                  
                                                  
                     ''''''''                     
                     ''''''''                     
                     ''''''''                     
                     ''''''''                     
                     ''''''''                     
                 ''''    ````'''''                
                 ''''    ````'''''                
                 ''''    ````'''''                
                 ''''    ````'''''                
             ''''        `````````''''            
             ''''        `````````''''            
             ''''        `````````''''            
             ''''        `````````''''            
         ''''````    `````````````````''''        
         ''''````    `````````````````''''        
         ''''````    `````````````````''''        
         ''''````    `````````````````''''        
    '''''        ````        `````....````''''    
    '''''        ````        `````....````''''    
    '''''        ````        `````....````''''    
    '''''        ````        `````....````''''    
''''     ````````        `````````````....````''''
''''     ````````        `````````````....````''''
''''     ````````        `````````````....````''''
''''     ````````        `````````````....````''''
''''     ````        ````         ````....````''''
''''     ````        ````         ````....````''''
''''     ````        ````         ````....````''''
''''     ````        ````         ````....````''''
''''     ````        ````         ````....````''''
''''`````        ````````    .....````````....''''
''''`````        ````````    .....````````....''''
''''`````        ````````    .....````````....''''
''''`````        ````````    .....````````....''''
    '''''````````        `````````........''''    
    '''''````````        `````````........''''    
    '''''````````        `````````........''''    
    '''''````````        `````````........''''    
         ''''''''````````....`````''''''''        
         ''''''''````````....`````''''''''        
         ''''''''````````....`````''''''''        
         ''''''''````````....`````''''''''        
                 '''''''''''''''''                
                 '''''''''''''''''                
                 '''''''''''''''''                
                 '''''''''''''''''                
                                                  
                                                  
                                  ,                   
                                :+++:                 
                              :+++++++:               
                            :+++++++++++:             
                          :++++'''''''++++:           
                        :++++'''+'''+'''++++:         
                      :++++'''++++++++++++++++:       
                    :+++++++++++++++++++++++++++:     
                   +++++++++++++++++++++++++++++++    
                   ++++++'''++++'+++'+++++++++++##    
                   ++++++++++++'''''''''''++++####    
                   ++++++++++++++'''''''++++######    
                   +++++++++++++++''''++++########    
                   ++++++++++++++'''++++##########    
                   ++'++++++++++++++++############    
                   ++'''+++'++++++++##############    
                   '''''''+'''+++++###############    
                   '''''';;''''++++###############    
                   '''''';;''''++++###############    
                  .''#''''''''''+++###############    
                 ;;''###'''''''''++###############    
               ,'''++####''''''''++###############    
             `'''';++''##''''''++++###############    
            ;''''''++''''''''#'++++###############    
          .''''''''+++'''++''###+++###############    
         ''''''''''+++++'++++####'++##############    
       ,'''''''''''++++++++++''##'++##############    
     `'''''''''''''++++++++++''++'+###############    
    ;'''''''''''''''##++++++++++++##############`     
  .'''''''''''''''#####+++++++++++############.       
 ''''''''''''''''######''+++++++++##########+'';.     
 ++''''''''''''########''''+++++++########+''';;;;,   
 ++##''''''''+#########''''''+++++######+;;;;;;;'''', 
 ++##++'''''###########''''''+++++####''';;;;;;';;;'+,
 ++##++##'#############''''''''+++##''''';;;;;'';'+++:
 #+##++###############;''''''''''''''''''''''''++++++;
`####++##############  ''''''''''''''''''''''+++++++++
.##++#+############,   '''''''''''''''''''+##+++++++++
:##++############+     '''''''''''''''''+####+++++++++
'##++##++#######`     `'''''''''''''''+####+++++++++++
  +++##++#####;      ''''''''''''''++++##++++#++++++++
    +##++####        ##''''''''''+++++++++++++++++++++
      #++##,         ##+#''''''+++++++++++++++++++++++
        ++           ##+##+'+++++++#++++++++++++++++; 
                     ##+##++++++++++++++++++++++++.   
                     ##+##++++#####++++++++++++'      
                     ++###++++###+++++++#++++#        
                     ++###++++++++++++###++###        
                     '+##+##++++++++##+#######        
                     ;+##+##+++++++###+#######        
                     `+##+##++++++++''+#######        
                       '#+##++++++''''+#######        
                       '''+#+++'''''''+#######        
                       '''''+'''''''''+#######        
                       '''''''''''''''+#######        
                       ''''''''''+''''+#######        
                       ''''''''''+''''+#######        
                       '''''''''''''''+#######        
                       '''''''''''++''+#######        
                       '''''''''''++''+#######        
                       ''''''''''''+''+#######        
                       '''''''''''''''+#######        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       ''++'''''''''''########        
                       ''++++'''''''''########        
                       '''+++'''''''''########        
                       '''''+'''''''''########        
                       ''''''''''++'''########        
                       ''''''''''+++''########        
                       '''''''''''++''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       '''''''''''''''########        
                       ,''''''''''''''########        
                         ,''''''''''''########        
                           ,''''''''''########        
                             ,''''''''+#######        
                               ,''''''+######.        
                                 ,''''+####.          
                                   ,''+##.            
                                     ,+.              
                          ``            
                        `::::`          
                      `::::::::`        
                    `:::,,,,,,:::`      
                  `:::,,,:,,:,,::::`    
                `:::::,::::::::::::::`  
              `:::::::::::::::::::::::: 
              .;::::,,:::,::,::,:::::;'`
              .;;;:::::::,,,,,,,:::;'''`
              .;;;;;;::::::,,,:::;+++''`
              .;;;;;;';:::,,:::;'+++'''`
              .;:;;;;';;:::::;'''+++'''`
              .;:::;;:;;;;:;'''''+++'''`
              .:::::::::;;;''''''''+'''`
              .::::'':::;;;'''''''''''+`
              .:+:+++#:::;;''++''''''++`
              .:++++#+:::;;'+++++''++'+`
              .;+++##;::;;;'+'++++'''''`
              .+++##+:+:;;;'''+'++''++'`
             `++###@':+++;;''''''''''''`
             '####++'':'+;:'''''''+''''`
            +++#@+#+++::;;:''''''++''''`
           +++##+#''+++';;;''''''+''''  
          +++##@+#''''+++';'+'''''''    
         #+####+#'''';''+';++'''''++    
       ,'+####+++''''''';;;++'''+++'.   
     `:+++#@++++','''''+;''++'++++::::, 
    ::+++##''+#' `'''''',;'+''++,,:::;'.
    ;:++###'+#`   ''''''''''':,,:::'++',
   `;+++++''+#    '''''''''::,:::'''++':
   ,'+##++'++      ''''';:::::;'''''''''
   `++#++;++;      '''::::::'''''+''';  
   +###+'++.       ;:::,,:''+''''+++    
  +++## ++#      .:::::''''''''''++     
   ###@#++      ;::::'''''''''+++       
 `+###@@+#      ;;;''''''''';'+;        
 ++####++       :;;''''''''';;;:        
  #####+:       ,;;''''''''';;;:        
 +###@@`         .;'''++;;;';;;:        
;++##@@           ''''++;;;;;;;:        
 #####            ;;''++';';;;;;.       
 ####@            ;;;;+++++;;;;;;;.     
  #''             ;;;;;;:;+++;;;;;;;    
                  ,;;;;;;'+++++;;;''    
                    ,;;;;'';++++''''    
                     ;;;;:;;;;''''''    
                     ;';;:::;;''''';    
                     ;'''+;:;;''';      
                     ;;;''';;;'''       
                     ';;'''';;++'       
                     ';;+'';;;++'       
                     ;;;+'';;;'''       
                     ;;;''';;;''+       
                     ;;;''';;'''+       
                     ;;;''';;''''       
                     ;;;'++;;;'''       
                     ;;;'++;;;'''       
                     ;;;''';;;'''       
                     ;;;''';;;'''       
                     ;;;''';;;++'       
                     ;;;''';;;+''       
                     ;;;''';;;'''       
                     ;;;''';;;'''       
                     ;;;''';;;'''       
                     ;;;'+';;;'''       
                     ;;;'+';;;'''       
                     `;;'' ;;;'++       
                       `   ;;;'++       
                           ;;;'+'       
                           `;;''.       
                             `.         
                         ,                        
                       ;''',                      
                     ''''':::.                    
                   ;;''''';::,,`                  
                 :;;;;;'''':,,,,,.                
               :;;;;;;;;;;:::::,,,,`              
             ;;;;;;;;;;;;;;;:::::,,,,`            
           '''';''';;;;;;;::::::::,,''',          
         ,,:'';;;''..,;;;;::::::::'''''..`        
       ;:,,,,:;;;,,....,;;;;;:::.,'''.....:.      
     :;;;;:,,,,',,,,:....;;;;;.````,....;;;;;     
     :;;;;;;:++++';;;;:;;;;;.....::::,;;;;;++     
     :;;++;+++++;;;;;```,;.....::::::::;;++++     
     ;;;++++++++';;...``;;:..:::::;;:::#+++++     
     '+'+++'''+++.....;;;;;.,:::;;;;;###+++;;     
     '++'++++;;,````;;;;;:....;;;;;#####+++;;     
     '++''++';;::,;;;;;;;;;:;;;;;######'+++;;     
     ;'+''+++;;:::;;;...,;;;;;;''#####''+++;;     
     ;'' ++++'';::;;;:..;;;;;+'''#####''+++;;     
     ;''   ++''++;;;;;'';;;+++'''#####'++++;;     
     ;''     ;'+++';;;;+++++++'''#####+++++;;     
     ;''     ;;'++'''';+++++++'''#####+++';;;     
     ;''     ;;''+''''';++++##'''#####+';;;;;     
     :;'     ;;''' ''''::+++##'''####''';;;''     
     :;;'    '''''   +'::+++#''''##';;'';'+''     
     :;;'';  ''++'     ::+++;;'''++;;;''+++''     
     :;;'';;;''+++     ::+++;;'++++;;;+++++''     
     :;;+';;;  +++     ::+++;;+++++;;;+++++''     
     :;;+++;;    +     ::+++;;+++++;;;'++++''     
     ,:;+++       :    ''+++;;++'++;;;+++++';     
     ,::'++       ::+  ''+++;;'''++;;;+++';;;     
     ,::''        ::+++''+++;;'''++;;;++;;;;;     
     ;':''         :+++''+++;;'++++;;'++;;;'+     
     ;'';'          '++''+++;;+++++'++++;;;++     
     ;'';;          '''''+++;;++++++++++;;;++     
      `';;          '''::+++;;++'+++++++;;;+      
        `;# #;;     '''::+++;;'''+++;;++;;        
          +##;;;;   '''::+++;;'''+';;;++          
          +##;;;;;# '''+++++;;''''';;'++          
          +##'';;;##+''+++++;;''''''++++          
          +##''+';##++++++++'''''''+++++          
          '##''''+:#+++''+++''''+''+++++          
          ;'+''''';:+++''+++''+++''+''++          
          ;''++'''''###''+++;;+++'+'''++          
          ;''++++'''###+++::+;++'++'''++          
          ;''++++++'###++;::++'''++'++++          
          ;'''+++++++##++#':++'''+++++++          
          ;''''+++++''+++###'+'''+++++++          
          '''''+++++'''++###;;'''+++''++          
          ''';'++++++''+++##;;'''+#'''++          
          ''';;'++++##++++++';'''##'''##          
          ;;';;'''++####++++##'''##'####          
          ;;;+;''';;#####+++##'''#######          
          ;;;+++'';;#####++++#''+#####+'          
          ;';+++++;;#####++++++######+''          
          ;'':++++;;#####+++++####++++''          
          ;''::;++;;''###+++'+###+++++''          
          ''':::;;;;'''+#+++;;###++++'''          
          '''+::;;;;'''++'++;;###++'''''          
          '''++';;;;'''++''';;###++'''++          
          ;''++''';;''''+''';;+++++''#++          
          ;;;++''';;'''''''';;+++++###++          
          ;;;+#+'';;;;'''''';;+++''###+#          
          '+;++##+;;;;;'''''+++++''#####          
          '++++###;;;;;'';''+++++''#####;.        
          '+++++##;;;;;'';;;+++++++####';;,`      
          ;'+++''+;;;;;+';;;+++##++##+'':,,,,`    
          ;;;++''''';;;++;;;++###+++++'''':,,,,`  
          ;;;++;'''':;;++;;;++###+++++'#':::,,:::`
         :;;;++;;;'':::++;;;''#+++++++##;::::,:::'
       `,;;;:;+;;;#+:::''';;''++++++++##;;,,,,,'''
     ,````;,,,,:;;##';:''++'''++++++++#+,....'''''
   :;;;,;''':,,,,:##';;''++++'+''++++#++,,.++''''#
 `..,;:::;'::::,:::'';;''+++++'''++###++,++++'''##
';..:::::;;::::,:::;;;;''+++++'''++###+:+++++'''##
'##':::;;;;;,,,,,.,;;;,:'+++;''''++##+::+++++'''##
'##++';;;;,....:````;,,,,;++;;'''++'''::+++++''+##
'##++++',,,,,;;;;,;''':,,,,;;;''';:'''::++++++++##
'##+++++::,...,;:::;'::::,::::'++::'''::+++''+++##
'####+++::+;..:::::;;::::,:::';;;::'''':+';''+++##
'####+''::+##':::;;;;;,,,,,''';;;''''''';;;''+++##
'+++#+''::+##++';;;;,....'''''#;;''''''';;;'++++#+
'++::'''::+##++++',,,,,++''''####''''''';;;+++++''
;++::'''::+##+++++::,'+++'''#####@@''''';;;+++++''
;;;;:'''':+####+++::+++++'''##@##@@##''';;;+++++''
;;;'''''''+####+''::+++++'''##@@@@@###@';;;+++++''
+';'''''''++++#+''::+++++''+##@@@#####@@';;+++++''
+##'''''''+++::'''::++++++++##`@@##@@#@@;;;+'+++';
+##@@''''';++::'''::+++''+++##  `##@@@#@''#''++'  
###@@##''';;;;:'''':+';''+++##    `@@@#####'''    
#@@@@###@';;;''''''';;;''+++##      `@#####;      
#@@#####@@#';''''''';;;'++++#+        `##+        
 @@##@@#@@###''''''';;;+++++''                    
   ##@@@#@###@@''''';;;+++++''                    
     @@@##@##@@##''';;;+++++''                    
       @##@@@@@###@';;;+++++''                    
         #@@@#####@@';;+++++''                    
           @@##@@#@@';;+'+++';                    
             ##@@@#@''#''++'                      
               @@@#####'''                        
                 @#####;                          
                   ##+                            
                                  ``              
                                `##++`            
                              `##++++##`          
                            `###+########`        
                          `++++++##++######`      
                        .++++####++##########     
                       ########++++######++##     
                       ######++######@@++#@#@     
                       ####++########++###@@@     
                       ########++##++###@@@@#     
                `+;  +#######@########@@@####     
              `++++++###########+###@@@@@####     
            `++##++++'+#######@#+###@@@######     
          `++#####+#+++#####@@@#+#@@@@@##@@##     
         ,++++#+#++++##++#@@@@##+@@@@##@@@@##     
         ,+++++++++++++###@@#####@@@@#@@@@@##     
        #++++++++++++#####@#####@@######@##       
     '++##++#+++#++###@#@######@@####@###         
   +##+##+#+++++#+###@@@@##@#@@@#####@##+         
  +++@##++++'+++#+####@@@##@@###+##@@@#@@#+       
  ,###+###++'+'+#++###@@##+########@###@####+,    
   :+++@@#+++#'+#'+####@##+##+##`#@####@###@#+##  
  '#####,,+++++##+#####@##@@##@@+ @####@+@@@##@@++
.++#@#+  ,++#+#+#+#@#####@#@@@###  ,######@@@#@###
 +##@     :+#+###+#@@#########+@#    ####@++`@@@##
 '#.        ;+#@++#@@##  +@#;'+#@'    '#@##++, #@ 
              :@++##@   :+#@` ####      @####@+   
                :+#     ###@  #+#+       ###@#++` 
                        #@##  +#@#'       .@@###  
                        @#@#   @##+         ###;  
                        ##++   #+#+          :#   
                       `+#+:   ++#@;              
                       ;@@#`    @###              
                       @##@     @##+              
                       ###+     ###+:             
                       ###+      #@@              
                       @@@+      ';,              
                         .                        
                        .                         
                      .::::                       
                    .::,,,,::                     
                  .::,:::::::::                   
                 ::::::::::::::::                 
                 ;;::::,,,,,,:;''                 
                 ;;;;::::,,::++'+                 
                 ;;;;';::::''++''                 
                 ;::;:;;;''''++''                 
                 :'+#::;;''''''''                 
                 '+##:::;'++'''++                 
                ;+##:;::;''+++''+                 
               '+###;:+;;'''+''''                 
               +##++'''+:''''+'''                 
              ++#+#'++:;;''''+'';                 
             ++#@++'''++;++''''                   
            `+#@+#''';'';+'''++                   
           :+#@'+':'''+;'+'++;::.                 
          :+##''#  ''''''';,,::'+                 
         ,++#+'+.  '''';::::;''++                 
         ,+#+'+;    ':::::+''+++;                 
         `+#+'+   ,::::'+++++++   ``              
         +## +#   ;:'++'+++++   `++++`            
         ##@@+    ;;+++',';;  `##++++##`          
        '+##+,    :;+++''';;`++++####++++`        
         ##@#      ;''+;;;;;+++++++++++++++`      
        ++##@      ;''+;';;;+++##++++##++##++     
        .###       ;;;:++;;;;;+++++######++##     
         ##,      ,:;;;;+++';''++++###@++#@##     
                `::,+;;;';:+'''++++##++######     
               ::,'++++;:;;'''+++##++########     
             :::;+++++##,:;'+################     
           ,:::++++++##,,:''####+############     
         .:::++#+++'''',:;'#####+###@@#######     
        :::++#####+#++:::'+###@#+#@@@@@###@##     
       ':'+'++#++'+++:::''##@@##+@@@@###@@@##     
       `'++#+++++++++:::'#@@######@@@#@@@@###     
        '+++++++++++:::''#@#####@@#########       
     '++###+#++##++'::;'@######@@####@###         
   ###+#@##++++####:::'#@#+##@@@#####@##'         
  #++@##++#++++###:::''@@##@@######@@@####+       
  :##@+###++++'+#+'';'@@##+########@######+#+,    
   ;+++@@#++##+##''''+#@##+##+##`#@#########++#+  
  '#####,,++++####@#+##@##@@##@@+ @#####+@@@++##++
.++#@#+  ,++#+#+#+#######@#@@@###  :#######@##@#++
 +##@     ;+#####+#@@#########+##    ####@++.@@##+
 '#.        '+#@++#@@##  +##'++##'    +#@#+++, #@`
              ;@++##@   :+##. ####      @##+##+   
                ;+#     #+##  #+#+       ###@#++` 
                        ###+  +###'       .@@#++` 
                        @###   @+++         ###'  
                        ++++   #+++          ;#   
                       `+++:   ++##;              
                       ;@##`    @###              
                       @###     @#++              
                       ##++     ##++:             
                       #+++     `#@@`             
                       @@@+      #+'              
                        `:                        
                         ,                        
                       ::,,,                      
                     ::::,,,,,                    
                   ::::::,,,,,,,                  
                 ::::::;;::,,,:::,                
               ::::::;;;;:::::::::,,              
             ::::::;;;;;;:::::::,,,,,,            
           ::::::;;;;;;;;;:::::::,,,,,,,          
         ::::::;;;;;;;;;;;;;:::::::,,,,,:,        
       ::::::;;;;;;;;;;;;;;;;;:::::::,:::::,      
     ::::::;;;;;;;;;;;;;;;;;;;;;::::::::::,,,,    
   ::::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,  
 ::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,
;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::,,,,,,;
;;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,,,;;;
;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;
;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;::;;;;';;;;;;
;;;;;;;';;::::::;;;;;;;;;;;;;;;;;;;::::::+++;;;;;;
;;;';;;'''';::;;;;;;;;;;;;;;;;;;;;;;;::'++++;;;;;;
;;;''';'''''';;;;;;;;;;;;;;;;;;;;;;;;'++++++;;;;;;
;;;''''''''''';;;;;;;;;;;;;;;;;;;;;'++++++++;;;;;;
;;;''''''''''''';;;;;:::;;;:::;;;'++++++++++;;;;;;
;;;''''''''''''''';;:::::::::::'++++++++++++;;;;;;
;;;''''''''''''''''';;:::::::'++++++++++++++;;;;;;
;;;''''''''''''''''''';;:::'++++++++++++++++;;;;;;
;;;''''''''''''''''''''';'++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''+''''''''''''''''+++++++++++++++++++;;;;;;
';;''''''+'''''''''''''''+++++++++++++++++++;;;;;;
''''''''++'''''''''''''''+++++++++++++++++++;;;;;;
'''''''''''''''''''''''''+++++++++++++++++++;;;;;;
'''''''''''''''''''''''''+++++++++++++++++++;;;;;;
;''''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''''''+''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''+''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''+++''''''+++++++++++++++++++;;;;;;
;;;''''''''''''++++''''''+++++++++++++++++++;;;;;;
;;;''''''''''''++++''''''+++++++++++++++++';;;;;;;
;;;;'''''''''''+'''''''''+++++++++++++++';;;;;;;;;
;;;;;;'''''''''''''''''''+++++++++++++';';;;;;;;;;
:;;;;;;;'''''''''''''''''+++++++++++';';';;;;;;;;;
  :;;;;;;;'''''''''''''''+++++++++';;;'';;;;;;;;` 
    :;;;;;'''''''''''''''+++++++';;;;;;;;;;;;;`   
      :;;;''';'''''''''''+++++';;;;;;;;;;;;;`     
        :;''';;;'''''''''+++';;;;;;;;;;;;;`       
          ;'';;;'''''';;'+';;;;;;;;;;;;;`         
            ;;;;''';'';;;;;;;;;;;;;;;;`           
              :;''';;;;;;;;;;;;;;;;;`             
                ;'';;;;;;;;;;;;;;;`               
                  ;;;;;;;;;;;;;;`                 
                    :;;;;;;;;;.                   
                      :;;;;;.                     
                        :;.                       
                                                  
             ....                                 
           ........                               
         ............     ``    .`                
       ````..````...... ``````.....`              
      :,```...``..........``````.....`            
      ,,,,....`...........;.````.......`          
      ,,,,,,`````..````.;;;........`.....`        
      ',:,,::,``....``;;;;;.````.`````.....`      
      @@':,,:,,,....;;;;;;;.```...```........`    
      @@@,,,,,,,,,;;;;;;;;;........`.....`......  
      @@@,,,,,,,:,;;;;;';;;......`````.`````......
     ::#@,,,,,,,,,;;;''';;;`......```...```......;
   ;:::::,,,,,,@',;;;''';;;``............`......;;
 '''';:::::,,,,@@@;;;''';''............`````.````.
;''''::::::::,,@@@;;;';;'''`...```......```...``.;
;'';:::::::::::#@@;;;;;;'''``.`````............;;;
;'''';:::::::::::#;'';;;'';.....`............'';;;
;'''''';::;'';::;+''';;;;;;....```...```..,;''';;;
'+'''''''''''''+++''';;;;;;....````.````.;;;''';''
'+++'''''''''+++++'';;;;;;;............'';;;'';'''
'+++++''''''++++++;;;;;;;............;;'';;;;;;'''
 '++++++''''++++++;;;;;',....;,...,;;;;'';'';;;'';
   '++++++''++++++;;;''',,,;;;::,;;;;;;';;'';;;;;;
     '++++++++++++;;;''',,,;;;:::;;;;;;;;;'';;;;;;
      +++++++++++:;;;'''::,;;;:::;;;'';;;;';;;;;;;
      +++++++++:::;;;';;::,;;;:::;'''';;;;;;;;;;;;
      +++++++##:::;;';;;:::;;;:::''''';;;;;;;;';;;
      ++++++###,,:''';;;:::;;;:::'''';;;;;;;''';;;
      `+++++###,,,''';;::::;;;:::'';;;;;;;;;''';;;
        `+++###,,,''':,,:::;;;,,:;;;;;;;';;;''';;'
         :;+#',::,':,:,,:::;;;,,:;;;;;;'';;;';;'''
         :::::::::,,,::::::;;;,,:;;;;;;'';;';;;'''
         ,::::::::,,,:::,::;;;:::;;;;;;'''';;;;'''
         ,,,::::::::,:::,,,;;;:::;;;;;;;;;;;;;;'  
         ,,,::::::::::::,,,;;;:::;;;;;;'';;;;;    
         `,,:::,::::::::,,,;;;:::;;;;;;'';;;      
           `:::,,,::::::::,;;;;;:'';;;;'';        
             .:,,,:::::::::;;;;;;;;;;;;'          
               `,,:::,:::::;;;;'';;;;;.           
                 `:::,,,:::;;;''';;;;;.           
                   .:,,,:::;;;'''; `;;.           
                     `,,:::;;;''   `;;.           
                       `:::;;;     `;;.           
                         .:;;;     `;;.           
                           ;;;     `;;.           
                           ;;;     `;;.           
                      `,,  ;;;     `;;.           
                    `,,,,,,;;;     `;;.           
                  `,,,,,,,,,,;     `;;.           
                   .,,,,,,,,,,,    `;;.           
                    `,,,,,,,,,,,,  `;;.           
                  `,,,,,,,,,,,,,,,,`;;.           
                   .,,`  .,,,,,,,,,,,;.           
                           .,,,,,,,,,,,           
                             .,,,,,,,,,,,         
                            ,,,,,,,,,,,,          
                           .,,,, .,,,,            
                             .     .              
                                :::                                             
                   ::::::::::::::::;                                            
      ;;;;;;;;;;;::::::::::::::::::;;;                                          
;;;;;;;;;;;;;;;;;:::::::::::::::::;;;;;                                         
;;;;;;;;;;;;;;;;;:::::::::::::::::;;;;;;;                                       
;;;;;;;;;;;;;;;;;:::::::::::::::::;;;;;;;                                       
;;;;;;;;:::::::::;;;;:::::::::::::;;;';;;                                       
;;;;;;;;:::::::::;;;;:::::::::::::;;;';;;                                       
;;;;;;;;:::::::::;;;;:::::::::::::;;;';;;                                       
;;;;;;;;:::::::::;;;;:::::::::::::;;;';;;                                       
;;;;;;;;::::::::::::::::::::::::::;;'';;;                                       
;;;;::::::::::::::::::::::::::::::;;'';;;                                       
;;;;::::::::::::::::::::::::::::::;;'';'''''''''''''''''                        
;;;;::::::::::::::::::::::::::::::;;'';'''''''''''''''''''''''''''''''''''''''' 
;;;;::::::::::::::::::::::,,,,@@@@;;'';'''''''''''''''''''''''''''''''''''''''' 
;@@@,,,,:::::::::::::::::,,,,,@@@@;'+';'''''''''''''''''''''''''''''''''''''''' 
@@@@,,,,:::::::::::::::::,,,,,@@@@;'+';'''''''''''''''''''''''''''''''''''''''' 
@@@@,,,,:::::::::::::::::,,,,,@@@@;'+';'''''''''''''''''''''''''''''''''''''''' 
@@@@,,,,:::::::::::::::::,,,,,@@@@;'+';'''''''''''''''''''''''''''''''''''''''' 
@@@@,,,,::::::::::::::::::::::::::;'+';'''''''''''''''''''''''''''''''''''''''' 
;;;;::::::::::::::::::::::::::::::;'+';+++++++++'''''''''+++''''''''''''''''''' 
;;;;::::::::::::::::::::::::::::::;'+';+++++++++'''''''''+++''''''''''''''''''' 
;;;;::::::::::::::::::::::::::::::;'+';+++++++++'''''''''+++''''''''''''''''''' 
;;;;::::::::::::::::::::::::::::::;'+';+++++++++'''''''''+++''''''''''''''''''' 
::::::::++++:::::::::'''':::::::::;;+';+++++++++++++++++++++++++++++''''''''''' 
::::::::++++:::::::::'''':::::::::;;+';+++++++++++++++++++++++++++++''''''''''' 
::::::::++++:::::::::'''':::::::::;;+';+++++++++++++++++++++++++++++''''''''''' 
::::::::++++:::::::::'''':::::::::;;+';+++++++++++++++++++++++++++++''''''''''' 
;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;';;;++'''+++'''''''++++++'''++'''''''''''''' 
;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;';;;++'''+++'''''''++++++'''++'''''''''''''' 
;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;';;;++'''+++'''''''++++++'''++'''''''''''''' 
;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;';;+++'''+++'''''''++++++''+++'''''''''''''' 
;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;';;++++++++++++++++++++++++++++++''''''''''' 
::::::::::::::::::::::::::::::::::;;;;++++++++++++++++++++++++++++++''''''''''' 
::::::::::::::::::::::::::::::::::;;;;++++++++++++++++++++++++++++++''''''''''' 
::::::::::::::::::::::::::::::::::;;;;++++++++++++++++++++++++++++++''''''''''' 
::::::::::::::::::::::::::::::::::;;;;++++++++++++++++++++++++++++++''''''''''  
          ;:::::::::::::;;:::::'''''''++++++++++++++++++++++++++++++''''''''''  
          ;:::::::::::::;;:::::'''''''++++++++++++++++++++++++++++++''''''''''  
          ::::::::::::::;;:::::''''''+++++++++++++++++++++++++++++++'''''''+''  
          ::::::::::::::;;:::::''''''++++++++''+++++++++++++++++++++++++++++''  
          ::::::::::::::;;;;;;;''''''''''''''''+++++++++++++++++++++++++++++''  
            ::::::::::::;;;;;;;''''''''''''''''+++++++++++++++++++++++++++++'',,
            ::::;;::''::;;;;;;;''''''''''''''''+++++++++++++::::;;;:::''''''''''
            ::::;;::'''':::::;;''''''''''''''''::;;;;'''''':::::;;;:::''''''''''
            ::::;;::'''':::::;;;::'''''''''''''::;;;;'''''':::::;;;:::''''''''''
            ::::;;;;'''':::::;;;::'''''''''''''::;;;;'''''':::::;;;;;;''''''''''
            ::::;;;;'''':::::;;;::''''''''''''';;;;;;'''''':::::;;;;;;''''''''''
            ::::;;;;'''':::::;;;;;''''''''''''';;;;::'''''':::::;;;;;;''''''''''
            ::;;;;;;'''':::::;;;;;''''''''''''';;;;::''''':::;;;;;;;;;''''''''''
            ::;;;;::'''':::::;;;;;''''''''''''';;;;::''''':::;;;;;;:::''''''''''
            ::;;;;::'''':::;:;;;;;''''''''''''';;;;;;''''':::;;;;;;:::''''''''''
            ;;;;;;::''''::;;;;;;:;''''''''''''';;;;;;''''';;:;;;;;;:::''''''''''
            ;;;;;;;;''''::;;;;;;::''''''''''''';;;;;;''''';;;;;;;;;:::''''''''''
            ;;;;;;;;''''::;;;;;;::''''''''''''';;;;;;''''';;;;;;;;;;;;''''''''''
            ;;;;;;;;'''';;;;;;;;::''''''''''''';;;;;;''''';;;;;;;;;;;;''''''''''
            ;;;;;;;;'''';;;;;;;;::''''''''''''';;;;;;''''';;;;;;;;;;;;''''''''''
            ;;;;;;;;'''';;;;;;;;;;''''''''''''';+++;;''''';;;;;;;;;;;;''''''''''
            ;;;;;;;;'''';;;;;;;;;;''''''''''''';+++;;''''';;;;;;;;;;;;''''''''''
            ++;;;;;;'''';;;;;;;;;;'''''''''''''++++;;'''''++;;;;;;;;;;''''''''''
            ++;;++;;'''';;;;;;;;;;'''''''''''''    +;''###+++;;;+;;;;;''''''''''
            #+;;++;;'''';;;;;;;;;;'''''''''''''           +++;;;+++;;;''''''''''
               +++;;''''+;;;;;;;;;'''''''''''''            ##;;;+++;;;''''''''''
                  +;'''#++;;;;;;;;'''''''''''''                +#++;;;''''''''##
                        ++;;;++;;;'''''''''''''                     ++###       
                        #+;;;++;;;'''''''''''''                                 
                           +;++;;;'''''''''''''                                 
                              #;;;''''''''#####                                 
                                ;+####                                          
                         ,                        
                       ;''',                      
                     ''''':::.                    
                   ;;''''';::,,`                  
                 :;;;;;'''':,,,,,.                
               :;;;;;;;;;;:::::,,,,`              
             ;;;;;;;;;;;;;;;:::::,,,,`            
           '''';''';;;;;;;::::::::,,''',          
         ,,:'';;;''..,;;;;::::::::'''''..`        
       ;:,,,,:;;;,,....,;;;;;:::.,'''.....:.      
     :;;;;:,,,,',,,,:....;;;;;.````,....;;;;;     
     :;;;;;;:++++';;;;:;;;;;.....::::,;;;;;++     
     :;;++;+++++;;;;;```,;.....::::::::;;++++     
     ;;;++++++++';;...``;;:..:::::;;:::#+++++     
     '+'+++'''+++.....;;;;;.,:::;;;;;###+++;;     
     '++'++++;;,````;;;;;:....;;;;;#####+++;;     
     '++''++';;::,;;;;;;;;;:;;;;;######'+++;;     
     ;'+''+++;;:::;;;...,;;;;;;''#####''+++;;     
     ;''#++++'';::;;;:..;;;;;+'''#####''+++;;     
     ;''###++''++;;;;;'';;;+++'''#####'++++;;     
     ;''#####;'+++';;;;+++++++'''#####+++++;;     
     ;''#####;;'++'''';+++++++'''#####+++';;;     
     ;''##@##;;''+''''';++++##'''#####+';;;;;     
     :;'##@@@;;'''#''''::+++##'''####''';;;''     
     :;;'#@@@'''''###+'::+++#''''##';;'';'+''     
     :;;'';@@''++'#####::+++;;'''++;;;''+++''     
     :;;'';;;''+++@####::+++;;'++++;;;+++++''     
     :;;+';;;##+++@@###::+++;;+++++;;;+++++''     
     :;;+++;;####+@@###::+++;;+++++;;;'++++''     
     ,:;+++#######:@###''+++;;++'++;;;+++++';     
     ,::'++##@@###::+##''+++;;'''++;;;+++';;;     
     ,::''@##@@@@#::+++''+++;;'''++;;;++;;;;;     
     ;':''@@@@@@@@#:+++''+++;;'++++;;'++;;;'+     
     ;'';'@@@@@@@@##'++''+++;;+++++'++++;;;++     
     ;'';;#@@@@@@@##'''''+++;;++++++++++;;;++     
      `';;###@@@@@@#'''::+++;;++'+++++++;;;+      
        `;###;;@@@@@'''::+++;;'''+++;;++;;        
          +##;;;;@@@'''::+++;;'''+';;;++          
          +##;;;;;#@'''+++++;;''''';;'++          
          +##'';;;##+''+++++;;''''''++++          
          +##''+';##++++++++'''''''+++++          
          '##''''+:#+++''+++''''+''+++++          
          ;'+''''';:+++''+++''+++''+''++          
          ;''++'''''###''+++;;+++'+'''++          
          ;''++++'''###+++::+;++'++'''++          
          ;''++++++'###++;::++'''++'++++          
          ;'''+++++++##++#':++'''+++++++          
          ;''''+++++''+++###'+'''+++++++          
          '''''+++++'''++###;;'''+++''++          
          ''';'++++++''+++##;;'''+#'''++          
          ''';;'++++##++++++';'''##'''##          
          ;;';;'''++####++++##'''##'####          
          ;;;+;''';;#####+++##'''#######          
          ;;;+++'';;#####++++#''+#####+'          
          ;';+++++;;#####++++++######+''          
          ;'':++++;;#####+++++####++++''          
          ;''::;++;;''###+++'+###+++++''          
          ''':::;;;;'''+#+++;;###++++'''          
          '''+::;;;;'''++'++;;###++'''''          
          '''++';;;;'''++''';;###++'''++          
          ;''++''';;''''+''';;+++++''#++          
          ;;;++''';;'''''''';;+++++###++          
          ;;;+#+'';;;;'''''';;+++''###+#          
          '+;++##+;;;;;'''''+++++''#####          
          '++++###;;;;;'';''+++++''#####;.        
          '+++++##;;;;;'';;;+++++++####';;,`      
          ;'+++''+;;;;;+';;;+++##++##+'':,,,,`    
          ;;;++''''';;;++;;;++###+++++'''':,,,,`  
          ;;;++;'''':;;++;;;++###+++++'#':::,,:::`
         :;;;++;;;'':::++;;;''#+++++++##;::::,:::'
       `,;;;:;+;;;#+:::''';;''++++++++##;;,,,,,'''
     ,````;,,,,:;;##';:''++'''++++++++#+,....'''''
   :;;;,;''':,,,,:##';;''++++'+''++++#++,,.++''''#
 `..,;:::;'::::,:::'';;''+++++'''++###++,++++'''##
';..:::::;;::::,:::;;;;''+++++'''++###+:+++++'''##
'##':::;;;;;,,,,,.,;;;,:'+++;''''++##+::+++++'''##
'##++';;;;,....:````;,,,,;++;;'''++'''::+++++''+##
'##++++',,,,,;;;;,;''':,,,,;;;''';:'''::++++++++##
'##+++++::,...,;:::;'::::,::::'++::'''::+++''+++##
'####+++::+;..:::::;;::::,:::';;;::'''':+';''+++##
'####+''::+##':::;;;;;,,,,,''';;;''''''';;;''+++##
'+++#+''::+##++';;;;,....'''''#;;''''''';;;'++++#+
'++::'''::+##++++',,,,,++''''####''''''';;;+++++''
;++::'''::+##+++++::,'+++'''#####@@''''';;;+++++''
;;;;:'''':+####+++::+++++'''##@##@@##''';;;+++++''
;;;'''''''+####+''::+++++'''##@@@@@###@';;;+++++''
+';'''''''++++#+''::+++++''+##@@@#####@@';;+++++''
+##'''''''+++::'''::++++++++##`@@##@@#@@;;;+'+++';
+##@@''''';++::'''::+++''+++##  `##@@@#@''#''++'  
###@@##''';;;;:'''':+';''+++##    `@@@#####'''    
#@@@@###@';;;''''''';;;''+++##      `@#####;      
#@@#####@@#';''''''';;;'++++#+        `##+        
 @@##@@#@@###''''''';;;+++++''                    
   ##@@@#@###@@''''';;;+++++''                    
     @@@##@##@@##''';;;+++++''                    
       @##@@@@@###@';;;+++++''                    
         #@@@#####@@';;+++++''                    
           @@##@@#@@';;+'+++';                    
             ##@@@#@''#''++'                      
               @@@#####'''                        
                 @#####;                          
                   ##+                            
                                ,                 
                              ;#;,,               
                            ,;;;,,,,,             
                          ;;;++++:,:;;,           
                        ;+#++#+++##;;;,,,         
                      ;##++++++###+++;;;;;:       
                    ;+++++###+++#++++++:,;;;:     
                  ;+++++###:,'###+++##+++;##:,,   
                ;##+++;;;:,,'##+++###++++++###+++ 
              ;+++++;:,,:;:,,,'++##+++#+++##+++###
            ;+++++;;;;;::;:,,,##++++###++++++#####
  .'     `;##+++:;;:;;,;;:,,;;;+++######+++#######
  '+#  +++++++;:,,,,,,,,,,;;;+++++++++;++++#######
  '##++++++++;;:,,,,,,,,;;;,,;+++,,',,:;;+########
  +++++++++++++::,,;;;:,,:,:+;;:;;:,:;;;+#########
 ++++++++++++,,,,:;;,,;,:;+++,,:;;:,:;+++#########
+#+++,,;,,;,,,,,:++:,,,:+++##';;;;;;+++###########
+##+,,,,,,,,,,,+++++#,:+++##+,:;;'''+'+###########
+####:,,,,;::##'''###;:++++++#+'##''+'+###########
'####;;:;;:;;'+'+###'#############''+++###########
::'##;;;';,,,,;++#+''+#+++########'''++###########
#::##;;;'''+;##+##+''#############'''++###########
#@,##;;;;#'###'###+''###'#########'''+############
+@,##;;;'#####'###+#####'#########'''#############
+####;#;#:'###''####################'#############
+####'###:::##'#####################+##++#########
+##;#####,,:##'#####################++''+#########
+##::;###:,@##'####################++'''+########'
+#:@:::;###@#########'############''+'''######### 
+#:@@+:::############;;'+#########''''+########## 
`#:+#+++:############;;;+########+''''+########## 
   +++++@:###########;;;'######''+'+''+'######### 
     +++#::########+';;;'######''+++++++#+'+##### 
      #++::######+''';;;#######''+++++###+''##### 
      ###::#####+';'';';######+'++++#####+''##### 
      ##########+;;;;;''######++++#######+''##### 
      #####''+##+;'';;;'####++++#########+''##### 
      #####''+####''';;;####++###########+''##### 
      #####'''######';''#################+''##### 
      #####''+########''#################'''##### 
      #####''+###########################';+##### 
      #####''+########+###################+###### 
      #####''+########'''##########@@############ 
      #####;++########'''########@@@@############ 
      #####;++########'''######@@@@. ############ 
      ################'''#####@@@.   ############ 
      ################'''##### .     ############ 
      ################'''#####       ############ 
      ################'''#####       @#########@@ 
      ################';+#####       #@@#####@@@# 
      ################+;+#####         #@@#@@@#   
      ###########@############           #@@#     
      @@#######@@@############                    
       @@@###@@@@.############                    
         @@@@@@.  ############                    
           @@.    ############                    
                  ############                    
                  ###########@                    
                  @@#######@@@                    
                   @@@###@@@#                     
                     @@@@@#                       
                       @#                         
                                                                   
                                        ````                       
                                      ````````                     
                                    ````````````                   
                                  ````````````````                 
                                 ```````````````````               
                               ..`````````````````````             
                             `.....``````    ```````````           
                           `````.`````````    ```````````          
                         ``````````````````````````````````        
                       ```````` ` ```````````````````````````      
                      ``````````` ``````` `````````````````````    
                    ````````````````````    `````````````````````  
                  ``````````````````````` ```````````````````````` 
              ```````````````````````````````````````````````````.:
              ``````````````````````````````````````````````````:::
              ` ``````````````````````````````````````````````:::::
                  ```````````    ```````````````````````````,,:::::
       ````         ``````````     ```````````````````````,,,,:::,,
        ``     ``   ````````````     `    ``   `````````.::,,,::,,,
               ``` ``````````````                ``````,,::,,:::,,,
  ,                  `````````````             ``````,,,,::::::::,,
  ,.,              `````````,,``                ```,,,,,,:,:::::,,,
  ```,.          `````````.:::````               ,,,,,,,,,,::::::,,
.`````.,. ```` `````````.:::::``` ``           .,,,,,,,,,,,::::::,,
,,``````.,.````````````:::::::```````        `,,,,,,,,,,,,,::::::,,
,,,,``````,,```````` ,,:::,,::``````````   `,,,,,,,,,,,,,,,:::::,,,
;;,,,,`...`.,,`````::,,:::,,:,``````````` ,,,,,,,,,,,,,,,,,:::,,,,,
;;;:,,,,.....`,,`,:::,::::,:,,``````````,,,,,,,,,,,,,,,,,,,:,,,,,,,
@+;;;:,,,,....`,,::::::::,:,``````````,,,,,,,::,,,,,,,,,,,,,,,,,,::
@@,:;;;:,,,,.,;:,::::::,,,``````````,::,,,,::::,,,:,,,,,,,,,,,,,,::
'@,.;;;;;:,,:;;:,::::::,`   ``````.::::,,,:::::,,:,:,,,,,,,,,:,,:::
'';.;;;;;;;,:;;',:::::`       ```,:::::,,,:::::,,:::,,,,,,,:::,,,:,
:';;;;;;,;;;;;;',::::.         ,,,:::::,,,:::::,,:::,,,,,,,:::,,,,,
,,;;;;;;,.:;;;;',::::..,     ,,,,,:::::,,,,,:::,,:::,,,,:,,:::,,,,,
,,;';;;;:.;@+:;',::::..,,. ,,,,,,,:::::,,,,,:::,::::,,:::,,:::,,,,,
::;',,;;;;;@#:;',::::..,,,,,,,,,:,:::::,,,,,:::::::::::::,,:::,,,, 
::'',,,,;;''#:;',::::..,,,,,,,,,:::::,,,,,,,::::::::,::::,,,:,,,,, 
 .''::,,;'''':;;,::::...,,,,:,,,:,:,,,,,,,,,:::::::::::,,,,:,:,,,, 
  .;::::;';:':::,::::.....,::,,:::,,,,,,,,,,:::::::::,,,,,::,,,,,, 
  ...:::;';,,:::,::::.....,::,,:::,,,,,,,,,,:,,:::::,,,,,,,,,::,,, 
  .....:;';,,:::,::::.....,::,::::,,,,,,,,,,,,,:::::,,,,,,,::::,:: 
  ......,';,,:::,:::,.....,:::::::,,,,,,,,,,,,,:::::,,,.,,:::::::: 
  ......,,,,,:,.,::.......,::::::,,,,,,,,,,,,,,:::::,...,,:::::::: 
  .......,,.,...,.........,::::,,,,,,,,,,,,,,,,::::.....,,:::::::: 
   `......................,::::,,,,,,,,,,,,,,,,::,......:::::::::: 
     `...........,,.......,::::,,,,,,,,,,,,,,,,,,,......::::::::`  
      ...........,,,......,::::,::,,,,,,,,,,,:';;,......::::::;'   
      ........,..,,,......,:::::::,,,,,,,,,:''';;;:.....:::::;''   
      .........,.,,,...,..,:::::::,,,,,,,,;';'';;;;;,...:::';'''   
      .,,,....,.,,,,...,,,,:::::::,,,,,,;;;;;'';;;;;;;,.:'''''';   
      .,,,,.....,,,,,..,,,,:::::,,,,,,,+++;;'++;;;;;;;;;'''''';;   
      .,,,,......,,,,,,,,,,::::,,,,,,,,,+++++++;;;;;;;;;'''';;;;   
      `,,,,......:,,,,,,,,,::::,,,,,,,,  ;+++. ;;;;;;;;;'''';;;;   
        .,,.....,::.,,,,,,,::::,,,,::,,    ,   ;;;;;;;;;'''';;;;   
        ,;,......::...,,,,,::::,,,:::,:        '+;;;;;;;'''';;++   
        ,;;;....,::.,...,,,::,,,:::::::        '+++;;;;;;;''++++   
        ,;;;;:..,::.,,,...,..,,::::::::         .++++;;;;;++++:    
        ,;;;;;;:,:',,,,,.....,:::::::::           ,+++';'+++'      
        ,;;;;;;;;'',,,,,.....,,::::::::             ;++++++        
        ,;;;;;;;;'',,,,,.....:::::::::,               +++          
        ,;;;;;;;;'''',,,.....::::::::                              
        :;;;;;;;;'''';;,.....::::::''                              
        :+';;;;;;'''';;;;....::::;;''                              
        :+++;;;;;;;'';;;;;:..::;'''''                              
          ++++;;;;;++;;;;;;;,;'''''';                              
            ++++;++++;;;;;;;;''''';;;                              
             .+++++; ;;;;;;;;'''';;;;                              
               ,++   ;;;;;;;;'''';;;;                              
                     ';;;;;;;'''';;;+                              
                     ++;;;;;;''';;'++                              
                     ++++;;;;;;''++++                              
                       ++++;;;'++++                                
                        .++++++++`                                 
                          ,++++.                                   
                            ;;                                     
                         ,                        
                       ::,,,                      
                     ::::,,,,,                    
                   ::::::,,,,,,,                  
                 ::::::;;::,,,:::,                
               ::::::;;;;:::::::::,,              
             ::::::;;;;;;:::::::,,,,,,            
           ::::::;;;;;;;;;:::::::,,,,,,,          
         ::::::;;;;;;;;;;;;;:::::::,,,,,:,        
       ::::::;;;;;;;;;;;;;;;;;:::::::,:::::,      
     ::::::;;;;;;;;;;;;;;;;;;;;;::::::::::,,,,    
   ::::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,  
 ::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,
;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::,,,,,,;
;;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,,,;;;
;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;
;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;::;;;;';;;;;;
;;;;;;;';;::::::;;;;;;;;;;;;;;;;;;;::::::+++;;;;;;
;;;';;;'''';::;;;;;;;;;;;;;;;;;;;;;;;::'++++;;;;;;
;;;''';'''''';;;;;;;;;;;;;;;;;;;;;;;;'++++++;;;;;;
;;;''''''''''';;;;;;;;;;;;;;;;;;;;;'++++++++;;;;;;
;;;''''''''''''';;;;;:::;;;:::;;;'++++++++++;;;;;;
;;;''''''''''''''';;:::::::::::'++++++++++++;;;;;;
;;;''''''''''''''''';;:::::::'++++++++++++++;;;;;;
;;;''''''''''''''''''';;:::'++++++++++++++++;;;;;;
;;;''''''''''''''''''''';'++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''+''''''''''''''''+++++++++++++++++++;;;;;;
';;''''''+'''''''''''''''+++++++++++++++++++;;;;;;
''''''''++'''''''''''''''+++++++++++++++++++;;;;;;
'''''''''''''''''''''''''+++++++++++++++++++;;;;;;
'''''''''''''''''''''''''+++++++++++++++++++;;;;;;
;''''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''''''+''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;''''''''''''''''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''+''''''''+++++++++++++++++++;;;;;;
;;;'''''''''''''+++''''''+++++++++++++++++++;;;;;;
;;;''''''''''''++++''''''+++++++++++++++++++;;;;;;
;;;''''''''''''++++''''''+++++++++++++++++';;;;;;;
;;;;'''''''''''+'''''''''+++++++++++++++';;;;;;;;;
;;;;;;'''''''''''''''''''+++++++++++++';';;;;;;;;;
:;;;;;;;'''''''''''''''''+++++++++++';';';;;;;;;;;
  :;;;;;;;'''''''''''''''+++++++++';;;'';;;;;;;;` 
    :;;;;;'''''''''''''''+++++++';;;;;;;;;;;;;`   
      :;;;''';'''''''''''+++++';;;;;;;;;;;;;`     
        :;''';;;'''''''''+++';;;;;;;;;;;;;`       
          ;'';;;'''''';;'+';;;;;;;;;;;;;`         
            ;;;;''';'';;;;;;;;;;;;;;;;`           
              :;''';;;;;;;;;;;;;;;;;`             
                ;'';;;;;;;;;;;;;;;`               
                  ;;;;;;;;;;;;;;`                 
                    :;;;;;;;;;.                   
                      :;;;;;.                     
                        :;.                       
                                                                                                   +   
                                                                                          ###;''++''   
                                                                               ::#+'+''+'''+''';'+++   
                                                                       '#'';;+'''+''#';'+###+#++''''   
                                                              ##+''''+''''+;';++##++'++'''+'';''''''   
                                                     #++''''+''''#;'++####+++;''+'''''''''''+'''++''   
                                            +#+'''+'''+';;'++###+''+'''+''''''+'''''+'''''''''+++###   
                                 ::+#'+''+''''';++++##+'+'+''+++''''+'''''++''';'''++#####++;;'#''+'   
                        :;+'''''+'+'+''++###++'';''+++'''''+'+''+'''''';+++####++'''+'''''+'''''''''#  
                       ''';';++##+#+;''''+'+'+''''+++'''''''';++++##++';''#''+'+#'''''''+''#'+''+'''#  
                      ;#++++''++''+';+''++++'''''''++##++++';'''''+++'+'''''''''#'+''+''+'''''++##+#@  
                       +';;''+'+#++'''+'++####++';';;''''+'''''''''+'''''''';';'''+++###+#++'''''+''   
                    '+;'+'';'+++###++''+'''+''+'+'++'''''';'+'''';'';+++#+###+++';''++'+++#'''++''''+  
                    ####++'';'++'+'''''''++'++'''''''+;';++#+##+#++'''''+''++++#''''''''+''''+'+'#'++  
                    +''+'++''''''+'++''''''';'+#####+++#''''''''''+++++''''''''''''''#'++'''''''''''+  
                 ++''+''+'+'+;;''++#####++''+'+'''#'+''''''''''';''++''''+#''''''''''++#######++++';'  
                 +'''+#####++'';'++''''+++''''''''#'''''++++''+'''''''++++#####++++''''''''''''''++++  
                 +'+''+'++'''+''++''''''+'''#'+''''+''''++###+####++';''++''''''''+''++'''++'''+'''''  
                 ;''''''+''#'+++''+''';''+++#######++'''''''''+'++'++''+'''''+''''+'''';'''#'++++'+''  
              :++''''''';''+++###+++++'''''++'''#''+''''''+'''''''+'+''''''''''''+++''''''++'''';++++  
               ###+##++;''+'''''''''++'+''''''++'''''''''+'''+'''''+'''+''';';'+++#+####+##+#+++'+;''  
              :'''''+''+'''''''''''+'''''+''+'''''+'''+'''+'#++++#+#++####++++''';'+''''''++''+'''+++  
           :  ''''''+''+++'''''''''+''''';'+++#++#+#####++''''+'''''''+'''+++'#'''''''';'''+''+++''''# 
           +'''+'''''''+'+'+###++####+++''+''''''+'''+''#''''''''''';'+'#''''''+'''''''+''''+''++#'++# 
           ;####+#'++';'+'''++'++'+++#'''';''''''+'#''''++'''''+''''+'''++'++++'''''+'++'''''+''+''''# 
            +''''''+#'''+''''''+''''#'''''+'''#'++'+'++'''''+'++''+'+'''''''''';''+'++#+######+++####@ 
           ;''''''++'';''''+'++'++++;'+++'+'''''''''';'''++++##+#++##++#####++'+''+'''''';''+'++++'''' 
        '+''++''+''+''''''''+';'+'+++#++#######+++++++';'''+'''''''''++'+'+''#'''+''+++''++'''+''''''  
        ++'++####+##++##++'+'+';';''''+'''''+''+''''''#''''''+'''+'''+'+'''''''''+'''++++++#++++'''''+ 
        ''''+''''+';;''+'+''+''+'''''''+'''''+'''+';''+++++++++'++''''';''''+''''''''''+''+''++'+''''+ 
        '+''''''''''''+++''++++++'''''''''+''';'''+'++'+''+''''''''+'+'''''''#'''+'''''+'''''''#'''';+ 
    +++++''''++''''''''+'+'++'''#'+++'''''+'''''''+''+'''';';'';''''+''+++++++++++####++#+#++++++++### 
    :'+++;''+''''+''''''''';+'+++++####+##+++++###+######++#++++++'';''''';''+''+''+'''''''+''''++'''' 
    ;########++++'+++;'';''''';''';''#''''''''''''''+'''+''''++'+'''''''+++'#'''+'''++++++'''''''''''' 
     +''''''+''''''''++''+'''++'+''+'''''''''+'#''''''''+'+;''''';''''+';''';';;'++++++'++++'#+#+####@ 
     ;'''''+++++++#+++######################+++++++++++++';;'''';';;'';'''''''+'''''''''''''#'''''''''#
:''#''''''''+''''+'''+''+'''''''''+''''++''++#'+++++'''+'#'''+'++''+'+'+''+''+'''''#'+''+''+'''++++'++#
 '''+'''+'''++'''+'''''''''''''+'''''+'''''''''''''''''''''''''';'+''''''';''';'''''''''''';;''''''''' 
 ###++#######+#+#######+########+++########++#########+++######+###++####+#+'+++++++++++++++++++++++++ 
 '''+++'''+'''++'''+''++''''''''++'''''+''''++''''+'''++''''''+'''+'++'''''+'''''+'''''''+''''+'+''''' 
 ;';''';'''+'''';;'''''''''''''''''''''++'''''''''''''+'+''''''++'''''''''''++'''''''''''''+'''''''''' 
         #'+'+++'++++++++#+#+++++++#@##@@@@#++#+++++++#++#+#+#++#+####@##+#+####+#+#####+++##+#+++###+ 
         '+#+++++'+''''''#+###+#'##+ +,@,''@'@+#''#+#''#'''''+'++;#+'++++++''+'''+''''''+''''';''++;;  
         ++#'+++##+#######+@#++##@#+ ,#######+'##+@++'''''+;';;';'#+';+'#+#';''+'+'''''''++''''''++;+  
         +;;#:+'#+''+''+'#'@#+#+#@++:#'++:+##+'+@'#'+'''';''+''+;'+'''++:+++#####+#+##+++;'+'+''+:#++  
         +##'+'+#'+++';';#'@@+++##+'#+'# +'#@+'##'#'+++''''''+++;'#'+'#''++''+'''''''''''###+'#@'+++;  
         ''#''+'#''+''';'++#@@#'@#++,.'+#'++++##+'#+#####+++++++#+#####+###''''''''#'''+'#'++++''''''  
         +'#+'#;+''''++''++#@++'##++:''',;+#++##''#'#;''+''''';+;'+';#+'''+'+######+##++++###';'++#+   
         +;+''#+#++######+''##++++@;.+#+@+++###+++''#'''''''+'++;;+'+;+''++++++''''''''+;;;+;';'+;'+   
         ''++'+'+++''''+++''@+#+++@;.+'++#:###++++''###########++'++'++'+'+;''''''+''''++''++++''##;   
         '++'++;+++++'+;;'+'#'##+##:,':#####+#'+'++++''''''+'''':;++++++++#'+++##++#####+++;;'+++'''   
         +'+''+++++'''+#;'+;++'@##;,;+;';#'@++++'#'++'''''''''''''#'@+#+++#'+'''''+''''#';'';';'+;+'   
         ;;+'+'+'+++;+'+++''+'++;++;+''+++;++;'';+#+'++'++#++###;'+'++#'++#;;+'''''''''+'''+++''++''   
         :##+#;++'#+++#;++''++'##+++'+'+++'+''#';'+;+'';+;''++'':;+++++++++'+''+#+++###'#+'++;'++''+   
         ;#''#+'+'#'#+''';+++'#''+'##+'++'++''++'+++'#''+;'''+'';;++++#+###'#;''+;'++';++#''+''+##+;   
          ;+''++#++##;+++++'++#''#'#''+:+'+;+;'+++'++''##++++'+##,#'+++'++#+'+'+'+'#++'#+''#''''++;+   
          +++;+@;#+'''';++;'+''#++++##'''++++'+'++''+'+;;++:+''+:'#+++#'+++''#++'++#;+#+#'+#++'++++'   
          #+;+#;'#+###'+'+++#+;'#;+''+''';++;;#+'++#+''+#+'++'+#+;+++++++++;':;'++;+''+';###+++;;+++   
          '+#++''+'#';+;++##;'#+''#'#++'##'#''#+;+'+'+';+;';+;'+;'+'+++++##++'''+++'''#+''''++;''''+   
          #'++++#+'+++'+''''++'+''+;+'''+;'++#''++#;;#+'+++;'#';++#+++#++##+;;''''+++#+'++###'++'''+   
          +;+'+#'++++++''++''##+##''+++'++'+;'+;;'#+'###';'#+;''+++'''#+++#+'+;++;''++'+;;++;';'++++   
          ;+#+'+++''+'+++'#'''+#'#'++#;+++#+'++++++'';''+'';+''#''++#''++++++++'++'#+;+#+++#+';+'+;;   
          ;##+++##+++'++++'+++''++'''+;++#''+'++'++;++'+''##+++#';:'.,;;+:@+;;#;';++;''++++;;++'#+'+   
          +'+#;'''++#+++++''#+'+'+#'+#'++#++#;+;;'#+;'+;'+;+#;#+..;+.#;'.:;+''+#+++++'++';+'';;++'''   
          '+#++++++'+##++#';;#+'+#'+##''+;+#+++'+'++;+';+.;+;;;;;;:;'+,':,'+'''''+'++#+#'+++++''+'++   
          ++#+'++#;;#+'##+++++#+'+'+';#'+'++;##+#++#++'+;+.:':+;;::+::+:;#''':;:''+++#+;+''#'++'+#+;   
          ##'++#'+#'++'+#'';#''''+'+##''+'++';'++;++';+,+':;++#####;'+.':;:::';;+;'+#++'+;;''''++'+;   
          '+#+;#++'#'+##'++'#+'+#'++'#''''+++###;'+'+.;;+;'.':';:'',;'''++;;,::+''++#;'#'+'#+;''+'+:   
          +'+#+++#'++#'#+#''+'++;'#+'++++#''++++;;+;'++##';`,:+.'+'';:;'.;;'''+;'#;;'+##'''+++''##;    
               ,:+@'#+###+'++#++''+'''+++;'++'+##'+#'''+'++''';';'++;;':,,:;,:+':';+''+;#+#+'+#;'++    
                          '++'+'+#+''++++''#;'+;'#+;:'+##;'''+''+;''+;'''++;++':''+''++'+;'+++:''+'    
                                    :#;+'+#+'++#+'',,#;+++++;'++'++'++''+';'+;++;:.:;;;++###''+'''#    
                                              ;+':+;::''''+'###+'+++'++#++''+;';,,:'';,+'''''';''++    
                                              '.;::`;+'''##'+;;'#+:;''++';#++'''+',,'',+''#++;;'#+;    
                                             ';++''',:'++#++''+'+++''''+;'';;+'+,;',::;+##';+++#+;;    
                                            ;',;':;.:'+;;';..::+''+#+++++'''+'+:,.:'+;';''+;';'+'''    
                                            +;;+@''''+,::'.;;+,:+#'..';`;+@##+':;;+;'.;';'''++'+''+    
                                            #++'#+;'';'+++;'.,:;.:,',;:.';++;:;,;;.'';' ,'++;+'++#+    
                                            +++#++#''++';++''+;';'+'.;+':;:',;,:+:;':':                
                                            +';+''+#+;';'#''+++';+'+'+++;';;:;:;'',:::                 
                                            ;'''+';;+''''+#++'++''#+';'+'''#'';;'+':;,                 
                                            +'++''+''+''++;'++;'#++;';++''#+++;;+'#+'#                 
                                             :''#''+'+##+'''++#''++;''+++++;;++''#+;;'                 
                                                    :''+'+'+++'++'++''';''#+'''#+#;+'+                 
                                                            '##''++++#+''+++#+''+#;''+                 
                                                                   :;+'#+++''+++'+''''                 
                                                                          :##;''++++++                 
                                                                                  ;++'                 
                                                                                                                                                 `,,,,,,                                                
                                               ,,,,,,                                                                                            ;:;:::::,:                                             
                                           ,::::::;:'                                                                                           ;';':,,,,:,                                             
                                           ,:,:,::';';                                                                                    ,::,:,'';'',::::,,                                            
                                          ,,::,:,;';'':::::,`                                                                          ::::::,,::::::::::::::::::::::::::                               
                              :::::`,:::::::::::::::::::::::::;                                                                        ;,:,::,:::,::,:::::::::,:,,:::,:,,:                              
                             `,,,:,,::,::,:::,:::::,::,:::,:::;.                                                                      ;;:::::::::,::::::::::::::::::,,:,::                              
                             :::;:::::,::::::::::,:::::::::,::;;                                                                     `;;,,:,,,:,::,:,:,:,,:,:,:,,:::,:,,::                              
                             ,:,,::,,:,:,:,,,,:,:,:,,:::,:,:,:;;                                                                    :;;;,,;:::,,,;:::,,,;:::,,:::::,,:::,:                              
                            .,;:::,,:::::,,::::,,,::::,,:::::,;;;;                                                                  ;;;;::::::::::::::::,::::::,::::::,::::                             
                            ::,::::::::::::,::::::,:,::::,:,;;;;;;                                                                 ;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`                            
                            ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;;::                                                              :;;;;;;::::::::::::::,:,::::,:,::::,:,::,,                            
                           :::::::::,::::,:,::::,:,::,:,:,:,,;;;;;;:                                                             ::;;;;;;::,,,::,:,,:,:,:,,:::,:,,:::::,,::,                            
                           ::,::::,:,:,,:,,,,,,,,,,,,,::,,:::;;;;;;;;                                                            ;;;;;;;;::::,::,,,,:,:,,,,::,,,,,:,,:,,:,::                            
                           ,,:,::,,:,:,,,,,,:,:,,,,:::,,:,,,,;;;;;;;;                                                           ;;;;;;;;;:,:,,::,:,,,:,,:,,,:,:,,,,,,:::,,:::                           
                          .,:,,::,:,,,,:,:,,,,:,:,,,,::::,::;;;;;;;;;:                                                          ;;;;;;;;;:,:::,,,::,:,,:::,:,,:,:,:,,:,:,:,:                            
                          ,:::::,,:,:,,:::,,,,:::,,:,:,,,:,,:;;;;;;;;:                                                          ;;;;;;;;;;::,::::::::,::::::,::,:::,:::,,::,:                           
                          ::,,,;::::::::::::::::::::::,,::::;;;;;;;;;                                                           `;;;;;;;;;,,,,,,,;;;;;;';;;;;;;;';;;';;,,,,,,,                          
                         ,,,,,,,;';;;;;;';;;;;;;;;;;;,,,:,,,;;;;;;;;;:                                                          ;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;;;;;;;,::::::                          
                         :::::::;;;;;;;;;;;;;;;;;;;;;,::::,,;;;;;;;;;;                                                         ,;;;;;;';;;:::,::,;;;';;;';;';;;';;;;;;;:::,::,.                         
                         ::,:,,:';;;;;';;';;;;';';;';::,:,::;;;;;;;;;;;                                                        ;;;;;;;;;;;:::,:,:;;;;;;;;;;;;;;;;;;;;;;;,,:,,:.                         
                        .::::::;;;;;;;;;;;;;;;;;;;;;;,,:,:::;;;;;;;;;;;                                                       `;;;;;;;;;;;:,:,,:,:;;;;;;;;;;;;;;;;';;;;;,,:,:,:                         
                        :,:,:::;;';;;;;;';;;;;;';;;;:,:,,:::;;;;;;;;;;;,                                                      ;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;';;;;;;';,,:::,,                         
                        ,:::::,;;;;;';;;;;;';;;;;;';,,;:::,;;;;;;;;;;;;;                                                     .;;;;;;;;;;;;;,:,:,:,;;;;;;;;;;;';;;;;;;;;;::::::::                        
                       .:::::,:;;;';;;;;;';;;;;;;;;;::,::::;;;;;;;;';;;;;                                                    ;;;;;;;;;;;;;;::::::::;;;;;;;;;;;;;;';;;;;;;,::,:,:                        
                        ::,:::;;;;;;;;;;::::;;;;;;;;,,:,:,,;;;;;;;;;;;;;:               ,,,,,.,,,,,,,,,,,,,,,,               ;;;;;;;;;;;;;;,:::::,,;;;;;';,:::::,:;;;;;';,:::::,`                       
                       ::::::,;;;;;;;:::::::;;;;;;;;:::::::;;;;;;;;;;;;;`               ::::::::::::::::::::::               .;;;;;;;;;;;;;:,:,,:,,;;;;;;;,,,,,,,:;;;;;;;:,:,,:,,                       
                      `,:,,:,:;;;;;;;,,:,:,,;;;;;;;:,:,::,:;;;;;;;;;;;;;`               ,:,::::,,,,::,:,,,::::               .;;;;;;;;;;;;;;::,,,::';';';;::,:,::,';';';;;::,,::,                       
                      :::,::,;;;;;;;;:,:::::;;;;;;;:::,:,:;;;;;;;;;;;;;;                ,:,:,,,,:,,:,::,:,,,::                ;;;;;;;;;;;;;;,,,:,::;;;;;;;;,:,::,,;;;;;;;;,,,:,::                       
                      ,,::,,:;;;;;;;,::::::;;;;;;;',::,:,:;;;;;;;;;;;;;;                ,:,,:,:,:,,::::,:,,:::                ;;;;;;;;;;;;;;:,:,,:,:;';;;;;::;::::;;;';;;;:,:,,:,:                      
                     .::,,:::;;;;;;;:::::,:;;;;;;;;:::,:,:;;;;;;;;;;;;;;                ,:,:,,:,,,,,,,:,:,:,,,                ;;;;;;;;;;;;;;,,:::,,,;;;;;';,:::::::;;;;;;';,:::::                       
                     ,,:::,,:;;;;;;;::::::,;;;';;;;,,,:,:,;;;;;;;;;;;;;;                ::,,:,,,:,,::,:::,,:,,                ;;;;;;;;;;;;;;:::::::,;;;;;;;::::::::;;;;';;;,::,::,                      
                     ::,::::;;;;;;;;:::::::;;;;;;;:,:::,;;;;;;;;;;;;;;;;                ::::,::,::::::::::::::                ;;;;;;;;;;;;;;::::,:,:';;;;;;;:::::::;;;;;;;;,:::,:,,                     
                     ,::,:,,:::::::;;;;;;;;:::::::,,,,,,,,;;;;;;;;;;;;;,        ,,,,,,,:;;;;';',,,,,,,,;;;;';',,,,,,,,        ;;;;;;;;;;;;;;:::::::,,::::::,;;;;';';::::::,,::::::,                     
                    ,::::::::::::::;;;;;;;:::::::::::::::;;;;;;;;;;;;;;,        :::::::;;;;;;;;::::::::;;;;;;;::::::::        ;;;;;;;;;;;;;;;,:,:::,,,,,,,,,;;;;;;;;,,,,,,,:,,,,,,,`                    
                    ,,,,:,,,,,,,,,:;;;;;;;,,,,,,,:,:,,:,,;;;;;;;;;;;;;;,        .:,,::,;;;';;;',,::::,:;;;';;;,,:,::,:        `;;;;;;;;;;;;;;:::,::,:,:,,,,,;';';;';,,,,,::,:::,:,::                    
                   .::,,,::,,,,,,,;';;;;;;,:,,,,::::,::::;;;;;;;;;;;;;;         ,:,,:,:;;;;;;;;,:,::,::;;;;;;;,:,,:,,:        `;;;;;;;;;;;;;;::,:::::,:,,:,::;;;;;;;:,:,,:,,:,,:,,::                    
                   :,,:,::,,,,,:,,;;;;;;;;,,,,:,,:,,:,,::;;;;;;;;;;;;;;         ,:,,:,:;;;;;;;',:,::,,:;;;;;';:,:,,,:,        `;;;;;;;;;;;;;;,,:,,,,:,::,,:::;;;;;;;;,:,,::::,,:,:::                    
                   ,,:,,::,::,,:::;;';;;;::::,,:::,:,,:,,;;;;;;;;;;;;;;         ,:,,,,,;;;;;;;;,,,,,,,:;;;;;;;:,:,,,,,         ;;;;;;;;;';;;;':::,:::,,:,,,,:;;;;;;;;,,,,:,,:::::::::                   
                   ,:::::,,:,::,,:;;;;;';,::::,,:,,:::,,,;;;;;;;;;;;;;;        `::,,,,,;;;;;;;;,:::::::;;;;;;;:::,,::,         ;;;;;;;;;;;;;;;,:,,,:,,::,,::,;';;';;;:::,,::,,,,,:,:                    
                  .:::::::,::,::,;;;;';;;,:,:::,:,:::::,:;;;;;;;;;;;;;;        `:::,::,;;;;';;;::::::::;;;;;;;;::::,::         ;;;;;;;;;;;;;;;::,::,;:::::::::;;;;;;;;::::,:::::,::,::                  
                  :::::::::::::::;;;;;;;;:::::::::::,:,:;;;;;;;;;;;;;;;        `::::;::;;;;;;;;:::::::;;;;;;;;;:::::::,        ;;;;;;;;;;;;;;;,:::,:,,;';;;';',,,,,,,,;;;;;';',,,,,,,,                  
                 `,,,,,,,;;;;;';;,,,:,,,,;;;;;;;:,,,,,:,;;;;;;;;;;;;;;;        ,::::::,,::::::,::::::,,::::::,,::::::,,,.      ,;;;;;;;;;;;;;;::::::::;;;;;;;;::::::::;;;;;;;;::::::::                  
                 ::::::::;;;;;;;;:::::::;;;;;;;;::::::::;;;;;;;;;;;;;';      ::,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,:,,,,,,,::,      ,';;;;;;;;;;;;;:,,,,:,,:;;;;;;;:,,,,,,,;;;;;;;;;,:,,:,,.                 
                 :::,::,:;;;';;;:,::::::;;;';;;':::,::,:;;;;;;;;;;;;;;.      :;,,,,::::,,,,::,:,,,,,:,:,:,,,,::,:,,,,:;:;      ,';;;;;;;;;;;;;;::,,:::;';';';;;:::,:,,:';';';;;:::,::::                 
                 :::::,,;;;;;;;;,:,::,::;;;;;;;;:::::,:;;;;;;;;;;;;;;;.      ;;,:,,:,,:,:,,:,::,:,,:,::,:,,:,::,:,,:,::;;       ;;;;;;;;;;;;;;;,,,:,::,;;;;;;;;,:,::,,:;;;;;;;;:,,:,,::                 
                .,,:,,,:;;;;;;;;,:,::,,;;;;;;';;,::,,,::;;;;;;;;;';;;';;:::,,,,,:,:,,::,:,,,,::,:,,,,::,:,,,:::,:,,:::::,,,::;;'';;;;;;;;';;;;;,,:,,:,:;;;;;;;;::::::::;;;;;;;;:,::,,::,                
                :,:,,:,:;;';;;;;:::::,:;;;;;;;;:::,,:,:;;;;;;;;;;;;;'''';;:::::,:,,:,,:,,,,:,,:,,,,,,,:,,,,:,,:,:,,,,,:,:::::;;''';';;;;;';';;;::::,:,:;;;;;;;;:,,,,,,,;;;;;;;;;::::::::                
                ,:;:::,:;;;;;';,::::::,;;;;;;';,,:::::,:;;;';;;;;;;''''';;;;;:;,:,,:,,:,:,,:,,:,:,,:,,:,:,,:,,:,:,,,,,::;:;;'''''';';;;;''';';;:,:,:,:,:;';';;;'::::::::;';';;;;,,,,:,:                 
               ,::::::,;;;;';;;,:,:::::;;;;;;;;,::,::::;;;;;''';';;;'''';;;:;:;::,,::,:,:,,::,:,:,,::,:,:,:::,:,:,:::::;;;;;''''+'';;';''';''';;::,:::::;;;;;;;;::::::::;;;;;;;;:::,:::;:               
               ::::::::;;;;;;;;::::::::;;;;;;;;,::,::,,;;;;';''';;;''+'''';;;;;:::::::;:::::::;:::::::::::::::::::::;::';;;;''''+';';'''''';'';;,:::::,:;;;;;;;;::::::::;::::::::,,:,,:,,               
               ,,,,,,,,,,,,,,,:;;;;;;;;,,,,,,,,,,,:,,,:;';;''''';'''';;:::::::,,,,:,,,,++++++++'''''+++++++++++,::::::,:::::::;;''';''''''''';;;:::::::,,::::::,:;;;;';';:::::::,,::::::,               
              .:::::::::::::::;;;;;;;;::::::::::::::::;;;'''''''''''';;:::::::::::::::;+##++++++++++++++++++##+:::::::::::;:::;;''''''''''''';;;:::,:::::,:,::::;;;;;;;;;,,,,,,,,:,:,,:,,.              
              :,:,::,,,,,,,,,:;;;';;;',,:,::,::::,:,::;;'';;;:::,,,,,,,,,,:::::::,,::,:+++++++''''''''''+++++++:::,:::::;:::,,,,:,,,,::;;;;;'';;:::,:::,,,:,,::,:;;;';;;',,:,:::,:::,,::,:              
              ::,,::::,:,,,,::';';';;;,,,,,,:::::,::::;;;;''';;;::::::::::;;;;;:::::,:;++++++++'''''+'+'+++++++:::,::,:;;;;:::::::::::::;';'''';::::,:,::,:,,:,,:;;;;;;;;;,:,,:,:::::,;:,,`             
             ,,,::,::,,:,,:::;;;;;;;;;,,,,:,::,,,:,::,;;''';;;;:::::,:,,::::;;;,,::,:::++++++''''''''''''''++++:,,,:,::,;;::::::,::,::::;;;''''';,,::,:::,,:,,,,:;;;;;;;;;,,,,,,,::,,:,,::`             
             ,,:,,:,:,::,,:::;;;;;;;;,,:,,::::,,:,,:,,;;;''';;;:::::,:::::;;;;:,::,::::+++'+''';'''''''''''''++:,,:,,;:,;;;:::::,:::::;;:;;;''';;,,:,,:,:,,::,,:,:;;';;;;;,,,,,,:::,,:,,:,:             
             ::::::::,::,:,,:;;;;;;;;,,,,:,,:::::,:::;';'';;;;::::,,:,::,,::;;::::::::;+++''''';';;;;'';'''''++;::::::::;::::,,:,,,,:,:;:;;;;'''',,:::::,,::,:,,,:;;;;;;';:::,:,,,:,,:::::`             
            `,:,:,:,,::,,::,:;';';;;;,:,,::,,,:,,:,:,:;''';;;:::::,:,,::,:::;;,,,,:,:,;+++''''';;;;;;;';'''''++:,:,,,,,,';:;::::,,:,:::;:;'''+'';,,,,:,:,,::,,,:,,;';;;;;;;::,,,:,,,,,,:,:,,            
            ,::::::,,::::,::;;;;;;;;;::::::::::,:::::;;''';;';;:,,,;::,,,,:;;'::::::::;+++'''';;;;;;;;';;;''''+;::,::,;:';;::,,:::::,,,;;;;';'''':::,::,;;:::::,::;;;;;;;;;,::::,:::::,::,::            
            ,::,::,::::::;::';;;;;;;;::::::::,::,::,:;;''';;;;:::,:::::,,:::;;,:::,:,:;+''''';;;;;;;;;';;;''''+;,:::::,:;;;:::,:::::,,:::;;';''';:,,:,,:,::::::::::;;;;;;;;:::::::::,,::,:,,            
           .,,,,,,,,,,::,,,,;;;;;'';,,,,,,,,,,,,:,:,,;;''';;;;:::::::::::::;;;,::::::,;++'''';;;;;;;;;;;;''''++;:::::::,';;;,,,::,::,,::;;';''';;;:::::::,,::::::,,;;;;;;';;::::::,,,::::::,,           
           :::::::::::::::::;;;;;;;;:::::::::::::::::;''';;;:::,,,,,,,,,,::::;::::::::'+'';;;;:++++++++;;;;;''+'::::::::;;:::,,,,:,,,,:::;;;;''''':::,:::::,:,:::::;;;;;;;;;,::,:::::,:::::::           
           :::,::,:,,:,::::;;;;';';',:,,:::::::,:::,;;;'+'';;;;:::::::::::;;;':::,:,::'+''''';;';;;;;;';''''''+;:::,:,,:;;;;:::::::::::;;;;'''';';:::,:::,:,:,,::::;;;;';;;',,:,:::,::::,:,::`          
          ,::,,::,:,:,,,,::';;;;;';:,:,,,,:::::,:,:,;'''';;;:;:::,:,,:,,::::;;:::,:,:,'''''';;;++++++++;;;;'''+':::,:::,;;;::::::,::,:::::';;'''';::::,:,::,:,,,,,:;;;;;;;;;:,,,,,,:::::,::,::          
          :,,:,,::,,,,,::::;;;;;;;;,,:,,::::,,,:,,::;''''';;;::::::,:,::::::;;,,,:,:::''''';;;;+##+++++;;;;'''+',,,:,,:::;;;:::::,::::::;:;;;'+''';,,,:,:::,,:,,:,,:;;;;;;;;;,,,,,,,::,,,:,:::          
          :::,:,,:,::,,:::;;;;;;';',::,,::::,::,::,:;'''';;;:::::,,:,::,,::;::,::,::,:''''';;;;+#++++++;;;;'''+',,:,,:,::;;::;:,,:,,:::::;:;''''';;,,:,,:,:,::,,::::;;;;;;;;;,::,,::::,,:,,:,:          
         `::::::::,,,,,,,:;;;;;;;;;,,,,,,,:::::::::;''''';;;::::,,:,::,,::;:;;::::::::''''';;;;++++++++;;;;'''+'::::,:::;;;::::,:,,:,:::::;;;''''''::::,::::,:,,,,,:;;;;;;;;;,,:,:,,::::::,::::         
         ,,:::::,,::,,:,,,;;;;;;'';::,,:,,,,,::::,,,;''''';;:::;:::::::;:;;;;,,,;::,:,''''';;;;++++++'';;;;'''+',,:::::,,;;::;;:::,::::;;;;;;'''';;,,::::,,,::,,:,,,;;;;;;;;;:::,,:,,,,,::::,:,         
         ,::::::,,:::,::,:;;;;';;;::::,::,:,::::::,:';'';;;::::,,:,,,:,,:::;;:::::::,:'''';;;;;+++''''';;;;'''+',::::::,:;::::,,:,,,:,,,::;:;;''';;,::::::::,:,:,::,:;;;;';;;;,:,::::,:,::::::,`        
         ::,::,;:,::::,:::;;;;;;;;,::::,:::::,::,::;;''+'';;;:::::,::::::::;;:,:,::,;:'''''';;;++++++++;;;''''+':,:,:::;:;;;:::::,::::::;:;;;'''''':::,::,::,::::::::;;;;;;;;;,::::,::::::,:::;:        
        ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;'''';;;:;::,:::,:::,:;;;',,,,,,,,,'+'''''''++++++++;'''''++',,,,,,,,,;;:;:,,:::::,,,:;;;';''';;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,        
        :::::::,,::::::,,,::::::,,:::::::,,::::::,,;''''';;;;::,::::::,:::;;;,::::::,,'''''';;;++++++'';;;'''''+:::::::,,;;;::,:::::::,:::;;;;'+'';;:::::::,,:::::::,,:::::::,,:::::::,,:::::::,.       
       `,::::::::::,:::::,::::::::,::::::::::::::::;''+''';;;;;;:;:;;:;;;;;'':::::::::+++'''';'++++'''';''''++++:,:::::::';;;;;::::;;:;;;;;''''+''';::::::,,,,,:,,:,,,,,:,,:,,,,,:,,:,,,,,:,,:,,,       
       :::,:::,::::,:,:::::,,::,::::,,::,::::,:,:,:''''''';;:::;:;:::::;;;;'':::,:::,:+'''''';'########;;'''''++:::,,::,:';;:::;:;:::::;;;;;'''++'';:::,:::,::::,:::,::::,:::,::::,:::,::::,,::,:       
       :::,::::::::,:::,:::,,:::::::,::,:::::,:::,;''++''';;;;;;;;:;::;;;;;'':::,:::::+''''''''########;'''''+++::::,:::,';;;;:;;;:;;::;;;;''''++'';::::,:::,::::,::::::::,:::,::::,:::,::::,:::,`      
      .,,,:,,:::,,,:,::,:,,:,,::,,,,:,,:::,,,:,,::';''+'';';;;::::;:;;:;;;''',,,:,,::,++'''''''########;''''++++;,,,:,,:::';:;;;::;;:;;;:;;''''''''';,,,:,,:::,,,:,,:::,,,:,,::,,,,:,,::,,,,:,,::,      
      ,,::,::,:,,:,,,:,,:::,:,,:,,::,::,:,,::,::,:;''++''';;';;;;;;;;;;;;'''':::,:,,::+++''''''########'''''++++::::,:,,:;;;;;;;;;;;;;;;;;''''''++'';:::,:,,:,:,:,,,,,,,,:,,::,,,,:,,::,:,,::,::,:      
      ::::,:::;::::,:,::::::,:,:::::,::::::::,::::'''+++''';'''';;;;;'''''''':::,,:::;+++''''''''++++''''''+++++;:::,,:,::'';;'''';;;;'''''''''+++''':::,,::::::::,::::::::::::::::::,:,::::::,:,:.     
      ,,;::::,,,:;::::,,,:;::,:,,,::::,,,,,::::,,,;++++'''''';;;;;;;;;;;'''';,,;::::,:+++''''''''''''';''''+++++;,,:::::,,''';;;;;;;;;;;;'''''+'+++';,,::::,:,,,:;::::,,,:;::::,,,,;::::,,,,::::,,,     
     ,,:,,,,:,,,,,:,:,,,:,,:,:,,,:,,:,:,,,:,,:,:,:''++''''''';;;';';';;''''';,:,,:,:,;+++++++''+'''''''''+++++++',:,,:,:,:'''';;;';;''';;'''+'+'++''',,,,,,,:,,,:,,:,:,,,:,,:,:,,,:,,:,:,,,,,,,,,:,     
    .::,,:::::::,:,::::::,:,::::::,:,,:::::,::,::;''+++++''''''''''''''''''+;::,::,:,'+++++++++'''''''''+++++++++::,,,:::;'''''''''''''''''''++++++'':::,::::::::,:::::::::,::::::::,::::::::,:::::.    
    .,:::,:,:,,:::::,:,,:::::,:,:::,::,:,:::,::,:''';::::::::,,:,:::::::::;;:,::,::,:;';;;;;;::::::::::::::;;;;'+,:::,::,,;;::::::::::,::::::::;;;'+':,:::,::,,,:::,::,:,:::,::,:,::::::,:,,:::,::,,    
    ,,:::,,,,,,:::,,,,,,:::,:,,,,:::,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,    
    ::::;;;:;:::::;;:;::::;;;:;:::::;;:;:::::;;:;:::::;;:;::::::;:;:::::;;::::::::;::::::::;::;:::::;::;:::::;;:;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::`   
   `,::::;:::,::,:;:::,::::;:::,::,:;:::,::,:;::,:::,::::,::;,::,:,::;,::::,:::,,:::,:::,,:;:::,::,:;:::,::,::::,::;,,:::,:::,,:::,:,::,:;:::,::,::,:,:::,,:::,:,::,:;::,::;,::,:,:::,,:;:,:,::,:;,:,   
   ,::::;:::;::::;:::;::::;:::;::::;::::::::;:::::::::::::::;::::::;:;::;:::;:;::;:::;:;::;:::::::::::::::;::;:::;:;::;:::;:;::;:::::::::::::::;::;:::;:;::;:::::::::;:::;:;::;:::;:::::::::::;::;:::   
   ;;;:;;::;;;;::;::;:;;;:;::::;;;:;;:::;;;:;;::;;;;:;;::;;;;:;;::;;;;:;;::;:;;::;::::;;::;:::;;;;:;;::;;;;:;;::;:;;::;:::;;;::;;::;;;;:;;::;:;;::;:::;;;::;;::;;;;::;::::::::;:::;::;::;::;::;::;:::,  
   :::;::;;::::;::;;::::;::;;:;::;;:;;;;:::;:;;;;:::;::;;;:::;::;;::::;::;;:;::;;:;;;;:::;::;;;:::;::;;::::;::;;:;:::;::;;;:::;::;;::::;;:;;;;:::;::;;;:::;::;;:;:::;::;;;:::;::;;:;:::;::;;;:::;:::;:  
  `;;;:;;:;:;;;:;;:;:;;;:;;;;:;;;:;;;::;;;:;;;:;:;;;:;;:;:;;;:;;:;:;;;:;;;::;;;:;;;:;:;;;:;;:;:;;;:;;;;:;;;:;;;:;:;;;:;;:;:;;;:;;;::;;;;:;;:;:;;;:;;;;:;;;::;;:;:;;;:;;:;:;;;:;;;:;:;;;:;;:;:;;;;:;;:;  
  ';;;;;;;';;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;';;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;:;, 
  ;;'';';;;;;'';';;;;;;''';';;;;'';'';;;;'';';;;;;'';';;;;;;''';';;;;'';';;;;;'';';;;;;;''';';;;;'';';;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;';;;;;;;';;;;;;'''';;;;;;; 
 ,;';;;;';;;';;';;;;;;;;';;;;;;;;;;;;;;;';;';';;;';;';;;;;;;;;;;;;;;;;;;;';;;';;';;;;;;;;;;;';;;';;';;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;';';;;;;;;;;;;;;';;';;;;;;;;;;;';;;';;';;;;;;;;;;;';;;;;;;;;;: 
 ;;';'''';;;';;''';;;';;''';;;'';';';;;'';;''';;;';;''';;;';;';'';;'';;''';;;';;';';;;'';;''';;;';;''';;;';;';'';;;';;''';;;';;';'';;;';;';';;;'';;''';;;';;';';;;;';;';';;;';;;;'';;;';;';';;;;;;;;;;:.
`;'''''';';'''''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';';'';''''';';''''''';'';''''';';''''';';'';''''';';';''';';'';'''''';'';''''';';''''';';'';'''''';'';''''';;;;;';
  ` .:;:;;;::;;;;;:;:;;;;;;;;;;;;;;;;:;;;:;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;';;;';;';;;;;;;;;;;;;;;';;';;;;;;';;;;';;;';;';;;;;;';;';;;;'''''';';''''''';';'''''''';;'''''''';;''';;;;;
                                     `         `                   :         ,         ,         ,         ,         ,     `   ,              : `      `; `      `; .      `; :    . :; :    .:, ::: :  
                                                                                                  ##                                                                   
                                                                                               #'######                                                                
                                                                                               ########@#+.                                                            
                                                                                               ########@###;##'                                                        
                                                                                             #'########@@@###@####'                                                    
                                                                                             ###############@@@#######+                                                
                                                                                            +###+##########'@@#####@######'                                            
                                                         ++++++                             ###########+## '#########@######@##                                        
                                                    ;+'++#####++                            #############+ '###############@#@#@##                                     
                                                  ##'###########+#;                         ############## '################@#########                                 
                                                 #############@##;'                        '############## #######################@@#@####+                            
                                              ################@####                         #####@######## #######@########@@##@@@####@##@##@##                        
                                            '#####################+                         ####@#####+'+' ####@#@#################@#@@########+###'                   
                                          ###########################                       ;++'###### ;'+ ########@####################@@##@##########+               
                                        #############################+'                    ''##;+#####  ;+ ######@@############+#####@@@####@###############           
                                      ################################+                     '++++#####  +' #########################@@@###@############@#+#####+       
                                   ###############################@####+                   ''#;;+#####  ;+ ##@#######################@@@##@############+###+#####@###  
                                +######################################++                  ''#' +##### ';' ######@@@#####@################@@#@#############@##@##@@#@@@
                              ############+############@####@####@#######+;;                '++'+##### ;;+ ####:;@#####@#################@@##@@##########+#####@#@@##@@
                            #########################@@##@@###@##############;              ,''  #####  '  ####'######@@##@##@@################################@##@@###
                          ;#################################################+;               +'  #####     ####+#@######@@##@###########@@@@#@@@#################@#@###
                        '##############+##############@###@##############+++#++              ++  #####    '##@@@@@#####@#@#@@@####@@####@@@###@@#######@####@###@####@#
                      #############+###+#+#############@@@#@@#######+#######++#                  #####    ####@#########################+###+####@########@######@##@@@
                    +##########+#####################@#@###@##@#############+#+                  #####  ####################+########+########@#@+#@+#########@######@@
                  ###+################+##############@#@@@#@#####+###++###### +                  #####:+@#@@###########@@####################@+++++++#+#######@@@@@##@#
                +###################################@#@#@@@@@####+####+###+#                     ####@##################@##@###################++++++++########@#@#@##@
              +#####################################@@@@@#@@##########+#####                     ####@#@@#@########@###@@@#@#####@############@+#++++++##@#@##@@@@@@@##
            ###########################################@@#@###@#######+#####+                    ######################+####+##+####@########@@###########@#@@####@##@@
          #############################################@##############+###### +###               ###@@#################++++'##+++########################@####@#@######
        +###################+++##+#####################@@@@#@#####+###+##+########              ####@@#################++##++#++@#@#@@@@##@#@@@@###@#####@@#@########@#
       '+#############+#++##+#++++####################@@@@@#@#@##########+###++##               #####+#################+#+##+##+###@##@@@@#######@@###@#@##@#@@######@#
     ++++################+##+#+#++###################@@@@@@@@@@#######+#++###++++              '####+++###############+++#+##+####@##@@@@#@@@#@#@@@@#@##@##@#@#######@#
   #;#+'#################+++#++++################################+#+#'##+''''''''''''''' '+++'+++###+++##########@@####+##+#+##+###@@@@@@@@@#@@@###@@@@##@@#@@@#@@#@#@#
 +##'#++###################+++++++###############################+++#''++'''''''''''''''++++#++#+##++############@@@@@@#####+##+########@#####@@@@@@@@@###@@@#@####@##@
+'++'+++###################++###+++###############++####+#####+#+++++'+++''''''''''''''''''+'+++++'+++++#########@#@@@@@###+##+++###+'+##############@##@#@@#@##@@#@###
#+++++++#####################+##++#####+##########+###+###+####+++++++'';''''+''''+''''+''''+++#+++++++++++###+#############++#+#####+##########+###+#####@###@###@#@@#
#++++++###########++##########+++#####+;''#+#####+###+#+######+++++++++#'''+'++'++'++'++'+''''''#+++++++#+####+#############+##+#####+####@##@##+#+#+##@##@######@@####
'+++++'+##++#######################+##++';##+#################+#++++++##+'''''''++++++++++'''''''++++#+++####+##############++#+#####+#+##########+#'###@#@###+@@@#####
+++++++########+######+#####+#+#+##+####'+++################++++++++####+;''+'+++++++'+++'''''''''''''''''++#+#+############+##+#####+##########++##+##+############@@@
###############+##+++##+#+######++#+##++++++####+####++#+##+############+'''+'''''''''''''''''''''''''''''''''''++++########+#+++###############+###+##++##########@#@#
############+#++##++##++#+#+##+##+######++#+############################'''++'+++'''+'''+'''''''''''''''''''''++++++++######++#+#######+#######+++##+#######@#@########
########+#+##+######+##++######+#+#######+#+##+#+################+#####+''+++++++'++''''''''''''''''''''''''''''+++++++++###'#+########+########+++#+#######+@+@#@@####
#+######+###++######++++###################+#+########################+++''+'++++'''+'''+'''''''''''''''''''''''''+++++++++++##+##############+#####+########+#########
#+#++#+######+#########+#########+#+#+#####+#############+#+##+######++++'';;'++'''+''''''''''''''''''''''''''''''''++++++++++#+#+####+#+#####################+########
++######+####+#################+++#####++##############+#+##++######+++++'+'+'+''''''+'+''''+''''''''''''''''''''''''''''''''''''+++++###############################@#
+#################+#+######+++'''''';''##############++#+##########++++++++'++++''+++++'+++''''''''''''''''''''''''''''''''''''''''++++++##########################+##'
###+#+#######+####+###+++++;:,:,:::::''###############'++##+######++++++++'++'''''''++''''++''''''''''''''''''''''''''''''''''''''''''++++'+####################++#+##+
+#+################+++++;,:::,,,,:;''''#+##+#+######++++#######+#+++++++++++++'''++++++''++'''''''+''''''''''''''''''''''''''''''''''''''++++++#################++##+#+
###########+'''';';;;;,,,,,,,,,,;;'''''####+#+#######+'++######++++++++++'++++''''''++'''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++########++++#+
#######+;;;;:::::,:,,.,,,,,,,:;;;;'''''+#############+'++##+#+#++++++++'''++++'''+++++++'+++''''''''''+''''+'++'''''''+''''''''++'''''''''''''++++++++++++++#####++###+
###+';;;;::::,,,.,,,,..,,.,;;''''''''''+########+###++'++++++##+++++++'''''''''''''''+'+'''''+''''''''''''''''''''''''''''''''''''''''''''''''''+++++++++++++++###+####
+';;;;;:::,,,,..,,,,..,,:'''';;''''''+'+#####+#####+++'++++++#+++++++'''''''''''''+''++'''+'''''''''''+'''+'''''''''''++'''''''''''''''''''''''''''++++++++++++++++++++
;::::,:,,,,..,..,....,:::;:;:;:;;;'''+++########++#+++++++++#++++++++''''''''''''+++++++'+++'++'''''''++''+++'''''+'''''''''''''+''''''''''''''''''''+++++++++###+++++#
:,,,,.,,........,,...........,,..;'+++++#####+#++++++++++++#++++++++''''''''''''''+'''+'++++''+''''''''''+++''''''+'''''''''''''''''''''''''''''''''''''''''''''+##++++
,,,..........,.,...`........,.,;;;'++++####+++++++++++++++#++++++++'''''''+''''+++++''+++++++''''+++++''''+++++''''++++''''''''+''''''''''''''''+''''''''''''''''''+##+
............................,;;;;;'+++#####++++++++++++++#++'++++++'''''''+++'''++'''++'++++++++'++++++++''+++++++'++++++++''''''++''''''''+'''+++''''''''''''''''''''+
,.,,.....`..,.,...........,;;;;;;;'+####++++++++++'++''+#'''''''''''''''''''+++++''''+++++++++++++++'++++'''++++++'++++++'+++''''''''''''''''+++'''''''''''''''''''''''
.......`...,..........`.,;;;;;;;'''####++++++++++'+++++#''''''''''''''';'''''''''''''+++'''''''++'+'''+''+'''''++''''''+++'''''''+++'''''''''''''''+'''''''''''''''''''
,,....,,,`......,.....,;;;;;;''''''+++#++++++'+'++++++#''''''''+'''''''''+'''''++''''''''++++++'''''+++++''''''++++''''''++++'''''''+++'''''''++++'''''''''''''''''''''
::::,::::::::::,:::,,:;;;;;;;';;';':::::,,,,.,..,,,..#'''''''++++++'''''+++++''+++'''+++'+++++++++''+'++++++'''''+'++''''''''''''''''''''''''''''''''''''''''''''''''''
::::::,::,:::::::,:::::;;;;;;'''''':+::,,,,,..,,,,.,''''''''''''''''''''''''''''''''''+++''++++'++'+++++++'''''''++++''''''++++'''''+'++++''''''+++++''''''''''''''''''
;::::::::::::::::::::::;;;';'';'''':;,,,,,,:,,,....''''''''''''''''+''''''''+''+'''''++++++''''''+++++''+'+++''++''++++''++++++++++++++++++''''''+++''''+'''+''''''''''
;;::;:;::::::::;::::::;;;;''''''''+,:::,,,,,,,,..,';'''''''''''+'''''''+'''+'''+'+''''+''+'+++'''''''+++++''''''+++++''''''+++'''''''''++''''''''''''''''''''''''''''''
;:;;;:;;::,:::::::::;:;'''''''''''':::,,,,:,,,.,,'';;'''''''''''''''''''++'''''''''''++++''''''+++++'''''+++++++'''''''++++''';;'''++''''';;''''''''';;;''''''''';;''''
;;::;:;;:;:;::::::::::;''''''''''++::,,,,,,,,..,'''''''''''''''''''''''+'''''''++++''''''+++''+''''''+++++++'''+'+++++++'''''+++''++''''''+'+'''''''''++'''''''''''''''
;;;;;:::;:;;;:::;::::::''''''''''';;;,:,,,,.,..'''''''''+''+++''''''''++++++''+++++++++++''+'++''+++'''''++''++++'''''+''++++''''''''''++''''''''''+'''''''''''''''''''
;:';;;;;;:::;::;:;:;;:;''''''''++;;;:,,:,,.,..';''''''''''''''''''''''++'+''''+++++++++'''''+++++++''''+'+++++++'''+++++++++++'+++++++++++++++++++++++++++++++''++'''''
;;;;;;;;;;;;;;;;;;:;;;:'''''''';:.,,,.,,.,,..'''''''''''''''+'''''''''+''''+''++++++++++++''''+'''++++''''+++'++++++'+'+++'++++++'''+++'''+++''''+++'''''''''''''''''''
;;;;;:;;;;;;;;;::;;;:;;''''''':,,,,,,,,,....'''''''''''''''''''''''''''''''++'+''''''+++++++'''''''''+++++''''''+++++++''''++++++++++'++++++++++++++++''''''''+''++'''+
''';';;';;;;;;;;;;:;;;''''''+:,,,,,,,,,,,.,'''''''''''''''''''''''''''''''''''+++++'''''''++++++''''''''+++++''''''''++++''''''+'''+++''''''+'''''+''''''''''''''''''''
'''';;';;;;;;;;';;;;;;;'''''::::,.,,,....,'''''';;;;;;'''''''''';;;;''''''''''';;;'''++'+'''''''''+'+''''''''''''++++++''''''''++++++''''++''++++++'++++'''''''''''''''
'''''';';;'';;;;;;;;;;;''';:,,,,,:,,,.,,,'';;;;;'''''''''''''''''''''++''''''''+++++++''''''''+++++++'''''''+++++++++++'''''+++++++++'''''+++++++++''''''''''''''';;;;;
'''''''';''';';;;'';;;;'',,:,,.,,,,,....''';';'''''''''''''''''''''++'''''''++++++++''''''+++++++++'''+'+++++++++'''''''+++++++++''''''++++++++'''''''''+'+++''''''''''
'''''''''''';;';;;';;;''::,,,,,,,,.,..,''''''';'';''''''''''''''''''''''''''''''''''+++'''''''''''''''+''''''+++++'''++++++'+++++'+''+++++'++++'''++'''''''''''''''''''
;;;;;;;;;;:;:::::::::,''''''''';;';;;';';'''''''''''''''''''''''''++++++'+'''+++++++++++++'++++++++++++++'++++++++++++++'+++++++++++++''''+'++++'+++'''''''''''''''''''
;';;:;:::::,:,:::;:,,++'''''''';;;;;;;;;'';;'''''''''''+'''''''''''++++''''''++++++++++'''''+++++++++++++'++++++++++++++++++++++++++++++++++++'+'+++++++''''''+''''''''
;::::::::::::,,,,,,,'+''';;;;;;;;;;;;;;'''''''''''''''''''''''''''++''''''''''++++++''''++'''''+'+++''''++++''++++++'''++'++'++++++++''''''+'++'''+''+''''''''''''''+''
::::,::,,,,,,:,:,,;++''''''';;;';;;;;;;''''''''''''''''''''''''''++++''+''''+++++++'+++++++'''''+'''+++++++'''''+++'+++++++''+++++++'+++++++''''''''''''+++''''''''''''
,:::,,,,,,,,,,,,:'+''''''';';;;;;;;;;;;''''''';'''''''''''''''''''''''''+''+++'''''''+++++++++'''''''''++++++++++++++++++++++++++++++++++++++++++'++++''++++'''++''''''
,,,,:.,,,,,,.,,,'''''';'''''''';;;;;;;;;;''''''''''''''''''''''''''''++'''''+++''''''+++'''''''''''''''++'''+++''''''''++++'++++'''''''++++++++++''''''''''+++'''''''''
,,,,,,.,,,,,,,;''''''''''''''';';;;;;;;'''''''''''''''''''''''''''''''''''''++++++''''''''''++++++'''''''''''+++++++'''''++'''+++++++''''+++'''++++''''''''''''''''''''
..,,,,,,,,,,:'+'''''''';;;;;;;;';'';;;;;';;;;;;''''''''''';;;;;''''''''++'''''''+++''++++++'+'''++++''''++++++'+++++++'+++++++++'++++++''+++++'++++++++''''''''''''''''
..,,,.,`.,,:'+'''''''''''''''''''''''';';''''''''''''''''';';;;'''+'++''''''''''''''++++''''''';;;;'''''''''''''';;;'''+++++++''''';;;'''++++'++'''''''''''''++'+''''''
,.....,.,.,'+''';;;;'''''''''''';;;;;;;'''''''''''''''';''''''''+++'''''''''''+++++++++++++''''''''+'+++++++++''''++++++++++++++''''++++++++++++++'''''''''+++'+'+'''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#######################################################################@@##########
@#######################@###@####@##@@###@###@##@@@@#@##@@@##@@#######@##@##########
@############################@####################@##@#################@############
@########################@#######@#######@######################@##@################
@#########@####@###########@#@#####@#@#######@##@#@#@@##@@##########################
@###@@@###@@###@@###################################################################
@###@@##@#@@####@#@##############@##@####@#@######@@#@#@##@@#@######################
@##############@@#@#@##########@#######@#######@###@###@###@###@####################
@##############@###@@@###################@################################@@#@@###@#
@###@##@#@#@@##@@#@@##@#################################################@@##@@###@@#
@################@@##@#@###############################################@@@#@########
@############@##@#@@@@@###########::###################:#:::############@@##@#@#@#@#
@##########@##@#@@@@@@@###########:######::::::#####:#####:#############@#@@#@######
@###############@@@@#@@###########:#######:#:#:##########:#:##############@@#######@
@#############@#@@#@##@#######@###:#######::#:##########################@#@#########
@#################@@#@#####################:##########################@@@@@@########
@@@#############@@###########@#########################################@@####@######
@@@@################@#@@########@####################################@@#@###########
@@@@#@###############@@######::::::::::::#:#:::::::::::::::###########@#############
@@##@###############@@@@#####:::::::::::::::::::::::::::::##########################
@@########:#########@#@######:::::::::::::::::::::::::::::##########################
@##@#@@###############@######:::::::::::::::::::::::::::::##########@@@#############
@@#@################@@@#@####:::::::::::::::::::::::::::::##########@#@#############
@###@###############@@@@#####:::::::::::::::::::::::::::::###########@##############
@#@@################@##@@####:::::::::::::::::::::::::::::############@############@
@@@##@##############@#@@@@#::::::::::::::::::::::::::::::::::::###@@##@############@
@#@##@##############@###@@#::::::::::::::::::::::::::::::::::::####@##############@@
@@#@#@@@@@#############@@@#::::::::::::::::::::::::::::::::::::###@@##############@@
@@@##@@@@##############@@@@::::::::::::::::::::::::::::::::::::###@@###############@
@#@###@@@##############@@@@::::::::::::::::::::::::::::::::::::###@@##########@#@@@@
@##@#@#@###############@@@@:::::::::::::::::::::::::::::::::::####@@##############@@
@@####@@###############@@@@:::::::::::::::::::::::::::::::::::####@@###########@#@@@
@@#####################@@@::::::::::::::::::::::::::::::::::::#################@##@#
@#@####################@#:::::::::::::::::::::::::::::::::::::##############@#@##@#@
@###################@@@:::::::::::::::::::::::::::::::::::::::###############@@@@###
@################@@@@##:::::::::::::::::::::::::::::::::::::::#############@@#@@@@@@
@#@##########@@@@@@#@#@:::::::::::::::::::::::::::::::::::::::#############@@@@@@@@#
@###########@@@#@#####@::::::::::::::####:::::::::::::::::::::############@#@@@@@@@@
@##############@@@##@#@#::::::::::::::::::::::::::::::::::::::#############@@@@@@@@@
@#########@###@@@#@@@@##::::::::::::::::::::::::::::::::::::::#############@@@@@@@@@
@#########@##@@@##@@@#@@@#::::::::::::::::::::::::::::::::::::#############@@@@@#@@@
@#@@@@@#########@##@###@##::::::::::::::::::::::::::::::::::::##############@@@@@@@@
@@@@@####@##@@####@@#@@@@@::::::::::::::::::::::::::::::::::::################@@@@@@
@@@@@#######@@@##@##@#@#@@:::::::::::::::::::::::::::::::::::#################@@@@@@
@@@######@#@@@@##@#@#@##@@:::::::::::::::::::::::::::::::::::###@@@@###########@@@@@
@##@####@#@@#@#@#@@@@@##@@::::::::::::::::::::::::::::::####:###@@@@@@@########@@@@@
@#@###@@@@#@@@##@#######@@::::::::::::::::::::::::::::::#########@@@#@@@####@###@@@@
@#@##@@@@@@@@@##@@@#@@@#@@::::::::::::::::::::::::::::::########@@@@#@@@@###@####@#@
@@#@@##@#@@@##@@#@#@@@@@@@###:::::::::::::::::::::::::::#########@@@@###@@@##@@@####
@#@@@@@@@@@@@@##@@@@@@@@#@###:::::::::::::::::::::::::::########@#@@@@##@@@@#@@@@###
@@@@@@@@@@@#@@##@@@@@@@@@@@##:::::::::::###########################@@@#####@@@@@@@#@
@@@@@@@@@@@@@@#@@@@@@@@@@@@################################@#@@@###@@@@@####@@@#@@##
@#####@###@@#@@@@@@@@@@@@##################################@##@@@###@@@@##@@@#@#@@@#
@###@@#@###@#@@@#@#@#################@#@@@@###@@######@#####@##@@@@###@@@#@#@@@@@@@@
@#@###@####@@@@##@@######@##@##@##@@@@@@@@@@@@@@@@@@@@#@@#@#@##@@@@##@#@@@@#####@###
@###@#####@@@###@@@@@####@####@#@#@@@@@@@@@@@@@@@@@@@@@@@#@#@#####@@##@#@@@@########
@##@#@@@#@##@####@@#####@@###@###@@@@@@@@@@@@@@@@@@@@@@@@###@@###@@@@###@@@@@######@
@#@######@@######@@#####@@###@@###########################@@@@@###@@@@###@@@@#######
@##@@#@##@@######@#####@@@##########################################@####@@@@@@#####
@###@@##@@@#######@###################@###########################@@@@###@@@@@@@####
@@@@##################################@#############################@@##@#@@@@@#####
@@@@@@@@@#########@###################@###########################@###############@#
@#@@@@@@##########@###################@###########################@#################
#++++++'+'+''';'''''''''''''+''+''++'+'++++++++++++#+++#++++++++++++++++'++
+++++++'#'+''''''''''''''''+'''+++++++++'+++++++++++++++++++++'+++++++'++'+
++#''+'+'++'''''';'''''''''+'+'''+''''++''+++++++;;;++++++++++++++++++++++#
##++'+'#++'+'';;';'''''''''+''''+'+++'++'+++''+++'';+++++++++++++++++'++++#
+##+++++'++'''';''''''''''''''+''''++''+'++;';';;;;'+++++++++++++++++'+++#+
+'#''+'+'+++''';''''''''+++'++'''++'+++''+++++;;;'';++++++++++++++++''+++##
+++'++++#+++'''';'''''''+++''''''+'+++++'+++++++++'+++++++++++++++++''+++++
++++'''''++'+';';;;'''''+''+''''+'+++'+''++++++++++'''+++++++++++++''+'++##
+'+''+''+++'+';;;;''''''+'''''''''+++'+'+++++++++++'''+++++++++++++''++++#+
''+++++'++'+''';;'''''''+''''''''''''+++'+++++++++''''++++++++++++'''++#+##
+'+++''+#''+';';''''''''''+'''''''+++'''++++++++++''+'++++++++++++'''+++++#
#'+''+++'++++';''''''''''++'''''+''''''+'++++++++;'''+++++++++++++''++#++++
+++''+++''+++#''''''''''+'+'''''+'+''''''+++++++';';'++++++++++++'''++##+##
+++'++++++++''''''''''''''+''''''''''''+'+++++++;;';'++++++++++++'''+#+++++
'++++++++++'++'''''''''+''+''''''''''''+++++++++;';;++++++++++++''''+#+++++
++++++#+++''++''''''''''''+'''''''''''''+++++++;';''++++++++++++'''+#+####+
++'++++++++'+++;''''''+'''+'''''''+''+''++++++++';;'+++++++++++''''++++++++
++'+++++##+++++''''''''''''';''''''+''+'+++++++++++'+++++++++++'''+++++++++
++++++#++'+'+++;;;'+''+''';;''''''+'''+'+++++++++++;;';;'+++++''''+++++++++
'++++###++'++'+';'''''''''''''+''''''''++++++++++++'';;;++++++''''+++++++++
+++++#+#+''+++++';'+''''''''''''''''+'''+++++++++++';'';++++++'''++++++++++
+++++++'+'++++++;''''''+'';;'''''''''''++++++++++++++++++++++''''+++++++++'
+++++#+++'+'''++''''''+'';;''+++''''''';'++++++++++++++;;;'++'''++++++++++'
+++#+++++++++++'''''+'''';;'''++''++''';'+++++++++++++'';;;''''++++++++++''
+++##+#++'++'++++'''''+';;'''+''''++'';;++++++++++++++';;;;''''+++++++++'''
+#+##+'++#'++++++'''''+';''''''++'++''+'++++++++++++++;;';''''++++++++++'''
+#+#+''++'+++++++'''''+;;'';'++''+++'''''++++++++++++';;;;;'''+++++++++'''+
#++#++'++''#'++''+''''+;'''''''''+++'+';;++++++++++++''';;;''+++++++++'''++
++#+'#'+''+'++'++''''+';;''''''''''''';;'++++++++++++';;'''''+++++++++''+++
'##''+'+#++'+''''''''++';'''''''''''';;''+++++++++++';;;;;''+++++++++'''+++
'++++++'+#+''++''''''+'+'''';;;''''''';'++++++++++++;;;;;;''++++++++'''++++
++++#++'++'+++'''''''++;;;';;;;;''''';'''+++++++++++;';';''+++++++++''+++++
'+'++++'+#+'++''''''''+';''';;;;;;;'++;'+++++++++++';';;;''++++++++'''+++++
+''+#'++'++'#+''''''''++'''';;;;;;;;+';''++++++++++;';;;;'++++++++'''++++++
+''+''++++++++''''''''++''';;;;;;;;;+;;''++++++++++';;;;;'++++++++''+++++++
++++++++'++'++''';'''''';';;;;;;';;;++'''++'++++++'';';';'+++++++'''+++++++
++++++++++++'+'''';;''+''';;;;;'';;;'+';''+'''++++++';;;'++++++++''++++++++
+++++++++++''+'';;';;;;;''';;;;;;;;;'++'''''''+++'+++++'++++++++''+++++++++
++''+++++++''++';''';';'';;;;;;;;;;;++++''++++++++++++++;;'++++'''+++++++++
++'+++++++''+++++''';''''';;;;;;;;;;+++;''+++++++++++++';;;;;;'''+++++++++'
+++++++''++++++++';;;;''';;;;;;;;;;;+++'''++++++'++++++'''';;;''+++++++++++
''++''+++++++++#++'';'''''';;;;;;;;;+''''+++++++++++++';'''';;'++++++++++''
'++++'++++'++++#+#''''''';';;;;;;;;;;+;''+++++++++++++';;;'';;'+++++++++'+'
''+++++++'''++++++''''''''';;;;;;;;;;+++''+++++'+++++'++++';;'+++++++++''+'
''+++++++++++++++++'''''''';;;;;;;;';;+';;+++++++++++'++++++++++++++++'''''
++++++''++'''++###''''''';';;;;:;;;;;'+;;''+++++++++'++++++++''''++++''''''
+++++''++++'+++#++''''''''';;;;:;;;;;++';''+++++++++'+++++++';';;;'''+'''''
++++++++++++++#+'+'+''''';';;;;:;;;;;;;;;''++++++++'+++++++''';;;;'''''''''
++++++++''++++++++'+;''''''';;;:;;;;;;;;''+++++++++'+++++++'''';;;';''+''''
+++''+++''++++++++#+;;;;''''';;';;;;;;++''++++++++'+++++++'';';;';;;'''''''
++''+++++++++#++++++;';''''';;;;;;;;;'++''++++++++'++++++'''+++;';'''''''''
+'''+++++++++#+'++'+'';''';;';';;+';;++;''+++++++'++++++'''+++++++;'''''''+
++'++++++++++#+'+'''';'''';;'++;'#++';;';''++++++'++++++''+++++++++''''''++
+++++++++++##+''+'''+''''''';;++''+;';';;'''++++'++++++''+++++++++''''''+++
++++++++++++++'++++++'''''''+;''''''+++++''+++++'+++++''++++++++''''''+++++
+''++++++#+#++'+##++'''''''+''''''+#++++;;;++++'++++++''++++++++'''''++++++
'''+++++##+#'#'++++''''''''''''''''''+'+;''++++'+++++''++++++++'''''+++++++
''+++++++#+#'++'+#''''''''''''''''''''';';++++'+++++''++++++++'''''++++++++
''''++#+#+#''+'''+''''''''''''''';;''+;'';'++++++++''+++++++''''''''+++++++
'''++###++++#+++'+'''''''''+'''''';''+++++''''+++++''+++++++''''''''''+++++
++'+++##'#++++++''''''''''';''''+;'''#+++'''++++++''++++++'''''''''''''''++
+++++++''++++'++'''''''''';;;''''++'''+++'''+++++''+++++++''''''''''+''''''
+++++++++++#'+''+'''''''''';+'''''''''+++++++++++'+++++++'''''''''''''''+'+
++++++#+'''++'++''''''''''''';:;'''';''+'+++;;''''++++++''''''''''''''''''+
++++#''''+#+''++''''''''''';;'';;'';';';'''+'''+'++++++'''''''''''+''+''''+
++++#''+'+''++++''''''''''';''';''''';;'''+;';;'+++++''''''''''''';''''''++
+++#''+''+''+++++''''''''''++'''+;;;';'+;'+++''''+++'''''''''''''';;;;'''+'
+#++'++'+''+++++'+'''''''''';''';;;;;;''+;''+++;;;;'''''''''''''';';;;;''+'
#+++++'++'+++''+++''''''''''';'''';'';+';'''++'';;;''''''''''''''';'';;''''
+++#+++#+'+'+++++'+''''''''';;;;;;;;';'++'';++';';;''''''''''''''';'';;';''
#++#+++++'+'++++++++''''''';'''';;;'';';''''++++''''''''''''''''''''';;;;''
#'+'++''++++++''+++'''''''';'';;;;;;;;;;'''+++++++'''''''''''''''';;;';;;''
+++'++++++'++++++++++'''''';';;;'';';';;++''''+++''''''''''''''++;;;;'';;''
'''+'+++'+++++++++++++''''';''';;';;'';;;;''''+++''''''''''''++++++';;;;'''
''++++'+'+++++++++'+++'''''';';;;;;;;;;;;'''''+++''''''''''+++++++++++';'''
''++++++'+'++++++++++++'''''''';;;;;'';''';;;''''''''''''+++++++++++++++'++
+'++++++++++++++++++++++'''''';'';;;;''';''';''''''''''++++++++++++++''''''
+''++++++++++++++++++++++'''''''';;;;;;;'+';;'''''''+++++++++++++''''''''''
'''+++++++++''++++++++'++'++'''';;;;';;;';'+''+'''++++++++++++'''''''''''''
+'++++++++++'''+++++++++++'+;;;'';''';';'';'''''++++++++++'''''''''+''''+''
+++++++++++'''++++++++'+++++';;;;';';;;;;;;''''++++++++''''''''''''''+'''''
++++++++++++''+++++++++++++';'';';;';;;;';'''''+++++'''''''''''''''''''''''
+++++++++++++++++++++++++++'''''';;;';;;;;;;;;'+''+''''''''''''''''''''''+'
                                 ;;                                      
                             ,;'''':;;;:                                 
                          ,:;;:;'::;;;;;;                                
                     :;':::,,:;;;;;'':;';:;;;;:                          
                  ,::,:;;;::::;;;;;';:;;;;;'::;;;:                       
               ,::;'::;;';,;;;:;;;;'';;''''';;;;;;;;:                    
             ,::;;'::;;::::;;';;;;;;;';:;;;;;;::;''';:                   
             ,:;;;:::;';:;;;''';;;''''':;;';'';:;;;;;;;:                 
           ,::;;';;;;:,,,;;::;;;:;;;:;;;:::;;';;';''';;;;                
           ,:;;:,,;;':,,,;';:;;;:;;:;;;';,;:;;;;:,;:;;;;;;               
         ,,,:;':,,;;':,,,;';:;';:;;::;;';,;;;;;;:,;;;;;;:;:              
        .,,,:;':,,;'':,::;'':''':;;;;;'';:;;;;;'::;;;:;;;;;;             
        `,:::'';::;'+;:;:''';'+';;;''''+;:;;;;'';:;;;;;;;;;;             
         :;;;'+;;;''+:;;;;:,;;;;;;:;;''+';''''++;:''''''';;;             
      ;;,,;;;,,;;;:,,,;;':,,;;;;;::;;;:;;;::;;;;;;::;;;;;;;'             
      ,,,,;;;,,:;';,,,;;':,,;::;';:;:;;;;';,;;;;;';,;:;;;;;;;;           
      ,,,,;'',,:;';,,,;'':,,;;;;';:;;;;;;';:;;;;;'::::;;;;;;;;           
      ,,,,;'',,;;';,,,;'':,,;;;;';:;;;:;;';:;;;;;';:;;;;;;;;;;           
      ,,,,;'',,;;';,,,;'':,,;;:;';:;;;;:;';,;:;;;';,;:;;;;;;;;           
      ,,,,;'',,;;';,,,;'':,,;;:;';:;;:;;;';:;;;;;';:;;;;;;;;;;           
      ::::'''::;'';:::;'+;::;;;'';:;;;;;'+;:;;;;'+;:;;;;;;;;''           
    ;,:;;:'+';;;'+';;:''+;;:;;;'+':;;''''+':;''''+':;'''''';:,::         
    ,,,;;',,,:;;,,:;;;'++';;'''++';''''''';;;;:,,,:;:,:::;;;;;;;         
    ,,,;;',,:;;;,,,;;;:,,;;;:,:;;;;:::;;;;;;:::;;;;;;::;;:;;;;;;         
    ,,,;'',,:;';,,,;;':,,;;':,;;;;';:;;;;;;';:;;;;;';:;;;;;;:;;;         
    ,,,;'',,;;';,,,;;';,,;;';,;::;';:;;:;;;';:;;;;;';:;;:;;;;;;;         
    ,,,;'',,:;';,,,;;':,,;;';,;:;;';:;;;:;;';::;;;;';::;;;;;:;;;         
    :,,;'',,:;';,,,;;':,,;;';,;;;;';:;:;;;;';:;;;:;';::;;;;;;;';,:       
  `,;::;'+:,;;';,,,;'';,,;'';,;;;;';:;::;;;';:;;;;;';:;;;;;;;;;::;       
 ,.,:;:''+;:;'''::,;'';,,;'';,;;;;';:;;;;;'';:;;;;'+';;;'''''':;;;       
 ,,.,,::::;;;'+';::;'+;::;'';:;;;'+':;;;;;'+';;;'''+';;''';:,...:;       
 ,,,;;',,.,::::;;;:''+';:;'+;:;;''+';;;'''++';;'';:,,,;,,.,...........,  
 ,,,;;',,;;;:,..,::;;;;;:''+':;''++';;'';:,,,;:,.,:;;;;::;';::,,......;; 
 ,,,;'',,;;';,,,;;;:,.,,:,:::::,,,,:;:,.,;:;;;;:,;;;;;;;,;'';:::::::;;:; 
 ,,,;'',,;;';,,,;;':,,;;'::;;':,:;;;;;:::;;;;;;:,;;;:;';:'''';;;::::;;;;,
 :,,;'',,;;';,,,;;';,,;;';,;;':,;;:;';:;;;;;;';:,:;;;;'::,,,,,:;;;::;;;::
 ::,;'',,;;';,,,;'':,,;;';,;;';,;::;';:;:;;;;';:,;;;;'';:,,,,,,,.,,,;;::;
  ::''',,;;';,,,;'':,,;'';,;'':,:;;;';:;:;;;;';;,;:;:;'::,,,,,,,,,;;;:::;
   :''+:,;'';,,,;'':,,;'';,;'':,;;;;';:;;;;;;';:,;;;;'';:,,,,,,,,,;;;;::;
       ::;''':,,;'':,,;'';,;'';,;;;;';:;;;:;;';::;;;;'';::,,,,,,,,:;;;;:;
        ;'':.::,;'';,,;'';,;'':,;;;;';:;;;;;;'';:;;;;` ;;::::,:,,,:;  .;.
             ;::''';:,;'';:;'':,:;;'';:;;;;;'' ;:;;`      ;::::,,::;     
              ::'' ;::;'';:''';:;;;''':;;;;.     `           :::::;;     
                    ::'' ;:''.;:;;;,  ;;;                       ,::      
                          :    ::                                        
                          :  
           :+;#;''''''+;++'  
  ;'''''+'+''#+##+#++''++#'; 
 ''++#;#;@'#####@++#+####@+#;
;;+#+#+##+##'+++#+#'#'#+#+## 
'++'#'@;###@#@#+#+#@#@+@#+'; 
 +#@@#@@#########@#######+#' 
 ##@############+#+#######++ 
  @#####+##+#####++#####+#@# 
  +++#####+:'.;::;'########  
   +#####:;:#;;;.:`##+###@+  
   ######++#+####++######@+  
   ############+++++'+++'+#  
   ++'+'++'++''''''++''''##  
   ++++++++++++++++++++++#'  
   ++#+++++++++++++++++++#;  
   ;++++++++++++++++######   
    +#####+++++++++#######   
     +######+++++##+####++   
     #+####++#####+++####+   
      ++++++++#####++##+     
      +#++++++####++++++     
       +++++++####+++++#     
       '#++++++#+####+++     
        #####++##+'+####     
        ;##+#'+;'''++#+#     
           +'''++#+;         
           ''''###+'         
           ''#+###           
           ''#####           
            +@###+           
             #####           
             ####+           
             #####           
             #####           
             ####+''         
             ####';;         
             ##++'''         
             ##'''';         
            ;'+:#+           
          '''';##+           
          ;;+++##+           
          '+'####+           
          ;;#####+           
           '####+            
           '#####            
           '#####            
            #####            
            #+###'+;         
            ######++         
            ####+++'         
            #####;;'         
            @####+++         
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
                                                     ```````````                                  
                                         ```````````````````````                                  
                            `````````````````````````````````````                                 
                          ````````````````````````````````````````                                
                          `````````````````````````````````````````                               
                          ``````````````````````````````````````````                              
                          ```````````````````````````````````````````                             
                          ````````````````````````````````````````````                            
                          ````````````````````````````````````````````                            
                          ```````````````````````..,::::::`````````````                           
                          `````````````.:;;';;;;;;;;;;::::``````````````                          
                          `````;;;;;;;;;'''';;;;;;;;;;::::```````````````                         
                          `````;;;;;;;;;'''';;;;;;;;;;::::```````````````                         
                          `````;;;;;;;;;'''';;;;;;;;;;::::,,:::``````````                         
                          `````;;;;;;;;;'''';;;;:;;;;;:::::::::``````````                         
                          `````;;;;;;;;;;;;;:::::;;;;;:::::::::``````````                         
                          ;;;;;;;;;;;;;;;;;;:::::;;;;;:::::::::``````````                         
                          ;;;;;;;;;;;;;;;;;;:::::;;;;;:::::::::``````````                         
                          ;;;;;;;;;;;;;;;;;;:::::;;'+##@@@;;;;;``````````                         
                          ;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@;;;;;``````````                         
                          ;;;;;@@@@@@@@@;;;;;;;;;@@@@@@@@@;;;;;`:````````                         
                          ;;;;;@@@@@@@@@;;;;;;;;;@@@@@@@@@;;;;;`:,```````                         
                          ;;;;;@@@@@@@@@;;;;;;;;;@@@@@@@@@::,,,`:,.``````                         
                          ;;;;;@@@@@@@@@;;;;;;::,;;;;;::::,,,,,,:,.``````                         
                          ;;;;;@@@#+';;;,,,,,,,,,;;;;;::::,,,,,,:,.``````                         
                          :::::;;;;;;;;;,,,,,,,,,;;;;;::::,,,,,,:,.``````                         
                          :::::;;;;;;;;;,,,,,,,,,;;;;;::::,,,,,,:,.``````                         
                          :::::;;;;;;;;;,,,,,,,,,;;;:,::::,,,,,,:,.``````                         
                          :::::;;;;;;;;;,,,,,,,,,`````::::,,,,,,:,.``````                         
                          :::::::::`````,,,,,,,,,`````::::,,,,,,,,.``````                         
                          :::::::::`````,,,,,,,,,`````::::,,,,,,,:.``````                         
                          :::::::::`````,,,,,,,,,`````::::,,,,,,,::``````                         
                          :::::::::`````,,,,,,,,.`````,,,,,,,,,,,:::`````                         
                          :::::::::```````````````````,,,,,,,,,,,:::.````                         
                          ,,,,,,,,,```````````````````,,,,,,,,,,,:::.````                         
                          ,,,,,,,,,```````````````````,,,,,,,,,,,:::.````                         
                          ,,,,,,,,,`````````````````..,,,,,,,,,,,:::.````                         
                          ,,,,,,,,,``````..,,,,,,,,,,,,,,,,,,,,,,:::.````   `,:'''''              
                          ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''''''''''''''';             
                           ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''''''''''''''''''''''';;            
                            ,,,,,,,,,,,,,,:::::,,,,,,,,,'''''''''''''''''''''''''''';;,           
                           `.;'''''''',,,,:::::,,,,,,,,,'''''''''''''''''''''''''''';;;`          
                `,;''''''''''''''''''',,,,:::::,,,,,,,,,'''''''''''''''''''''''''''';;;;          
          '''''''''''''''''''''''''''',,,,:::::,,,,,,,,,'''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''',,,,:::::,,,,''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''',,,,,,,,,''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''',,,,,,,,,''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''',,,,,,,,,''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''',,,,,,,,,''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;`         
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+;;;;;:;;;;`         
          ''''''''''''''''''''''''''''''''''''''''''''''''''''''''+;;;;;;;;;;;;;;;;:,;;;`         
          ''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;:,,;;`         
          ''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;:,:,;`         
          ''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;:,::;`         
          '''''''+;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;:::::;;;;:,:::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;:::::;;;;:,:::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;:::::;;;;:,:::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;:::::;;;;:,:::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;:::::;;;;:,:::`         
          ;;;;;:::::;;;;;;;;:'''''''''''''''''''''''''''''''''''';::::;;;;:::::;;;;:,:::`         
          ;;;;;:::::;;;;;;;;:'''''''''''''''''''''''''''''''''''':::::;;;;:::::;;;;:,:::`         
          ;;;;;:::::;;;;;;;;:'''''''''''''''''''''''''''''''''''':::::;;;;:::::;;;;:,:::`         
          ;;;;;:::::;;;;;;;;:'''''''''''''''''''''''''''''''''''':::::;;;;:::::;;;;:,:::`         
          ;;;;;:::::;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;:,::,`         
          ;;;;;:::::;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::::,`         
          ;;;;;:::::;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::::,`         
          ;;;;;:::::;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::::,`         
          ;;;;;:::::;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::::,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::::,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''':::::;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:::::'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;::,:,`         
          ;;;;;;;;;;;;;;:;;;:'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;::,::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;::::;;;;;;;;;::,::`         
          ;;;;;;;;;;;;;;;;;;:'''''''''''''''''''''''''''''''''''';;;;;::::;;;;;;;;;::,::`         
          ;;;;;;;;;;;;;;;;;;:''''''''''''''''',,,,,,,,,,''''''''';;;;;::::;;;;;;;;;::,::`         
          ;;;;;;;;;;;;;;;;;;:'''',,,,,,,,,,,,,,,,,,,,,,,''''''''';;;;;::::;;;;;;;;;::,::`         
          ;;;;;;;;;:::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''''';;;;;::::;;;;;::::::,::`         
          ;;;;;;;;;:::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''''':::::::::;;;;;::::::,::`         
          ;;;;;;;;;:::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''':::::::::;;;;;:::::::::`         
          ;;;;;;;;;:::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''':::::::::;;;;;:::::::::`         
          ;;;;;;;;;:::::;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''':::::::::;;;:,,,,,,::::`         
          ;;;::;;;;::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''':,...,,,,,.....,,,,,:::`         
          :::::;;;;::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,.....,,,,,::`         
          :::::;;;;::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,..........,:`         
          :::::;;;;::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,......,,,,.....,`         
          :::::;;:,.,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,......,,,,.....`         
          `,,,,......,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,......``                
           .,,,,.....,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
            .,,,,....,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
             .....,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
              .....,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
               ....``       `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....                            
                            `,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::.....                            
                            `,,,,,,,,,,,,,:::::::::::::::::::::::.....                            
                            `,,::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `::::::::::::::::::::::::::::::::::::.....                            
                            `:::::::::::::::::::::::::,,.`````````....                            
                            `::::::::::::,,...`````````````````````...                            
                            `:,..```````````````````````````````````..                            
                             ```````````````````````````````````````..                            
                              ```````````````````````````````````````.                            
                               ```````````````````````````````````````                            
                                ``````````````````````````                                        
                                 `````````````                                                    
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
                                                                                                  
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` ```````````````````````
 ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` ````
 ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` ````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` `````````
`````````````````````````````..````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
` `````````````````````````.``````````````````````````````````````````````````````````````````````````````````````````````````````````````````` ``````````````` ```` ``
` ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` ```````````````````
` ```````````````````````.``````````.```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` `
````````````..```````..```````````.`````````.``````````````````````````````````` ```````````````````````````````````````````````````` ``` ````````````````````` ``` ` `
````````````````````...````````````.`````.``.```````.```````````````````````````````````````````````````````````````````````````````````` ``````````````````````` `` ` 
`` ``````````````````..``..`````...````````````````````````````````````````````` ``````````````````````````````````````````````````````````````````````  ``````` `    `
`````````````````````````..``.``...````````````````````````.````` `````````````````` ````````````````````````````````````````````` ``` ```````````````` ``````   ``````
``````````````````..````.....```..```.````````````.```````.`````````````````````````` ```````````````````````````````````````````````````` `````` `````````````   `````
```````````````.......````````````.``....``````..`.``````````````.`````````````` `` ``  ````````` ```````````````` ````````` ``````````````` ```  ``` ````   ```  `````
``````````````````......``.```````..`...`.````....````````.````.`````````````` ``````  ````` ```````````````````````````````````` `````````````` ````` `  `````````````
```````````````````.....``...````..```````````...`.`````..```````````````````````` ````` ` ````````````````````````````````````````````````  ``````  `` ```````` ``` ``
`````````````````````..`..```.````...````````````...`.``..```````````````````.``````` `` ``````````` ```````````````````````````````` `````````  ```   ````````````````
``````````````....```....````....`......````....`....```.``...````````.````````````````````` ` ``` `` ````````` ``` `````````` ````````  ` ``  ``  ```````````  ```````
``````````..``.....````..```.....`.......`......`````````.``...`````..```````````````````.```  `````   ``````` ````````````````````````` `` ``  ` `````````````````````
`````....``.````.....`````.......```.....```.....``.````````..`````..`.````.````````````````````` ``  `` `` ````` ` ``````` `````` ``````        ``````````` ``````````
`.`````..`.``````.......```,.....```...`````....`....````..``````````..````..`````````````````````````  ` ```   ```` ``` ````````` `  ``  ````` ```````````````````````
`````````..``````````...```,......```````.``.``....``...`.....```...``..```.``...````.```````````````````` `  ``     ` ```````````   ` ```````` ```````````````````````
``````````.`````..```.....`.....```.....`..,......``....`.....`.....````````.`.`.```.````````````````````````  `  ` `   ```   ``      ` ```````````````````````````````
`.``````````.`.``..`````..`.....``,,,...`..,...````.....```...````...`...````````````.````..``````````````````````      `  `   `    `````` ````````````````````````````
```````````....````.......`..```..,,,......,..,,.``.....```..`````..`.``.```...```..``..``.``..``````````````````````           `   ```````` ``````````` ``````````````
````````````.....``.....``..,,,`.....,,....`......`,,..```````....`..````..`....`....````````.````.`````````````````````      ` ``  ` `` ``````````````````````````````
```````.``......`.........``.,,.....`.,...........`....```....`.,..````....``...```.....```````````````.````````````` ``` `` ` ``  ` ``````````````````````````.`````.`
..``````..``....``...,,...```..,,,..............`.........,...`...,..``,...``..````..`.`.``...```.```````.``````````````` `    `` `````````````````````````````.````..`
`.``.````.......``....,.......,.,,,....,,,...,...`...``........``....``...``.```...`..`...`...`....````````````````` ``` ``      ```````  ``````````````.``..`````````.
`.``.``````...`.``.........`..,,......,,,,...,,,....,,.....,.....`....`...`....`....```...``.````.``.```.`````````````````    `  `````````````````````````.````````````
````.``....``...``.........`....,.....,,,...,.,,..``..,,,.`....`....`.`.`.`,,......,.``...````.```.``..``.`...`````````````` ` ``` ````````````````````````````````````
.``````....```````.......```.,......,,....``,.,,,,,..,,,,....,,......`.,,`...,...`....`..``......```...``````.``````` `````     ```````````````````````````````..`.````
..`````..````.........```.,,,.........,,....,,,...,..,,.....,,...,,,..`.,...`.....```.`..`........``...``````````.````````   ` `````````````````````.````.```````...`..
`....`````.``....,,```..,,,,,......,,,......,..,.......,..,,.,..,,.,.....,,...,,`.,..`..`.....```..`..``..`.```..`````````` `` ` ````````````````````````..````..```.``
...`.`````..`........`..,,,..,,..,.,,,..............,,..`......`.,,.....,....,,,..,,...,...`....``.`..`...`...`.```````` `` ` `````````````````.`````..```...```...`...
.`.``.```````.````..........,.,,...,,,..,,,,.....`,,.....,..,.........`..,..,.,..,.,..``.,...,....``.```..```.````..```````   ``````````````````..``..``..```````````.`
.`.``.````....```````..,.......,,....,,.,,,,....,:,.,,....,,.`.........,..`.....`,,.....,...,,..,..`......````````.```````` `` ```````````..```.````````...```.```...``
.`````````........`.,..,,......`.........,,........,,,....,..,,,,..`.,,............,..`....,...,.,.``...`..`..`...`.```````````````````..``.````.``````````...````..``.
.```.```.``.......`.,..,,,,,..,,,...........`.,,,,..,,,....,.,,,,...:,......,.```..`..`,...`,......``.........``..`..`````````````````..`.````.```````````.....`.``.``.
.`...````````.....``...,,,,.....,....,,,,,,..,,,,,....`.......,.......,,,...,..,,...,,,...,,`......`,.``..`...``..`..`.```````````````````````````.`...```.`....```````
.`..`.``.````...`````..`..,...``.,,,..,,,,,..,,,,,,,.,,....,,..``.,,...........,.....,....,..,...`....`...`...`....``.``````````````````````.`.``.``..`````````````....
.`..`..```````````..............,,,,...,,,,,....,,..,`..,..,,,,..,,,,,..........``...........,..`.,....,```.``..```.`````````````````.`..``..```````````...``..````....
``..```````...``.``,,,........,,,,,,...,,,.......,,,..,,,,.,,,.,...,,,,.,,...,,,..,,,...`.....`.......`.`..``,.....`````````````````````````````````.``.....```...`....
.``..```````.....``..,..,,,...,,,,,,,.......,:,,......,,,,...,.......,..`.,,..,.,..,,,.,...,,,...,...`....`.``..``...``.``````````````````..``.```....```..```...```..`
......````.........```..,,,,...,,,,...,,,,,.,,,,,,...,,,,.......,,.......,,,..,.`...,..`.,.......,......,.`...```````````````````````..``...```..`..```````.``...``````
`....`.`````.........``.........,,,..:::,,,..,,,::,..,,,,...,,,.,,,.....,,,......,....`.,,..........`.,...`.....``..`..````````````````.``..``...``.`...`````...``....`
`.,.`.`.````.........................,,,,,,.......,,...,,.,,,,,..,,,,,..,,,..,,,.,,....,.,..``.,...`.,.`..```.``.`..``.````````````.`````````...`````.....``....`.....`
.`..`...`.`.``......`..,,......,,......,:,,,,,,....,.......,,,,......,..,,..,,,,...,,..,...,,,.,,,..,..```,,.``..``.````````````````````....`...``..`````.``....`......
.`..`...``...`..,,,,...,,....`.,,:..,,,.,,,,...,,,,...,.....,,,..,,...,......,,............,,.......,......,,.`..`.`..``.````````````..````.``..`...``.```.```````.....
.`..`,...`.....`.,,,...,,,,.......,::,,...:::,.::,,...,,..,,.,,,...,,,..,,.,,..,...........,,..........,...`..`.....````````````````..```````````...```...``..`...`....
.`.......`...``,,,....,,.,,,,,...::,,,,..,::,,,,::,.....,::,..,:,,.,,,....,:,..,,..,,..,,.......,...,.........```....````````````````.```.```..`.``..``...````....``...
.`.......````.......``,,,,..,,...,,,,,,..:::,.::,:,,,..,,,,,.,::,.,,:,,..,,,,.,,,.,,,....,,..,,.,,.`.,,..,....`.`...`.``.`````````..``..`..```...``..`.....``.....`...`
.`,.`..`.`.``........`,,,,.,.,.....,,,.,:,,,,.,:,,,,,....,,.,,,,,.,,,,,...,,.,,,,.,,,,..,...,,,,.,,.....,,.,,.`.....`..``.```````````..`....``...`.........```..`.....`
`,...,``.`.````...........,,....,,.......:,,,..,,,,,..,,.....,,,..,,,,..,.....,,,.,,,....,.....,,..`......`...`..`..`.````````````````.`....``..`...`....``..`````....`
`,...,``.`.`..,,`````........,,,,,,..,:::.......,...:,,,,..,,,.....,..,.,,...,,.....,..,....,....,..,.`.,.`...`.``..`.```````````.```.```..```````.``.........`...`````
.,...,.,`...,,....,,,,,.....:,,,,,,,,.::,,,:,::....::,,,,,.:,,.,,.....,,,,,.,,........,,,..,......,,...,`.`.`.....```.`.````````````.`````....``...```.`...............
`,...,.,.`........,,,,,.....:,,,,,,,,.,:,,,::::....:,,,,,,.,:,.:,:...,:,,,,,,,.,,,...,,,,..,.,,.....,....,........`..```````````````.`..``.....`.....```...............
`....`...`..`.....,,..........,,,,,,...,,,.:,,,,....,,,,,...,,.,,,,....,,,,..,,.....,...........,,.......``.,..`...``.``````````````````...`.```.`.```..`....``...`....
`.......`..``.....`````..,,,,,...,.....,,,,......,:,...,....,,,.....,,,..,....,,...,,,,.,...,,.,,,,.,...,,.,,....`.....``````.`.`.``...`...`..``...``.....`.```....````
.,......`..```..,,,,....,,,,,:,,.,,,....,::::,.::::::,,:,....:::,.,:,::,.,,.,.,,,.,,,:...,,.,,,..,,.`,,...`.,...,...`..```````````.`...``...``.`....`.....`....`,,,,.`.
`,.....,.,.`.`.,,,,,....,,,,,:,,,,..:::..,,,,,...,:::,,..,::.,,,,....::.,..::..,,....,..,,,..,.......,...........```..```````````..``.````.``..``...``.....`.,,`.....`.
,.,.,..,,`.``.`.......``...:::..,...:::..,,,,......,,,..,::,..,,......,,..::,..,.,:,...,,,,....,,...,,....,.,...`..`...```````.``.`````..```...````...`..``.,,.``...`.`
..,...,..`..`````....`.......,,,...:::,...,,,.,::,,,...::,,,......::,,...:,,,.,,,.,,::..,,..,,.,,,,.,..,,.......`,.```.``````````.`...`...``..``........``,....`.``..,,
`.,...,..`..`.```.``...,,,,,......:,,:,,......,::,::,..::,,..::,,.,:,::..:,,.,:,,....,,.,,.,,,.........,,......`....`.``.```````````....``.`..`....``...``,...``,..`..,
`...`.,`.`.``.```.``...,,,,,:::...:,,,..,::::..,:::::,.,,,,.:::,,....,,,.,,,.,,:,,,...,.....,,..,...,......,,...,.....````````.``.....``..``````.....`...`...`.,,......
`.....,..`,.`.``.,,,,....,,,,,,.,.,,,,,.::::,,,...,,,,..,....,,:,,,,...,.,..,,.,,,.,,,..:.,,.,,.,,...,,..,.,,..,..,....```````.``......`..``.......`.......``....,...``
`....,......`...,,...........,,,,.,,,..,,,::,,,,,,...,,.,..,,,.,,,..:,,..::.:,..::,,,,...,,,.,,.,,,..,....`...........````````````....`....`....`,...,..`.,,...`.......
.,......,,....`...,,.``........,,.,,...,,,.,,,,.,,:,,..,::,:,,..::,,::,...,,,,.::,.,:,,..,,.,,,.,.......,....`....````.````````..```.``....``..`.,.`,.,..``.,,......`.,
.,,,,.,....`.```...,.``....,,,,...,::,,,,,.,,::,,,::,,...,:::,.::,.:,:,,..,,,.,,,,.,,,,..........,.,...````.`...`...``````````.````.`````.`.```....`.............,,,..,
..,,,...,,..``...`.........,,,,,....,,:::,,,,::,,:,::,,..:,,,,,,,,.,,,,,.......,,..,,..,,..,,.....,.....````....`.```.```````````````..```...`.....`....``.......,...,.
..,......,...`.......,,,...,,,,,,...::,,,:,:::,..:,,,,,...,,,.,,,..,,,,..,...,,......,,.,,.,.,,.. `..`.````..`.``..`..````````````````````...`..````.```.,,:::::::::::.
...........`..`....+:,,...,,,:,,,,....:,,.::,,,,.:,,,,..:,....,.........,,,,.,,.,,,....,,.....``.,``.....``...`....```````````.````..``..```.`..`..``````````.,::::::::
............,.``...+;...``,,,.,,,,.,,......,:,,,.,,,..:,,,,..,,.,,,,...:,,,,....,...,,......,,...,```,....``..`..``````.`````````.``````..`.```.```.```....``````````.,
.......,...,..`.``,++....`...,,....,,...,:::......,..:,,,,,,.,,.,,,...............`,,,,.,......`...``,.`.`````.```,`````.```````````````.``````..```..`...........`````
,...,...,,.,..````,##'...`.......,,,,...,::,,::::....,,,,,,...,....`.,,...,,..,,,.`..,..`..``.`...``;..`````.````.:`````'.:.``````````.`````..`.`.`...`......```.......
,...,,.....,..``..,++;'```...,,::::::..,.,,,.,:,,,,.,...........,,..,,,,..`.,,...`.....`...````.`,.`;.`````````.``````.`,`;,`````````````````````````.```...:;;........
`....,..,...`.`..,,:,::::::::::::::,,.....,,.......,:,,,.,,...,,,.,`..,,...,,.`...,,....,.``..`.`..`;```,`,````````+````.,',`````````  ```````````..````````,,,``.....`
`.,..,,..,...,:::::::::::::::::::::,,.....,,,,:,..:,,,,.,..,,,....`.......,...`..`.,.,.`.......`````;`. ,`+.``` ```````...````...```````````````.``.``.....`,..`````..`
..,,,.,....,,::::::::::::::::::::,,.```....,:,,,....,,,...,,,.`....,,.....,..`....```..`.``.`.````,.;`,````,``.+;`````````;'.`````````````:;.```````.`.....`,.,``````` 
..,.......,,:::::::::::,,...........```.,,.,,,,..........,.,,.`..,`.,.,..`...`........``..,,,,.`,,..;..`'`````,++,.`.`````````````````'..`;+.`````````........,`......`
.`,.`,.`.,,,:,,.....`..``...........,``,',...,...,,......,,....,....`....`.``..`..``.......,..,,.,,.:,,`;`+'`````,.`.:.`````````.;.`.:+..``````````.``................`
..,.```..```````.```.`````.,,,,,,,,,,``,:,........,,,,,......`,......`..`.....,,...:,,...,,..::,.,.,,:,`#`#@`.+```` ..``. ```:``,;.`,````````..`...,,`................`
....````````````..,,,,,,,,,,,,,,,,,,,``.:,..,,,,..`.........`......``...,,,`,,..,,..,,.:,,,.:,::,`,,,;.```,.`,;++;` ````::```:``;```````.`''`:`,,,..``...............`.
.....```..,,,,,,,,,,,,,,,,,,,,,,,,,,,```,,.,,,............,,....,,...,,..:,.,,.;:,,,,,..,...::;::..,.::`` ``.,;';'.`.```  ``````````.,,,,`@#`:`,,.,,.`...............`'
.....``.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,```,,...,,.....,..`...,,,..,.......,:.:,.,...,;:.:.,:,,,,,.,,..,..`: ````;:;+`.;```  ``````:#`..,...`.,`.`;:,;:.`...............`+
`...``.`,,,,,,,,,,,,,,,,,,.....,,,,,.```,,..`......,,,,,..,,,,.,,,.::,.;::,.;::::.,:;;;:.':::.,,,.+....`: :.````,;``, ``..```,`,;+`.,;::,`.````:.,:; ```.............;#
``,`````,,,,,,,,,,,,,...,,.....`````````,,....,,,,.,,,.:,,,,,,::,,,,,..;,,.,:;;::.,;,,;;:,,,;:,;':....,`;`;.`..`````,.``;.``.:`,::`,::,.`````,`,::,::,.`````.........++
....,.``........,,,,,,.````````````...``..,..,.,::,,.::::,,.::::,;::.,.,:,,,..,.,,,,,,::,.:'::,::.+.';;`:`:.`'::.` ``:``,```:.`:;:`.``````.:`,`::::,,:;,.:.````....++;+
......``........````````````..........``...:,,,,::..,,,,,,,,:,.,::;;;:..:,::,,:,;::,.::::,,,,.,:;'#'';'`,`:.`;,;;:``````,  `:``.``````.:`,.:`,`;:,,::,,::,,';:`````++;;
..,.`.```````````````............,,,..``.,;,,,::,,:::,,,,,,:;:,.,:,,,:,,,,,,,.:;,::,,,,,,,';:.:,;+#+';,`:`,.`,,,:;`..```````,``````,.,''`..,` `':::.,,,,,.,:;:;,,:,#+;;
....`.````````.............,,,,,,,,,.,``.:,,,:;;:,:::,:,,::::.,;;;,,::,.,::,;'::::,;;:;;:,,:;';:;'###', ``:.`::.:;`,,,  ```````,,:`,,,,:`..`,;.:,,,;:,';',::,,::,:###@@
..`..````..............,,,,,,,,,,,,,,,.``.,:,;::;;;,,:,,,,,;:,,,:,,'::.;;:::,:,:,,',::,,::;;;,:,:;'+';,   `.`,.,,,`..,  :` `#'`;:;`;::,,`..` ..:::,';,,,';:;,.';:;,,;@@
.``..`.``.......,..,,,,,,,,,,,,,,,,,,..``.:'''':,.,,,::,,,:;:::,.,:::,,,,..,,'::,,:;';;:,.,;',;;;''+#;; ,``  ,:..,`:,``.:```+:`+::`:::,,`.,`;`,,,:;:;::::,.,,,,,,:,,..,
.......```......,.,,,,,,,,,,,,,,,,,,,.,``.:,,,..,,:,:,,,,,,,,,,,,,,,,,;;:,,;,..,,,:,,.:.,,.:,.,,'@@#@@:`.`;.  `.;;`:+,`.,```:.`#',`,,,,,`.:`` ;:,;;:,,,:.,;:;::.,;::..,
.``....```...,,,,,,,,,,,,,,,,,,,,,,,,,,``.,:';::,,,,':,;:';,:..:,::::.,:::;;;..,:;,:,,,;:,,::,,:;,@#..: , ..````..`,+: .: ``'.`+:.`;:::,`````,:,,,::;:,'':,.:,.;::::..:
.``.`..```,,,,,,,,,,,,,,,,,,,,,,,,,,,,,``.,,:::.,';,..';:::..;;::::,.:;;;;;:..;',::,.,,,:,::..;::,.,..,   ,:`:,``` +#;`:.```:``;:.`,,.``````##:,,,,;;::,,,:::,,'':::..:
.`.``..```.,,,,,,,,,,,,,,,,,,,,,,,,,,,,``.,,:,,';:::,,,,:,,,,::..,,:;:::,,..,,,:,:,,...,,,,,.,.,,,.:..: .  . .,..  `#: ..```;``,,``.`````,,`'':;;;::,,:,'::;;::,;::,..,
....``.````,,,,,,,,,,,,,,,,,,,,,,,,,,,,.``;;,,,,,,..,'',,,,,::,:,,,,,:,,,;;:::,,,,;:,::';,,:,.,,:,.:.., ,``` ,..,; `   ,:```#``..````.:`.:,`;`;:,,,,,,,,;::.::::,::....
..`,.``````,,,,,,,,,,,,,,,,,,,,,,,,,,,,.``:::;;:,:;::,..,;;;;:::,,;;::,:,,:::..:;,,..;;;:::,;;:::,.:.., ` ;, ``.:.`:.  `: ``,```` `::..`,.: ``,,,:,;::;;;:::.,,''::..:.
```..``````,,,,,,,,,,,,,,,,,,,,,,,,,,,.,``,,';::.,.,;::;;:;::::,;;;::::,,,::..,'';::,,:::,.;'::::,.:..;:: `: ` `:;`::, `` ` ` ``,`,::..`.`  ``:,,,,,,.,.:::::,,,:,:..:.
.``..``.```.,,,,,,,,,,,,,,,,,,,..,,,,`````,,:::,,,;;::,,;:::,,:;;::::,,,,,,::,,:::::...,.....,,,::.;..,.,,`  ;,````...`.`   ``:'.`,,.,```` ,`,::::::,,,,,....,:,,,,..,.
.`...`..````,,,,,,,,,,,,,..,,,,,```````.,,::::,,;::::,,,,,,,,,,,:,,,;;;,;;::,,,,,..:,,;:::.,,,;;:,.;..:;;;,. `::.` .,,`,;` .:`++,`,,````:.`.`,.;;;:,.,,:;::,.,,;::,..,.
```..`...```,,,,,,,.,,,,,..````````.;;,,;:;;:,;:;;:,,,;;,:,,,;::;;::,.,;;;;::'';:,,;;:,...,.,..:,,.:...:::...  .,.  `,`.;``,'`;+,````.:`:````:;;;:,,..:;,,::..,:::,..,,
.`...`...```,,......,,.```````.,.,;;::..,.:,,,,;,,:;;:::,,,:;';;;,:,,,'::::,,'';::,,,,:;:,,,,,..,,.:..,,,,,,,;:` . ,`  :,``::`,`` `;::: ```,;;::;.::,...;;::::..,,`....
.`...`...```......````````:,,:::::,,...:;;,,;;:::,,;:...,;;::;;:::,,,,''::::,,:::::;;;:..,:;;::.,,.,..,,,,...:;;`  ,,` ````.``````...`` ::::..,.::...,,,,..,.....,``,.,
.`...`..````.````````........,,,:,,...::;:..;::::::,;::,,,,,,,,:,,,,,,:::,,,,::;''':::..,:,,;:,,,,.,..;:::,..;:::. `,`    ````:,,`````;;;::::...;;.,;;;:::,..,,;;,,.,:;
```...```.```````,,,.,..,,,.......,,.,,,..,,::::;;;;:::,,,:;::;;;;:::,,,:;',';;;'';:::.,:';::::..,.:.......,;;;:::,``` ,` `.,`,,````.,,::::::,.,;:;;,.,,:::,...,,,,,;;:
```..```..```..,,,,...,:......,::,,,,,::,.;':,,;:::::,,,;;;;:;,:::,::,,:;:,:::;;:,,,,..,,,:,::.,,..:`.,.,,.,..,,....`  , ` :,````,...,,....:...,..:,...,,::::.,:;:,,..;
```.``.`.,.,,,,,,.....,,,,...:;,,..,,,..;';;:,,,,::,,,,,::,..,,,,,:,,;'':;,.,,,:,,,:';,:,,,,,.:.,..,..,,::,..,,.,,....`    `  `:::,.,,,,.....,:,,,,,,:,,,;;::...;;;:::,
...```.,,,,,...``.:..,,,..,,:,.:,::,....:::::..,,,,:;;,,,,,::,;:::;;;;:::,.,,''',,'';:::,,,,,,;,,,.,,;;,,,,...,,,::::..`   ``;;::...,:;;::,.,,,::,,,,,,...';;::,,::::::
...``..,,,......,,,,,,,.............,:;;:::,.,.:;;;:::,,::,,,;,.,,:::::::.,,;;';:..:::::,..,::,,.;;;:;:::::,;:::::::...,, ,;;;,,,:...,.:::...,;;;;;,,:::..;'::::,,,,,,:
...`..``.````...,.,,............,..,..,,.....,,;;;:;:::::,,,,,,,.,,..::.,,,,::,..,,:::::,.,'',,,..;;;::::...;;::::::,...:::;;;;,:,..;;:,:::,..,.,,,..::...,':::::,,....
`.``.```.,........``....,::,..,:,...,,.......;;;::;::::::::,,,,,,...,..;,,,,,,,,,,:';::...,''',::.,:::::...'';::::....,;;:::;:,::,....;;:::::............,,,;,,::...,;;
`````,,,,...`....,::..::,::...,,...,,,,,,:,..,,:,.,,;;;:,...;;:,:,,,,,;;:,,,::::,,,'':::,,';::::::,.,,,:.,....,,,..,::,,,,,::,......,..,,,:,.......:,,,::,..,.,......,;
````........``......,:..,,,.,,..,::.,:,:,....::,,;;;;::...,,;::::,,,,''::,,,::,,,'''':;::,,::::::....,.......,:,,:;;;::.....:,...,;;,,,..,...,...,;;;;,,:::...,,,.:....
```......``..,...``:::,,,,,,,,:::,,:::::..,,,;;;;;,,,,..,,,,,::,,.,,;',;;;::::,..::::::,,,,,,,,....,;;,::..,,,:;;;;::::....:;;.,:;;::::,....,:;;,,,;,;;;,,,:...,,,:::::
```.....``.,,...`..,:,,,,..`.:::,,:,:,....:::;;;;;:::...;;,:::::..,,,,,,,,:,...,''::;:::,,,,;...;',,::::,....,,;;::::::...;;;;;,,,,,:::,,,..,,,,,,;;:,:::,,:...;;:,::::
.....```.,,,,......,,,,,..:;;:,,,,,....,;;;::;;.:::,....;;;:::::,,,,,....,,..,,,',,;;,,,,:''':,,;';:::,.......,.,::::::,...:::;:...,::::,...:;,,,..:;;:::::::.;;;::::::
`...`..,,......`.....,....,..,,....,,,,.,,,::.......,,..:,,::......,.,,,,,:,,,,,,,,,,,,,,'''::,,.;;;....:,..,,,.....:....,..,:,...,,,:::::...;;;,,...;;;::::....;;;::::
`..............```..........,..,::,,,...,.,:,....:;,,,...,........,;;;,,,:::,,,,,,.,,,,,,,'';::,.,....::::,,,,,,.......:,,,.,,,,:,,,:;:::....:;;;:::...:::::,..;'';::::
...........````,,`.......,,,,::::,,::....,:...:;;;;:::.....,;;,.,;;;;'',,,::,..,,,:::,::,,,::::::::,;;:;...,:;,,,....,,;;:,,,,,:::,.,;;;::,.,:;;:::::,..,..,:,...'..::,
`.```..````...,,...,.....,:::,,,,,....,:;;:,,;;:::::,,...,,,;,,,,:,,;;:,,,,....;,,,:::::,..::::::;;;;;:...,,:;;:::,..,,,:::,,,,,,....:;;;:::,,,::::::,,,.............:,
```.,```,,,......```.....:,,,,,,,,...::::::,..,,:::,,....,,,,,,;;;,::::::::.,;;;::::::,,,.,,:::;;;;;,:::.,,,,,:::,,...'''::;,,,:::...';;:::::,,,,,,,::.....;........,::
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````.``.````````````````````````````````````````````````````````
`````````````````````````````````````..``...`......`.``````.`.``````````````````````````````````````````````````
`````````````````````````````````````..``````````...`.;``......`````````````````````````````````````````````````
`````````````````````````````````````...`````````````,,.`......`````````````````````````````````````````````````
``````````````````````````````````````..`````````````.,,`...`..`````````````````````````````````````````````````
`````````````````````````````````````...````` ```` ``;';....`.``````````````````````````````````````````````````
`````````````````````````````````````...`````````````'::`.....``````````````````````````````````````````````````
`````````````````````````````````````...``````````.``'++`....`.```.`````````````````````````````````````````````
`````````````````````````````````````....```:,,.``.``.##.......```.`````````````````````````````````````````````
`````````````````````````````````````...````:...``.```,..`...`.`````````````````````````````````````````````````
``````````````````````````````````````...```.,,..`.```,:.......`````````````````````````````````````````````````
`````````````````````````````````````....``,.,.,.`.````:.......`````````````````````````````````````````````````
`````````````````````````````````````.`..``,`...``.````:,...``.`````````````````````````````````````````````````
```````````````````````````````````````..``.`...``.````.:.....``````````````````````````````````````````````````
`````````````````````````````````````....``.`...``.`````:`.....`````````````````````````````````````````````````
`````````````````````````````````````.`..``.`...````````,......``...````````````````````````````````````````````
``````````````````````````````````````...```````````````.:`..`.````.````````````````````````````````````````````
``````````````````````````````````````...````.,..```````.:...`.````.````````````````````````````````````````````
``````````````````````````````````````...```````````````..,.`..`.``.````````````````````````````````````````````
``````````````````````````````````````...````````````````......```.`````````````````````````````````````````````
``````````````````````````````````````...````````.```````...`..`````````````````````````````````````````````````
```````````````````````````````````````..```.......``````......``.``````````````````````````````````````````````
``````````````````````````````````````...```,.,,,..```````..`..`````````````````````````````````````````````````
``````````````````````````````````````...```........``````..`..`````````````````````````````````````````````````
``````````````````````````````````````...```.`...`..````.`..`..`````````````````````````````````````````````````
````````````````````````````````````````.``````````.```````.`..`````````````````````````````````````````````````
````````````````````````````````````````.``````````.`````...`.``````````````````````````````````````````````````
````````````````````````````````````````.`````````````````..`.``..``````````````````````````````````````````````
````````````````````````````````````````.```.`````````````..````````````````````````````````````````````````````
`````````````````````````````````````.``.```.```````.`````..````````````````````````````````````````````````````
````````````````````````````````````````.```.```````.`````..````````````````````````````````````````````````````
````````````````````````````````````````.```.``....``.`````.````````````````````````````````````````````````````
````````````````````````````````````````..``..`......,```...````````````````````````````````````````````````````
````````````````````````````````````````....,.``....`...`...````````````````````````````````````````````````````
````````````````````````````````````````.`.`........`.,.``..````````````````````````````````````````````````````
````````````````````````````````````````....,.........,..`..````````````````````````````````````````````````````
````````````````````````````````````````....,............`..````````````````````````````````````````````````````
`````````````````````````````````````````.,.,........`.,.`..`.``````````````````````````````````````````````````
````````````````````````````````````````....:...,,,,.`.:..`.````````````````````````````````````````````````````
````````````````````````````````````````..,,:..,,,,,.`.,,...````````````````````````````````````````````````````
`````````````````````````````````````````.,,,..,,,,.,,..,...````````````````````````````````````````````````````
`````````````````````````````````````````..,:.,,,,,,,,..:,,.`.``````````````````````````````````````````````````
````````````````````````````````````````...,:..,,..,,,,.,,..````````````````````````````````````````````````````
`````````````````````````````````````````,.,,.``..````...,..````````````````````````````````````````````````````
````````````````````````````````````````...,,...,......`.,...```````````````````````````````````````````````````
`````````````````````````````````````````,.,...........,.,,...``````````````````````````````````````````````````
````````````````````````````````````````.,.,,.````.`.`.`..,.,```````````````````````````````````````````````````
````````````````````````````````````````...,.......```````....``````````````````````````````````````````````````
````````````````````````````````````````..`,..```.`.......,,..``````````````````````````````````````````````````
````````````````````````````````````````..,,............`..,..``````````````````````````````````````````````````
````````````````````````````````````````..`...```..............`````````````````````````````````````````````````
````````````````````````````````````````...............`.`...`.`````````````````````````````````````````````````
````````````````````````````````````````.``...`````````.....,...````````````````````````````````````````````````
````````````````````````````````````````...................`....````````````````````````````````````````````````
````````````````````````````````````````...,..`````````````,.....```````````````````````````````````````````````
````````````````````````````````````````.`.,...............;`,...```````````````````````````````````````````````
````````````````````````````````````````........`..``````:'+'..`````````````````````````````````````````````````
``````````````````````````````````````````....`````````.``.:.,....``````````````````````````````````````````````
```````````````````````````````````````....,................`.....``````````````````````````````````````````````
```````````````````````````````````````.....``````......``````..````````````````````````````````````````````````
``````````````````````````````````````````..````````````....``....``````````````````````````````````````````````
```````````````````````````````````````.....``..........`....`.....`````````````````````````````````````````````
```````````````````````````````````````.``..``````..````.``````..```````````````````````````````````````````````
``````````````````````````````````````````..```````````````````..``.````````````````````````````````````````````
```````````````````````````````````````.``..``..``````.``.....``...`````````````````````````````````````````````
``````````````````````````````````````......``..`.......``..````..``.```````````````````````````````````````````
``````````````````````````````````````..``..````````````````````..```.``````````````````````````````````````````
``````````````````````````````````````..``..````````````````````......``````````````````````````````````````````
``````````````````````````````````````.```..`````...`.``.`.....``....```````````````````````````````````````````
``````````````````````````````````````..`...``.`....`.`......````...````````````````````````````````````````````
``````````````````````````````````````.``...``````...`.....``````...``.`````````````````````````````````````````
``````````````````````````````````````````..``````````````````````......````````````````````````````````````````
``````````````````````````````````````.```...``````.`````````...``......````````````````````````````````````````
``````````````````````````````````````......````..```...........```.....````````````````````````````````````````
`````````````````````````````````````.......``.`.....`.....````````..```.```````````````````````````````````````
`````````````````````````````````````..``...```````````````````````..```````````````````````````````````````````
`````````````````````````````````````````...````````````````````````..``````````````````````````````````````````
`````````````````````````````````````````...``````````````.`..``.```..``````````````````````````````````````````
`````````````````````````````````````````...````.```````..``````````...`````````````````````````````````````````
`````````````````````````````````````````...`````````````````````````..`````````````````````````````````````````
````````````````````````````````````````...``````````````````````````..`````````````````````````````````````````
`````````````````````````````````````````..````````````````````` ````...````````````````````````````````````````
`````````````````````````````````````````..```````````````````````````..````````````````````````````````````````
`````````````````````````````````````````..````   ````````````````````....``````````````````````````````````````
`````````````````````````````````````````..`````````....``````````````...```````````````````````````````````````
````````````````````````````````````````...````.```.....```````````````..```````````````````````````````````````
````````````````````````````````````.......````````````````````````````...```.``````````````````````````````````
````````````````````````````````````````...````````````````````````````...``````````````````````````````````````
`````````````````````````````````````````..`````````````````````````````..``````````````````````````````````````
````````````````````````````````````````...`````````````````````````````...`````````````````````````````````````
````````````````````````````````````````...`````````````````````.`...```...`````````````````````````````````````
````````````````````````````````````````...``````````.``````````.....````...````````````````````````````````````
````````````````````````````````````````...``````.`...```````````````````....```````````````````````````````````
````````````````````````````````````````...```````````````....```````````...````````````````````````````````````
````````````````````````````````````````...```````````````````````````````..````````````````````````````````````
````````````````````````````````````````...```````````````````````````````...```````````````````````````````````
````````````````````````````````````````...`````````````````````````` ````...```````````````````````````````````
````````````````````````````````````````...````````````````````````` ``````..```````````````````````````````````
````````````````````````````````````````...```` ```````````````````````````...``````````````````````````````````
````````````````````````````````````````...````````````````````````````````...``````````````````````````````````
````````````````````````````````````````...```````````````````````.````````....`````````````````````````````````
````````````````````````````````````````...`````````````````````````````````...`````````````````````````````````
```````````````````````````````````````....`````````````````````````````````....````````````````````````````````
````````````````````````````````````````...```````.`````````````````````````....````````````````````````````````
```````````````````````````````````````....```````````````.``.....```````````...````````````````````````````````
```````````````````````````````````````....``````````.``````......```````````...````````````````````````````````
```````````````````````````````````````....`````````````````.......``````````....```````````````````````````````
`````````````````````````````````..````....```````````.`.`````````````````````...````.``````````````````````````
`````````````````````````````````..````....```````````````````````````````````....``.`.`````````````````````````
`````````````````````````````````.`````....``````````````````````````````.````....``.```````````````````````````
```````````````````````````````````````....```````````````````..`````.`````````....``...````````````````````````
``````````````````````````````````.````....`````````````````....````.``````````....```..````````````````````````
```````````````````````````````````````....``````````````````...```````````````....`````````````````````````````
```````````````````````````````````````....``````````````....`.`...`````````````....````````````````````````````
```````````````````````````````````````....```````````..`....``.````````````````....````````````````````````````
`````````````````````````````````..```.....``````````````....`````````.....`````....````````````````````````````
                                                                                                           ,,,,,,,,,,,,,+             
                                          .............++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++             
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++            
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'####            
         .++++++++++++++++++++++++++++++++++++++++++++++++''''''++++++++;;;;'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;###.           
         ++++++''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++;;;;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;####           
         ++++++'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++;;;;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;###           
         +##+++'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###+          
        :+##++++''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''....,,,:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###          
        ++'#++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''',....,,,,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###+         
        +';#++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''',,...,,,,''''''''''''';;;;;;;'''';;;''''''''''''''''''####         
        +;;#++++;;;;;;;;;;;;;;;;;;;;'''';;;;''''''''''''''''''''''',,....::::+''''''''''';;;;;;;'''';;;'''''''''''''''''''###.        
       ++;;##+++'''''''''''';;;;;;;;'''';;;;''''''''''''''''''''''',:....::::+'''''''''''';;;;;;;''';;;;''''''''''''''''++####        
       ++;;;#++++'''''''''''';;;;;;;'''';;;;''''''''''''''''''''''''::...::::++''''''+++++++++++++++++++++++++++++++++++++####        
      `+;;;;#++++'''''''''''';;;;''''''''+++++++++++++++++++++++####::.,,,;;;;#++++++++++++++++++++++++++++++++++++++++++++####       
      '+;;;'#+++++++++++++++++++++++++++++++++++++++++++++++++++####:;,,,,;;;;#++++++++++++++++++++++++++++++++++++++++++++####       
      ++;;;'##++++++++++++++++++++++++++++++++++++++++++++++++++#####;;,,,;;;;##++++++++++++++++++++++++++++++++++++++++++++++.       
      +;;;;'+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++;;,,,,;;;'+++++++++++++++++++++++++++++++++++++++++++++++        
     .+;;;''+#####+++++++++++++++++++++++++++++++++++++++++++++++++++;;::::;;;;+++++++++++++++++'''''''';;;''''''';;;;'''++++         
     ++;;;''+####++++++++++++++++++++++++++++++++++++++++'''''''';;'';;;:::;;;;''''''''''';;;;;;'''';;;;;;;''''''';;;''''+++.         
     ++;;;''+####+''''''''''';;;;;;;'''';;;;;;;;''''''''''';;;;;;;'''';;::::;;;;''''''''';;;;;;'''';;;++++++++#######;;;++++          
     +;;;''++++++''''''''''';;;;;;;;'''';;;;;;;;''''''''''';;;;;;'++++;;...,,,,#####################################;;;'+++           
    ++;;;''+++++''''''''''''''''''''+#################################+....,,,,####################################''''+++:           
    ++;;;''+++++;;;;###################################################++++########################################'''++++            
    +;;;''++++++;;;+##############################################################################################''''+++             
   ;+;;;''+++++''''##############################################################################################''''+++;             
   ++;;;''+++++''''##############################################################################################'''++++              
   +';;;'++++++''''#############################################################################################''''+++               
  `+';;;'+++++''''#############################################################################################''''+++;               
  ++';;''+++++''''#############################################################################################;;;++++                
  ++';;'++++++'''+############################################################################################';;'+++                 
  +'';;'++++++'''#############################################################################################;''+++,                 
 '+'';;'+++++''''############################################################################################'''++++                  
 ++';;;++++++;;;'###########################################################################################+'''+++                   
 +'';;;+++++';;;############################################################################################;;;+++'                   
 +'';;;+++++''''###########################################################################################;;;'+++                    
 +';;;'+++++'''###########################################################################################''''+++                     
 +';''+++++';;;###########################################################################################'''+++:                     
 +';''+++++;;;'##########################################################################################''''+++                      
 .+;''+++++'''##########################################################################################+'''+++                       
  +;'+++++''''##########################################################################################'''+++'                       
  +''+++++''''#########################################################################################''''+++                        
  +''+++++'''##############################################################################+++++''''''''''+++                         
  +'++++++'''#####################################################++++++''''''''''''''''''''''''''''''''''++++.                       
  ;++++++''''##################################+'''''''''''''''''''''''''''''''''''''''''''''@@@@@@@@@@@@''''++++`                    
  `++++++'''##########'''''''''''''''''''''''''''''''''''''''''''''''#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''++++                  
   +++++'''''''''''''''''''''''''''''''''''''####+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''++++,              
   +++++'''''''''''''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''++++.           
   +++++++'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''++++,        
   ;+++++++''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''++++;     
    +++++++++;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++;;;'''''+++:  
    ++++++++++';;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####;;''''';;;;''''++++++++++++++++##++
    +'++++++++++''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####'''''''''''''''++++++++++++++++++++++++++++++++++++++####
    +'''+++++++++''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''';;;;'''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####
    +''''++++++++++'';'@@@@@@@@@@+++++;;''''';;;;'++++++++++++++++++++################++++++++++++++++++++++++++++++++++++++++++++####
    +'''''++++++++++'''''''''+++++++++++++++++++++++++++++++++++++++++################++++++++++++++++++++++++++++++++++++++++++++####
    +'''''''+++++#####++++++++++++++++++++++++++++++++++++++++++++++++###############+++++++++++++++++++++++++''''''''''''''''''''####
    +''''''''++++#++++++++++++++++++++++++++++++++++++++++++++++++++++###############+++++''''''''''''''''''''''''''''''''''''''''####
    +''''''''''++#+++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''####
    +;''''''''''+#+++++++++++++++++++++++++++++++++++'''''''''''''''''+++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''####
    +;;''''''''''#++++++++++++++''''''''''''''''''''''''''''''''''''''+++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''###+
    +;;;'''''''''#++++''''''''''''''''''''''''''''''''''''''''''''''''+++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''###.
    +;;;'''''''''#++++''''''''''''''''''''''''''''''''''''''''''''''''+'''++++++++''''''''''''''''''''''''''''''''''''''''''''''''###.
    +';;'';''''''#++++''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++'''''''''''''''''''''''''''''''''''''''''';;'';;###.
    +'';'';;'''''#++++''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++'''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;###.
    +''''';;;''''#++++''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++'''''''''';;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;###.
    +''';;;;;;;''#++++'''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;### 
    +;'';;;;;;;;'#++++'''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;''''### 
    +;;';;'';;;;;#++++'''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;''''''''';;;;;;;''''### 
    +;;;;;''';;;;#++++;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;'''''';;;;;;;;;;;''''''''''';;;;;;;'''+### 
    +;;;;''''';;;#++++;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;''''''''''''''''''';;;;;;;;;;;''''''''''';;;;;;;'''+### 
    +;;;;''''';;;#++++;;;;;;;;;;;;;;;;'''';;;;;;;;;;;;;;'';;;;;;;;'''';;;;;;;'''''''''''''''''''';;;;;;;;;;;''''''''''';;;;;;;'''+### 
    +;;;;''''';;'#++++;;;;;;;;;;;;;;;;'''';;;;'''''''''''';;;;;;;;'''';;;;;;;'''''''''''''''''''';;;;;;;;;;;''''''';;;;;;;;;;;'''+### 
    +;;;;''''';;'#++++;;;''''''''';;;;;;;;;;;;'''''''''''';;;;;;;;'''';;;;;;;''''''''''''''';;;;;;;;''''''''''''''';;;;;;;;;;;'''+### 
    +;;;;;''';;;'#++++'''''''''''';;;;;;;;;;;;'''''''''''';;;;;;;;'''';;;;;'''''''''';;;;;;;;;;;;;;;''''''''''''''';;;;;;;;;;;'''+### 
    +;;;;;;'';;;'#++++'''''''''''';;;;;;;;;;;;'''''''''''';;;;;;;;;;;;''''''''''''''';;;;;;;;;;;;;;;''''''''''''''';;;;;;;;;;;'''#### 
    +;;;;;;;';;;'#++++'''''''''''';;;;;;;;;;'''''''''';;;;;;;;;;;;;;;;''''''''''''''';;;;;;;;;;;;;;;'''''''';;;;;;;;;;;;;;;;;;'''#### 
    +;;;;;;;;;;;'#++++''''';;;;;;;;;;;'''''''''''''''';;;;;;;;;;;;;;;;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''#### 
    +';;;;;;;;;;'#++++;;;;;;;;;;;;;;;;'''''''''''''''';;;;;;;;;;;;;;;;'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''#### 
    +'';;;';;;;;'#++++;;;;;;;;;;;;;;;;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;#### 
    +''';;'';;;;'#++++;;;;;;;;;;;;;;;;''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''';;;;;;;#### 
    #''';;''';;;'#++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;'''''''''''''''''';;;;;;;#### 
    ##'';''''';;'#++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''';;;;;;;;;;;'''';;;;'''''''''''''''''';;;;;;;#### 
    ###';';'''';'#++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;''''''''''';;;;;;;;;;;'''';;;;'''''''''''''''''';;;''''###+ 
    ####;';;''';'#++++;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''';;;;;;;;;;;;''''''''''';;;;;;;;;;;'''';;;;'''';;;;;;'''''''';;;''''###+ 
     ####';;;'';;#++++;;;;;;;;;;;;'''';;;;'''''''''''''''''''';;;;;;;;;;;;''''''''''';;;;;;;'''';;;;;;;'''';;;;;;;'''''''';;;''''###+ 
      ####;;;'';;#++++;;;;;;;;;;;;'''';;;;'''''''''''''''''''';;;;;;;;;;;;'''';;;''''''''''''''';;;;;;;'''';;;;;;;'''''''';;;''''###+ 
       ####;;'';;#++++;;;;;;;;;;;;'''';;;;'''''''''''''''''''';;;;'''';;;'''';;;;''''''''''''''';;;;;;;'''';;;;;;;''''+++###########+ 
        ####;'';;#++++;;;;;;;;;;;;'''';;;;'''''''';;;;'''''''';;;;'''';;;'''';;;;''''''''''''''';;;;;;;'+++#########################+ 
         ####'';'#++++;;;;;;;;;;;;'';;;;;;'''';;;;;;;;'''''''';;;;'''';;;'''';;;;''''''''+++########################################` 
          ####';'#++++;;;;'''''''';;;;;;;;'''';;;;;;;;'''''''';;;;'''';;;''''+##################################################'+,   
           ####;'#++++;;;;'''''''';;;;;;;;'''';;;;;;;;'''''''''+++################################################++,``               
            ####'#++++;;;;'''''''';;;;;;;;'''';;+++###################################################,,,                             
             #####++++;;;;''''''''''+###################################################;;;                                           
              ####++++####################################################'''                                                         
               #############################################++'```                                                                    
                ################################'..                                                                                   
                 #################'::                                                                                                 
                  ##'''