References

Home >
Reference Materials - My Maugham Collection
Reference Materials - My Maugham Collection
Photo from Strictly Personal

On this page you will find some ongoing projects that I have. At the moment I am collecting performances of W. Somerset Maugham's plays, poems that Maugham mentions in his works, and locating editions (both in English and in foreign languages) of Of Human Bondage and his impressionist and modern paintings collection.


Editions of Of Human Bondage

Mauresque - W. Somerset Maugham's Impressionist and Modern Paintings Collection

Performances of W. Somerset Maugham's Plays

Poetry Referenced by W. Somerset Maugham

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