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