______   __         ______     __   __     ______     ______      ______     ______     __   __     ______    
     /\  == \ /\ \       /\  __ \   /\ "-.\ \   /\  ___\   /\__  _\    /\  == \   /\  ___\   /\ "-.\ \   /\  ___\   
     \ \  _-/ \ \ \____  \ \  __ \  \ \ \-.  \  \ \  __\   \/_/\ \/    \ \  __<   \ \  __\   \ \ \-.  \  \ \  __\   
      \ \_\    \ \_____\  \ \_\ \_\  \ \_\\"\_\  \ \_____\    \ \_\     \ \_____\  \ \_____\  \ \_\\"\_\  \ \_____\ 
       \/_/     \/_____/   \/_/\/_/   \/_/ \/_/   \/_____/     \/_/      \/_____/   \/_____/   \/_/ \/_/   \/_____/ 
                                                                                                                    
    



                                        ,+####+++++',';;`                                                           
                                    ;+###++#+++'+++;++;;';,`                                                        
                                `++#++++++#+++++++++''+'''+'.                                                      
                                +++++++++++++##+++++++++++''';,:.                                                   
                              +'''++++++++##++++++++++''';;''';';;:`                                               
                            .+;'''++++++++++++++++++#+##+',':;.',:;';,                                             
                            `+;:;''+'++++++++++++++++++++;'''';:;';::;;:,                                           
                            `,;:;'''+'++++'+''''+'++++++++++;;'',;:'';;;;,.                                         
                          ,;;:;;'''+++''+'+''++'++++++++++++++;::::.'''':;,`                                       
                          .::;;;'''''''''''''''''++++'+''';;;;+++.;+.;;'':'..                                      
                          .:;'''''''''';;';;'';''''''++++++++';:.::`,,:;:;';',                                     
                          ,;''''''';;;;;;;:::;;;:;;;''''';;'';'';:'..`...::;.;;                                    
                        `,;'''';;;;;;;;::,,:::;;;;:;;;''';';::,,:`,`:..:.,,,:.,+                                   
                        ,;'';;;;';;;;;::::::,:::,,,,:,,:;;;;'';''';;':::.:,:,::;:'                                  
                      .;''';;;;;;;;;;::::,,:,,,,,,,,,,,,,,,::;;;;;;:;:;:;;.::;::;;'                                 
                    :'''';;;;;;;;;;;::::,,,,,,,,........,,,,::;;;'';;;;;'';,''::,;.                                
                    .;''';;;;;;';;;;:::::,,,,,,,.................,,:::,,:;:'',;';,:;`                               
                  ,'''';;;;;;''';;;:::::,,,,,,...........``......,,,:,,:::,,'::;,,.:                               
                  `';+';;;;;;;;'';;;;:::::,,,,,,........``````.....,,,,:,,:;;.,::;,,``                              
                  ,';';;;;;'';;'';;;;;;::::,,,,,..........```.````..,:,:,.,::;:.,,;.::                              
                  ;:';;;;;';'''';;;;:;;:::::,,,,.......`.`...``````..,,,,.,.:.:;...;,:.                             
                `,;;;;;;;;;;''';';;;;;;::::,,,,......```..`.``````...,,,,,,,;,.:.`,:,,                             
                  :;:;;;;;'';;''''';;;;;:::::,,,......```....``` ``....,,.,,:.::.:,`:,,                             
                  ;;;;;;;;;'''''';;;;;;;;:::,,,,,.....`.`.`.```````....,,,,.,,:::,,:,,,,                            
                `':;;;;;;;;'''''';';;;;;;:::,,,.......``````````````...,..,,.,::,,,::,,                            
                :;;;;;;;;;;'''''''''';;;;:::,,,......````.```````````.`...,.,.,::,:,,,.                            
                ;:;;;;;;;';''''''''''';;;;::,,,,,...````````````````````.`.,..::,:..,,.                            
                ,;:;;;;;;;;'''''''''''';;;;::,,,,,,...`````````````````.``..`,,,,::,.,..                            
                :::;;;;;';''''''''''''';;;:::,,,,,,.....`.```````````````.`....,,::,....                            
                ;:;;;;;'''''''''''''''';;;:::,,,,,,....````````````````````....,.,,.....                            
                ::;;;;;;;'';''''''''''';;;:::,,.,,,...`..`````````` ````````.`...:,,.,``                            
              `::;;;;;;;'''''''''''''';;;:::,,,,,,,....```````` ` ````````.``.,..,,..`.                            
              `::;;;;;;;'''''''''''''';;;::,,,,,,,.....````````````` ```.```.....,,...`                            
              .::;;;;;;;';''''''''''';;;::,,,,,..,......`````````````````````.....,.`.`                            
              ,::;;;;;;;;'''''''''''';;;::,,,,..........`.```````` ``````````.``.,.``.                             
              .:;;;;;;;;;';'''''''''';;;::,,,,..........`````````````` ``````.`.....`,                             
              .:;;;;;;;;;;;;'''''''''';;::,,,,,..........```````````````````..``.....,                             
              `:;;;;;;;;;'';;';';;;''';;;:,:,,.............````````````.``.````.......                             
                :;;;;;;;'''''';;';;''''';;:,:,,,.........````````````````````..`......`                             
                :;;;;;;'''''''';''''''''';;::,,,.........``..````````````````.`.....`.`                             
                :;;;;;'''''''''''''''''''';;:,,,......```.`.``````````````..`.........`                             
                ::;;;''''''''''''''''''''';;;:,,,......`````````````````.``.```..`...`                              
                ::;;''''++'''''''''''''''''';;;::,....````.``````````````.`````..`..``                              
                ;;;'+++++++++''''''++'++'++'''';::,...```````````````````````.``...`..                              
              `'''+++###++++''''''+++++++++++'';;:,,...```````.````````````..`.``.`.`                              
        ++++++++########++++++''''''+++++#######+++++++++'';,.`..````````````.....`...                              
      .+#+#.   `''++++######+''''''+###++++++'''';::;'+++''+':+:::;;::::;::,..::...`.                              
      `##+####'.''+++++######++++###+++++++++++'';;:,,:+++++':';;':;;;;;;;;';::::..,.``                            
        +# :+###+''++#++############;++++########++';:,,,+++++';;;;;;;;;;''''';;':,,.````                           
        ++       ''++######+########++++####++#####++':,,'++:;;'''''';,`````````.`...;';.                           
        ;'       ;'##++############+'++++###+'#####+++#;,;++''''''':.``` ``````...,.'''':                           
        `'       ;'+++++###########'+'++++++++++';:,:+++''++'''';,.````` `````..,,,;;''';                           
        +       :'+'++++++##@''''#'++'+++++++'+';;;;'+++'''':,..`.````````````.,...`;'';                           
        +       ,''''++++###';;:,++'+''+++++++'''''''';;,':.......`````` ``.``..``` `;';                           
        +       ,;''+++###+#'';,.:+;''''+++++++++'';:....'.....``.```````.`` `,., ` `:;;                           
        `:      .;'''++++++';;:,..+`,:;'''''''''';;:,,`,.+.....```````````````,';:.` .;;`                          
          ;      ,;''+'+++++';;:,,.,:,,,;''''''';;;,,,...,+..````````````.``. `:';::. `;:                           
          '      :;''''++''';;;::,,.+,;;;'''';,:::::,,,..::````.````````````.``;';;:,` ,:                           
          :     ;'''''''';';;::;;;:'+';;;;::,,,,,,,,....'````````````````..`` .;;;::.`.,                           
          ':    ;'''''''';;;,,:;;;:;+::,:::::::,,,,....,'``````````````````````;;;:,``:.                           
            +:   ;''''''';;;:,,..:::::+.,,:::::::,,.....'```````.```````````````::;:,`,:`                           
            ;+;:;''''''#;;;;,,.`.:,,:;';:::;:::::,,,..'.``````````````````````.::::,`:.                            
              `########+;;;;,..``,,:,:;'++;::;;;:::'++````````````````````````:::::,.,`                            
                ;''+++++;;;;:,.```.::,,:++++######+;:,..``````````````````````.::::,`,.                             
                ;''''+++;;;;;,.````,:,,,+++++++++';;,,,..`````````````````.`.`.:,``...`                             
              .;''''++';;';;:....``:::,++++++++''';::,..`````````````````.````.,```..                              
              :;''''+++''''':,,,,.,;;;'++++++++'''';::,...``````````````..````.,.````                              
              ;;'''++++''''';,,:'++++#++++++++++''';;::,..``````````````.```.``,.````                              
              ;''''+++++++++',,+++++++++++''++++++'';;:,,...```````````.````..`,..```                              
              ;'''++++''++'++;++++''''''++''+++++++'';;::,...``````````..```..`.,..`                               
              :'''+++'++++++++++++'''.+;;'++++++++++';;;::,...```````````...`,.`..``                               
              ,'''++++++++#++++++;;';,+;'+++++++++'''';,::,,...````````.`....:,....                                
              `''''++++++++++++++';;;:':;;;++++++++''';::,:,,...```````.`...`.::,,                                 
                ''''+++++++++++++++;';;';:;'+++#'++'';;;:,,:,,....``....`..,..`````                                 
                ''''+++++++++++''++++''';;;''+++;::;':,::,,,,,,..............``````                                 
                ''''+###+++++++++++++++++++++###'::;;;,,,,.,,,,.`...,..`.`.,,``````                                 
              `;;;'+#########################++',,';;,.,.,,:,,,...`,,..,....``````                                 
              .;;''+####+++++++++++';;''''''++++;;;.;,,..,,..,,,...,,,,,,..```````                                 
              ,;;''++#+++''++++'++''::;;;''''+++';'';,,.,,,:,,:,...,:,,,,.,.``````                                 
              .;''++++++'''''+'++''';;;:;;'''''+';'';:..,::,:,.,,,,:,,:,....``````                                 
              ,'''+'+++'''''''''''';:::,;;'''''++:;';:,,,:::::,:,::,.:,:,,.````````                                
              .;''+++++'''''''''';':::,;;;;''''++:;';;,,::;::,.::;,,,,,:,,.````````                                
                ;+''++++'''''''';;';::;,::,;;'''++;:'':,:;:;;:;,:,:.::,,:,..````````                                
                :'++###+''''''''':';:::,:;;;:;''++';';,::;'';;::::,:::,::,,````````.                                
                :++++#++''''''';;,;:,,,.,.::;;;'++''';;::''':,;;:;:;,:,;,,``````````                                
                :++++#++'''''''';;::,.....,;;;'';;::;;;;:'+;;:;;;;::::;;:,.`````````                                
                `;+#++++''''''';';:;:,,..,,;'';'+'':';;;;';;;;:;;;;::;;;;.``````````                                
                `.'+#++++''';';;';,:,,,,,,::;:'''''''::;:';;;::':;';';;:..``````````                                
              ` `'++##++''';':':;:;::,,:;;;'':;:'''';;:'';;,;::';'+'';,.````````````                               
                .;+#++++''''''''::;;:,::;':';''++'''';;'+'':;:;+'''';:,..```````````                               
                ``,+++++#'';'''''',:;::::;'';;'';+'+''';:+';;''''++;',:..```````.````                               
                `..'+++++++;'';:';;'',;;:';;;;';'+;+':';,'';'';+''';::..`````````````.     ,'+++''',                
                  ,+++++++++'++'';';+'';'':'';,+#'+';;':;';''''+'+':,,..``.```````````   ;++++++++++'               
                `,'+++#++'+++''+''+'''''+'''';;+';'+;;';;+++;'++'::,,.....```.```````..+++++++++++++;              
                  .+++##+++++++'#+'+'';+++';'+;'+'+'''''''++''+'';:,,,....```.```````:++++++++++++++++`             
                  `;++++#+###+#'#++##'+++++''''+++#;++;;;+++'++''::,,,...`````````.'++#+++++++++#++++++             
                  ;+#++++####+'#+###;+;+++'''+++++''';;'++'+'';;::,,..,.```````:+#####+++++++++##+++++`            
                    ++'+#++####'#++#++++#++#++'''#;++';'+#+';'';;::,,.,.```.`,'########+++++++#+###++++;            
                    ,''++#+##########+#+++;##'++'+''''''+++++'';::,,,:,....,'##########+++++++#######+++            
                    +++++####++####++##+#+#+#+''+;;''''+#+++'';:::::,..,:+######@#@@###++++#+#######+++            
                    ,+++######+#####+####'#+++;+'''''+++#++++';:,;;:,:;+#######@@@@###+++#+#++######+++`           
                    `::++#+#####+#'+#++##''#+'++'++';+;#++++'';:';;;'+#########@@@@##+++++#+++++#+##+++:           
                    `+,######+##+##'+##'#++++++'++++'+'+++++';:'''''#@@######@@@@##+##++++'+++++++++##++           
                      ,++#++##++###'##+'''++##+++++#+##++++++'''''''#@@######@@@@####+#++++'++'+'++++++++           
                    `;,;##+###+##'+#++++++#+#+'##+#+##++++++#+'''+@@########@######+##++'++++''+'+++++#+:          
                      `,:;#;++#+#'######++'++++#++####++++++#+++++@@@@##++####@######+##++++++'+''''''+++'          
                      ``.`.,:'##++######+#++'+####+++++++++++++++@@@@@@########@#############+++''+'+''+++`         
                          `. :;++#+#+#####+++####+++++++++++++++@@@@@@@@#@#@#@#################++++++'+'++;         
                            `.`;;;:,.;++++++++++++++++++++++++@@@@@@@@@@@@@@@###################++++++++''         
                              ``      '++++++++++++++++++++++@@@@@@@@@@@@@@@@###############+###+++++++++++'`      
                                      '+++++++++++++++++++++@@@@@@@@@@@@@@@@@@#@#######+###+++++++++++++++++++:    
                                      ;'+++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@#####+######+#++++++++++++++++++'  
                                      `''+++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@##+##########++++++++++++++++++++;
                                        ''++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@#######+++#####++++'++++++#++++++++
                                        '''++'''''''''++++@@@@@@@@@@@@@@@@@@@@@##########++++++####++++++++#++#+++++
                                        .''''''''''''''++@@@@@@@@@@@@@@@@@@@#@#######+###+++'+++++#+++++++++#+#+++++
                                        ''''''''''+++++@@@@@@@@@@@@@@#@@@########@##########+++++++++++++++##++++++
                                        #''''''''''+++#@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@####+++++++++++++##+++
                                      ##+'++'''++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++#@@@@##+++++++++++#++++
                                      `########@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#######+++++++#@@@##++'+++++++++++
                                      ;#######@@#@#@@#@@#@@@@@@@@@@@@@@@@@@@@@@@#########+#++++++##@@@###+'++++++#++
                                      #####@##@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@########+##++++++++++@@@@#++++++++++
                                    `+#+##@@###@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@############++++++++++++#@@@##+'+++##+
                                    +++#++++##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##############++++++++++++#@@@#++'++##
                                  +++++##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############+#+++++++++++++#@#@#+++#+
                                  +++###@@#@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@###############++++++++++++++++@#@#++#+
                                  ++++#@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@#@############++##+++++++++++++++++##@#+++
                                  +++#@+#@#@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@#@############+++++++++++++++++++++#+#@#++
                                `+'#@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###########+##+#++++++++++++++++++@'#@#+
                                ;++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############++###++++++++++++++++++@'#@#
                                +'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############+##++++++++++++++++++++#+#@
                                +#@@@@@@@@@@@@@@@#@@@@@@#@@@@@@@#@@@@@@@@###########+#######+++++++++++++++++++#++@
                                `+@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@@@@@#####################++++++++++++++++++++@++
                                ;#@@@@@@@@@@@@@@@@@@@@@@##@@@@###@@@@@@##@############++##+##+++++++++++++++++++++++
                                +#@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@##@##@###################++++++++++++++++++++#'
                                ##@@@@@@@@@@@@@@@@@@@#@@@##@##@@@@@@@#@##@#@##################+++++++++++++++++++++@
                                #++@@@@@@@@@@@@@@@@@@@@##@@#@@@@@@@@#@##@######################+++++++++++++++++++++
                              ,#:##@@@@@@#@@@@@@@@@@@@@###@@@@#@@@#####@@@###################++++++++++++++++++++++
                              '#,##@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@####@@@@@@@##################+++++++++++++++++++++
                              #+;##@@@@@#@@@@@@@@@@@@###@@@@#@@@####@@@#@@@@##################+++++++++++++++++++++
                              #''##@@@@#@@@@@@@@@@@@@#@@@@@@@@@####@@@##@@@@##################+++++++++++++++++++++
                              `#:###@@@#@@@@@@@@@@@@@##@@@@@#@@####@@@##@@@@@@################++++++++++++++++++++++
                              ;#:@##@@@@@@@@@@@@@@@@@###@@@@@@##@@@@@##@@@@@@##################+++++++++++++++++++++
                              +++@#@@#@@@@@@@@@@@@@@@#@@@@@@@###@@@@#@@@@@@@@@#################+++++++++++++++++++++
                              #'#@###@@@@@@@@@@@@@@###@@@@@@@#@@@@@#@@@@@@@@@@@#################++++++++++++++++++++
                              #+@###@@@@@@@@#@@@@@@@@#@@@@@@##@@@@@@@@@@@@@@@@@################+++++++++++++++++++++
                            `@#@##@@@@@@@@@@@@@@@##@#@@@@@##@@@@@@@@@@@@@@@@@@@###############++##+++++++++++++++++
                            :@#@##@@@@@@@@@@@@@@#@@@#@@@@@#@@@@@@@@@@@@@@@@@@@#####################++++++++++++++++
                            +#@@#@@@@@@@@@@@@#@@@@@@#@@@@#@@@@@@@@@@@@@@@@@@@@##@##################++++++++++++++++