The Constant Wife – "A Piece of Music" – Alan Stanford

Home > Blog


Guerin, Harry. "Alan Stanford: The Constant Life." RTE, 14 Jul. 2016. Web. 14 Jul. 2016.

"a brilliant comedy depicting the infinite ingenuity by which women control their world."

"It's the most beautifully composed script. It's like a piece of music and yet it never sounds that way. Maugham was a genius novelist and a genius user of language. He also understood theatre very brilliantly, in that he manages to set up all the information you need to know without letting you know that he's just filling your mind with facts. It's all done with beautiful dialogue; it's all done with wonderful characters."

As you can see from one of my ongoing projects: Performances of Maugham's Plays, Maugham's plays have been produced quite regularly. Now The Constant Wife is showing in Dublin, and recently in an interview the director Alan Stanford commented on Maugham in the above quote.

Beautiful comments that deserve to be recorded!

Unfortunately, I still haven't had the opportunity to go to a Maugham play. Hopefully one day I will be able to!



Directed by Alan Stanford
Set Design by Eileen Diss
Costume Design by Peter O’Brien
Lighting Design by Davy Cunningham
Cast includes:
Peter Gaynor
Belinda Lang
Tara Egan Langley
Ruth McGill
Conor Mullen
Rachel O’Byrne
Simon O’Gorman
Caoimhe O’Malley
Karl O’Neill
                                                                                                 
                                                                                                                                                                    
                                                                                                                ......,'++'`                                       
                                                                                                             `,;;+'';;+;:,..;;+:`                                    
                                                                                                           `;++###'#@#@###+';;'+:.                                   
                                                                                                        `.,''++#####@########+++'+''':`                                 
                                                                                                        ,'+###########+;';;;;;;;+#++''+';:,                              
                                                                                                       .:+#+++###+++'+'+';';:::::;::''#+';'';,                            
                                                                                                      :+@@#@++#+'+++'+'';;;::,,,,:::'+#++::;',`                          
                                                                                                     .+#@+#++#++''+#+#::;:;;;;''+'::+##++';;';.                          
                                                                                                    `+#+##;''';'+''+#++'''+'''+'++#++##@#@#+#++,                         
                                                                                                   '###+;'''';''''++#+'''++'+''++######+##+++#+.                        
                                                                                                  `###@''';;::;'+;++'+'''+#++''';'#+###+####'++',                       
                                                                                                 `;###+';;;:::''''+++##'++#+++##+'+######@##+@#';,`                     
                                                                                                 ;#+##;::,:,:.:'''+##@#+'+'+''+++++#+##@#####++''':`                    
                                                                                                ,+##;;,:...,.,:;++@'+#++'''+''''++###@###@+###+++':.`                   
                                                                                                :+';;,.,..,.,.,;++++#@+++###++++++++##@##+####+++'':,`                  
                                                                                              .;,:,.,.....,,:,'#+#+#+++++++#+'+'+++##@###@@####''';:,                  
                                                                                               ::::,,,,,,,..,;;'+++++##@++++++#+++++#####@##+@++++;';;:                 
                                                                                             `;:,,:,,,.:,..,:;''+######++'+++++'+#+#@######++++++''':'`                
                                                                                            ,,,,,:.,,,.,,.,:'#++########@##+#####+##############++;'':                
                                                                                           `;::,,:,,,,,,.,:;;+++#####+'+++'+''+##+###############+;'+;`               
                                                                                           .:,:,,,,..,,,,,,;''++##@#@####+'+''''++#+######+######++'':,               
                                                                                           ,::;;,:;;:,::.,,:''++##@#@###+@#+'';;:::;########+##++#+;:;,               
                                                                                          `;++;;,:':;,:,.....;';####+#+##+'''++;:;;;#+####+#+####+;;;:'               
                                                                                         .;'#+;;;;':,,,,,,.:''##+##@####'+++';;,,'+#@+@#######+@#+;:'',              
                                                                                         :'++';;:::,.,,,,,.,;;#+##+@+#####+:;;::,;'@########@+#+#++';;:              
                                                                                        `:''';,::;;::,:,,,,,,;''++#;'+'#++++;:;''+'##@############+;+';`             
                                                                                        ,;;';;:,,:;;:,,`....,:;''+#@##+##;,';'+++++###+'+#####+#++##;;',             
                                                                                        ;,:::::::::::;..,,.,:,:;''##@##+++';;+'@+##+######+@####+#+#+'',             
                                                                                        ,.:;';::,;:;:,.....,,,:;:'#++####@;';'+''+@@@##@@#####+###++#+':             
                                                                                        `,.:';;:::,;:,,,,,.....,::'+#+++##+;;;:;;;+++####@########+#+##+;             
                                                                                        :,::;;;:,,.:,:,..,```.,.,;''+++'+++;+;';,.;;+#@####@####+@#####+'             
                                                                                        :.,;::::,,,,::..`.`.```,.:;'+++++'';'';.....,+++###@#@####@###+++             
                                                                                        :,:::;;:,,.,:,...,...`.`:,;++##''++';,.,.,:;..'##@###########+#++             
                                                                                        .;;:'#';;:,.,,,,:....````:;;;'##+#++;;,,,;;'';::+###@######@#++++'             
                                                                                        :::;''';:;:,,:,,:.`.,,`..:.,,:+###+++',;''.:;+;.++@@@######@###+++             
                                                                                         ':';,,;'''::.,,,,,,.,..,,,:,::@@@@###++#++;.:::.+###@@@#########+;             
                                                                                         `;,.,...:';::,,,::,..,:,:.,,:'##+#+#@#'+++'.`.;.+####@#######+++#'             
                                                                                          .;,.`;@#.,;;,,,::,,,...:...::++'+'#@@+#'+#.,,:,+##@@########@+##;             
                                                                                          .',:,+##++@#+':;,,,...,,...,:#+;''++++@#++,..::'++@##+######++++:             
                                                                                           .:,''++++'''+'';:::,...,...,:''::::;,,'##+;..,.;+###@######@@###;             
                                                                                           ,,;:'+'::;;';;;;::::.:,,,,.,::,,,,,,,,.;++,....+'+######+#######;             
                                                                                           .::,:'+;';;;;::,::::,::::,,,;;:,,,,;:,,,:+;....'+##@##++#+#'####'             
                                                                                           ..:;:.';;':;:;;;:::::::;;:,,,,:::,,::;;::;':..,,;'##@#++#+#+#####;             
                                                                                             .,::,::;:;:::'::,;;;::,,,,,;,,;::::,;'+'#++,.,..:;+'#+''+++@##+#'              
                                                                                            :,,:,..;;:::::::;:;:':;:,,.,.,:;;:,::;;;;;';``..,:;;;''''++######+              
                                                                                            .;,;:.,,;';':;'+;'';;;;,,,.`..,:';;,,::;:,:..,.`..,,.,;;++'#####+++              
                                                                                           ,,,::...:';;:;'++';,:::,......,,;;,,,::;:,.......,,,,,;'++#+#+##++':`            
                                                                                         `:.:::.,,::;'';'+;';:,::,.,.,...:::,..,:;,.......`..,:,:'+++++#++++'+;`           
                                                                                          .,,,;;;';:::::::;:;;...,,,.`..,..,....,.;,,,..,...,,..`,:''+'####+++#@,           
                                                                                         .:,,,::;':,::,,.,;::...,,,.....,....,.,,;':..,....,,,,,,,:'+'+####@@@#+`          
                                                                                         .:::;;;::;,,,...,:,,...`:,,,`..........,.,,,...:,,...,.,:,;##+#++++####'          
                                                                                          :;::;':,:'....,..;:,.,.,,.```...`..`,..,..,,....,,,,...,,,,'##+#######++.         
                                                                                          ;''+#@++;',:::,`,,:....,,,`.,....`.``,.';:..,...,,,,....`:.::+#@#'+#####;         
                                                                                          `:'+#@+''+,,,,.....,.,..,..,........`.:';',,,.:,..:,...`....:+#@.+####+##:        
                                                                                            .:##+++:,:,,.`,.,,...`,,,.`..`.,,`,:'';..,:,...,,.`.``..,:;';+#+++#@##';       
                                                                                              ,;;'';,,.,.:`.,,,.;,,,..`.,...;:;'+#,,,,,:.......`.,,,,,:::@+###+@#+;',      
                                                                                             `;::''::.,,:..,,:,'..,,.,.;:'+++''+',,,,,,,,.,,.....,.,,,,++###@#@+#+'':     
                                                                                            :;;';;:,,::.`,,,;,:.,,,:,;;'##+';;;,,,,,::,,,,:,......,,+#####+'#@#++'''`   
                                                                                           `''+;;;,..`,,.:;:;..,...:.`::''':::....,,':,,:,,,,.,,..,+@##+##@#@##+++#+'.  
                                                                                          .#;:,,::,`.`,`.,:,....,;;.`.,;;',;:,..`.,+:,,,,:.`.,.,`;#####+##@@#++++'+';:`
                                                                                           ;'''#:......`,,:,`.,,,:,.`.;;;';:,.,...,':,:,.,.,..`.,#@@+'########++#:;;+#'
                                                                                           .::;',,.........,::;;;;;'+''''';...,..,::,,.,.:,....;@##'#######@++;+'';:+'+
                                                                                           `:':,,,,.,.,,.,,::::;;,:;';'+';:,......,,,,...,,..,:++########+##+++++';'''+
                                                                                            +;,.,,,.,.,.,.,,,:;;::;'#';;;:,,.,,,;:,..,,...,,.:#####++##@#@#++'++#++++++
                                                                                            +,,,,,,,,..,,,.,,::,.,:'++';;:,,,:;';:,,,:,,,,,,,######@##++######+#####+'+
                                                                                           .+,.,,:,,,,,,.,.,,,,.,.,'#+';,:,.,:';,,.:,,,:,..:'#########+#+;+############
                                                                                           ;,,,,:::::,,.`......,::;;'':...,.,,;::,,..,:,..`;+#++#+'+#+###+'###@@#+@+''+
                                                                                          ,;:;;::';;:,,..,..;;,,:::;#+,`..,,,::::,:..,....+#++##++++############+'+';'#
                                                                                         ,.;';::;''';;.....,,:,,,,:;':``....:.::;:,..,...+@'+'++#++'++###+@#@##+''';'+#
                                                                                        ;:.'+;;;+;'++':,,,:,,:,,,,,';:,,.,,,,:,,:,.,.`..'+#+#'++######+#############@#+
                                                                                       :;,:'++';;''+':;;:::,,,:,.:,::,,,,,:,::.,,,.,...'+++'@#++'#######+#@########+##+
                                                                                       ;:,:''+#+;'+';:';:;::::::;,::,.,..::::,,:,.,.,.++###+''#++#################@####
                                                                                       :,,,;++++'+++';;;:;;;'+;';:::,:,.,:;,::,,::.,.+##+@++''##++##+###########+####+#
                                                                                       ,,,,:'++;;+'+'''::;;;;;:';;;:''..:;,:.:,..:,.+#######+##+#++''#######++####++#++
                                                                                       ,,;,''@#+';'+++'':,:,.,;;;:.,:';;;;:.``,.,..#+###@@++++###########@####+###+@##+
                                                                                       ..,,:;+++#;''#+''.`..``.::,,:;#'';;:..,.,`.+@#@@##+#@#+##+###+#######++###@@@@@+
                                                                                      `,:::::;'+''''+:;:,...,,,,+;';++;''':;.,...++#@@#@#@+#++#@+#+###@##########@@@###
                                                                                      :::.:,,;''':';'::::,::,.,:;':;'+;;;';,...,'##@##+##@#@@##+#####@################+
                                                                                     .',,:;.,;;';:';':;;:;;,,,;';;;;,'''';.,..,'####@++#+@@##@#####+#++#####@@#@##+'++#
                                                                                     .',,,,,,,;;;;;';;;;;;::::;;+'++:';;:,,:.,;++##@#+#@#@###++++#+#+###+#####+#@++''++
                                                                                     .+,.:..:,:;;;;;;;+';;:;:,'++++++'',,,,,,;@###+###+#####+#+############+##+#+#++';+
                                                                                     .',,,.,,.,:;;;;+''';;:';:''+#++'''.,,,,,######+@@+@#@@###@#+#@#+@#####+++###+#;'++
                                                                                     :;,..`,,.``,::;;++':;'';@#+'##@'#,.,..,++#++++##@#######+#@######+##+#+##++++#+'+'
                                                                                     ;:,....,..,:::,';';:;++':+'+#'+++.,,,,:#+#+@@##@@#+###@@#########@#+'+#++#++##+'''
                                                                                     ;,..,,...,.:;;::;;:;'+@++'+#+##++..,,.+'#+@'##+@@#@#++@#@@@@###@####++'+#@#+++';;'
                                                                                    .',,,.......::'';''''####+++#++##;..,,;#####+###+###'####++#######@'##'++#+++++++''
                                                                                    .;,,,.`.....,:::;'':+##'''##+#@++;...:##+###+############+#@###+###+#+++#++'+++++++
                                                                                    .'::.`.....,,::,,,,:'+',.+#+'##+#'...'###+##+###+#@@#####+###########+''+#+++#++';+
                                                                                    :+':,,,,,......,..,.,+++###+###+#'.,:#####+####'##++#####+######+###+#++'+++#++#+'+
                                                                                   .'..,..,.............,++#++;+#+#@#+::##@#+##++#''+'###''++#######+'+++';:;++#####+#+
                                                                                 ,+,,..:,,..,......,....,+#+#+####+,#@;.++##@@#####;+'+'+#++###+###+++;+#';+'+#+###@#++
                                                                                 +:,,,:.,.....,,,`,,...`.+##++''##+@##;'+#####@####'##++++;;'##+'++++#+###+;+++######++
                                                                                 ,,::,:,,,....,:'++#@@'++@##+#+@++#########@@#@##+'+';'#+++####+##+##++###++++#+'@@####
                                                                                 ,:,..,,.,:;+#+#+####+###++#+#++####+##+'#@##++##++'++#@#+####+#####+####++#+#+##@###+#
                                                                                .,,,,.'+++#+###+####+#######++++++##@##'+#+###'###+'+;+++#++++++####+######@#+###@@@+#+
                                                                                ,,,:+##@##++##++##+#++#++###+###+###++@#+###+++###+';;;+'+++'++++###########@++##@+###+
                                                                               ,#+#####+@++##@###+#+'+++###+#+#+#+++#+####+##'#####+::';#+#++##++######+++##@#+#####@#+
                                                                              .##@@#@#++###@###+'+#++###+++###++###+:#+++#'#@###+@@';;+;++'###@#++++############@#@##@+
                                                                            `.+@#######@@@#@#++'#'###++##+'++#+##;++:'#+#+#@###+##@+';'''++##@+#++##+@##+##+#+++#@@+##+
                                                                         `,##@@##@#@##@@##+;++#+#+'+#++###++++##++';'##++#++@@+''##+#:+++##+##'++###@###++###+##@@@#@#+
                                                                       .'##@@#@#@##@@#@@#+++#+###+#+##'##++##++'#+++#,@@++#;#++'++##+#'+##+#+###'+######+####++#+#+###+
                                                                       ;#+#+##@@@@+#@#@+#####;++##'+###+#####+++'#+#####+++##+##+########+####++##+#+######+'++###+++##
                                                                       ;#+##+@##@@#@@@#@######+@##+###+#+##++##++#+##+++####+++#########+#+###+#++#+#+##@#+'+#+#+##+++'
                                                                       ,#+###@@####'##'+##+'+##+####@@##+#+##+#+'#+##++#+###@@#######@@##+######+++++##++++++++#+##++++
                                                                       `+###'#@#@#@@+##+++@#++##++###++#####+#+####+#++####@@####@#+####+#+#@@#+#+####+#+##++'#'+''+#+#
                                                                        +##@#####@@@##+##+#@##++++#+###++#++#+#+#########+#@####@@#@+@##+@+#@#++#+#@@@#+#####+++++###++
                                                                        ,#####@@@#####@###@@#++#####+'###+##+#++##+##+#++###@@###@####@##+++#++#'#+###@+#####@'++#####+
                                                                        `#@@#@@@@@@##+#+###+#++#+####+##++'+++##+#+#@+'++#####+:##+@###++#++#+#+#++#+#@@#######++######
                                                                         +##+##@@#####@#####+#++#####+#+'+#+++#++##+###++####;+###+#+#+++#', # +++ + '#####+#++#+#+#++#
                                                                         '#@##@#@#+##@#+#+#########@####++##+###+++++'#+'#+#+'#####+###++##  +`#++.#  ++'++#'###++#+##+
                                                                         ;###@#@@##@#@#########++######+##+#+##+#++'+#+++##+#########+';++`  ####++#  #+'+++++++#+++++#
                                                                         +###@@#####@##@####@####+#####++#+###+##+++@#'+##@'#####+###+#+++`  #@+++'#  ##+####+##+#++###
                                                                         '#####@@#@@#####+#+#@'#+#######+##+###+++##+@#+#++',+########+++#'  ++. ###  @#@###@'##+#++##+
                                                                         '@###@#@@@'###+#+####+++#+##@##+#######+'+##;####@##+'+#;#@####'#+` ';;##++ ##+##+#+##+@+#####
                                                                         ;######@@@##+#+#+'+##+#+##+####++#@+##++#++#+##+##@+'++++#+#####+#+;,+'++++###+###+##+########
                                                                         '+#####@#####################@+##+#++#'+#+##+###+@@#+#'#++###++#'#++##++##++##++#########+++++
                                                                         '###+#@###@######+#'####+##@##++##+####+#+#+#########+#+######+#++ ' # :  . #######++#+#####+#
                                                                         :#++@#@@#@@#######+++##+++#+#########+###+#+#+###+#+##+++##@##++'+.#.#.#.:+.#######++######+##
                                                                         :#+#@#@@#######+####+####+###+++#######++##+###@##+##+####+@##   `##+###++#++    ####+#@#####+
                                                                         ;######@@#@###@####@#+#+###+#+#+#+++++;+##+;##@##+'';+##+'#@#@@##+##+##+#+##+###+####@###+#++#
                                                                         '###@####@@##@#@++####+######++++++@#'#########+##'+#'++#+#@##+###@###+#+#+#+#####+##+###+####
                                                                         '###@@#@##@@##@#+#++++####+#'++'####++##+##''+#++++###++##@#@#+#@#@#+++#+#########+#####+'++++
                                                                         :##+@@#####+#+'++####+####++++#+##+'+##++#+#++#;++#++###@#####@#+#@##@########@@+###++#+###+#+
                                                                         ,###+##@@@####+'+##++#+++##+'+#+'+'';+##+++#+'++@';##+++###+@###+#+##+##+#######+###+++#######
                                                                         .#@##@###+@@##@++##+#++++###+##'+#:++++'+##+#+++#@###+##'#@##+#@@@@@##++############++###@####
                                                                          '####@@#####+###+#++##+######+++#++#+'++#+###'++#+++######+###@@+#@+##############@######@###
                                                                      `   '#++############+'+#####+###++####++++';'+#+''+++#'@#++#+######'#+#####+####+##@###@########+
                                                                      ,` `#@#####@#+#+++##+++#######+#+#@##++'#'#::##+++++++##++#+#@##########+####@++#####@######@#+##
                                                                      ,,,;+###@#######'+++#++#######+++#++#'#+##+.+##@++##+'#+#++###'###++##++####+#######'############
'#+#'#+#+#'#+########'#####'#+#+@#####+#'#'#+######@##@+@+@+@#@###+@+@+@#@#@@#@+@+@#@#@#@#@@#####@+@#@+##@#@#@@#@@#+@#@@@@##'#+@#@@+@#@#@#@@@@#@#@#@@@@@@@@#@#@#@@@@@@@
@#@+@#@#@'@#@@#@#@@#'###+#+###+#######@+#+#'##@#@###@#,@+@#######+#+@+@@@#@##@#@#@@@@@#@@#@#@#@#@#@+@#@#@#@@@@#@#@+@@@@#@#@#@#@#@#+@#@#@@@##@###@#@@##@@#@#@#@##@#@@@#@
'@+#'#+#+##@#@###+#;#+@##+#+@###@@@@+@+#+@+@#@#@#@@@@#@;@#@#@@#@#@+##@@#@#@+@#@@@@#@#@#@#@+@+@##+@#@#@#@@@@###@+@#@@@@#@+@+@#@@@@+##@###@@#@#@#@@@@#@@@#@#@@@@@@@@@@@@@
#+##@+@+@#@#@#@@@@@##@#@#@#@#@#@#@@@@#@#@#@#@#@@@@@@@@#@#@@@@@@#@#@#@@@@#@+@#@@@@#@#@#@#@#@#@#@#@#@#@@@@#@#@#@#@@@#@@#@#@#@#@@@@@@#@@@@@@#@#@#@@@@@@@@@@@@#@@@@@@#@@@@@
##+#;@+@+#'@#@#@#@@###@@@@@+@#@+@@@@#@+@#@#@#@#@@@@#@+@+@#@#@@+@#@#@#@@+@+@+@@@@+@+@#+;++@+@#@#@#@#@@@#@@+@#@+@#@@@@#@+@#@#@@@@@@#@@@@###@+##@@#@#@#@#@@@#@@#@#@#@#@#@@
#+#+@+#+@'@+@+@@@#@@@@####+@##+#@###@#@+@#@#@#@@@@#@+@+@#@##@#@#@+@#@@#@#@+@#@#@@#@##.,,#+@+@+@+@#@#@#@@#@#@+@+##@@@@#@+@#@#@@###@#@@#@#@#@#@#@@+@#@@@#@@@@@@@@#@#@#@@@
'@+#'@+#+#+##@#+@#@'#+##@##+@+#+##+#'###'#+##@###+#+#:@+@#@#@#+#'#+@#@#+@##+@#@@#@#@+;,,'#+@#@;@#@#@#@@@@#@+@+##@#@@+@+@###@@###@#@@###@+##@#@@###@#@@#@@#@##@#@#@@@@@@
@+#+#'@+#+#+@###@@###@#@###@##+@###+@#@+#+@+@##@#@##+@+@#@@@@##+@#@#@@###@+@#@@#@#@#,,,,++@+@#@+##@@@#@@#@#@+@+@@###@+@#@#@@#@#@+@@@@#@#@#@#@#@@#@#@@@#@@@@#@#@@@@@@@@@
+#+#'@+@+@+@#@@+@#@##+@###@#@#@#@@@#+@#@#@#@##@+@+##@'@#@#@#@@+#+@#@#@##@#@#@@@@+@#@',::;#+@#@#@#@#@#@@#@+@#@#@#@#@@+@#@#@@@@#@#@#@@@@@@#@#@#@@@@#@#@@@@@@@##@@@#@@@@@@
#+#+#####+####'#+#+#+#+#+#+@###@###'##@###@#@@#@#@#@+@#@#@@#@#@#@#@@@@#@#@#@@@@@@#@@:,:,'#@#@#@#@@@@@##@+@+@#@#@@@@#@#@#@#@@#@+@#@#@@#@##+@@@@@@+@#@@@@@@@@#@#@@@@@@@@@
####+##+#####'#'@+#'#;#'#+######+#+#+##########+@'@+#'@@@###+#+@#@###+@+@#@@@@#@+@#@,:,:'@#@#@@@@@@@@#@#@#@@@#@#@@#@#@#@@@@#@+@#@@@@#@#@#@@@@@@#@@@#@@@@#@##@@#@@@@@@@@
@###@#+#'#@###;###+@+@+@+@+@#####+@+@@#@###@+@#@+@+@#@@@@@@+#+##@@##+@+@##,,:##+#+@#:,:,+#@@#@@@@';:##+##@#@#@#@@@@#@#@#@@#@#@#@#@@+@###@@@@#@#@#@@@@@@#@#@#@@@@@@@@@@@
#@@@##@#@@@#@+@#@#@+@#@#@#@##@#@#@+@##@#@+##@#@#@#@#@#@@@@#@+@#@@@@#@#@#@.,.:.'#+@@@,:,;'@@@@#@':;:;;#@#@#@@@@@@#@@@#@@@@#@+@#@#@#@#+@#@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@
+#+###+#'@#@+#+@#@#@+@###@###'#'#'@#@#+#+###+#'@#@#@##@@@##+##@#+#+@#@+@@',:,,..;#@@:,;:##@@#;;,::;.'#+@#@#@@#@###@+@@@@#@#@#@@@@#@#@@#@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@
#+#+#'#+##@.#+@#+###########+#+#+#+##+#+#+#'#+#+###@##+#+@'##@###+@+@+####;,,,,,.;'#,;,;;#@':,::::`:#+@#@##@####+@+#@@@##+@#@@@##@###@@@@#@#@#@@@@#@#@#@@@#@@#@#@#@@@@@
'#+@+@'#'###+##@###@#@@###@#@+@#@#@#@@+@+##@#@+@@@##@+@+@+@##@+#+@#@#@@####';,,,,,;';:::+#:::;,,`,'#+####+#'#+#+@+#+##+#+@#@#@#+#+@#@@@@#@+@#@@@##@###@#@@@@#@##@@@@@@@
@+@##'@+@##+@+@###@#@@#@#@##+@#@#@@@@#@###@#@#@@@##@+@#@+@#@##@+#+@#@#@@@@+@+#,:,::+:::,#,:,;..:#+@#@@@@#@+@+@+#+@##@##+@#@#@@#@#@#@@@@@##@#@@@@###@#@@@@@@@#@@@@@@@@@@
+#+#+#'#+#'#+###+'#+#+###'+'++######+#+#+##@+####+#+@+@+@#@##@+@+@#@@####+@#@#@':,:';,,:+;,:.;+@####@##+#+#+@###@#####+@@@@#@#@#@#@@@@###@#@@@@@##@#@#@#@@@@#@#@#@@@@@@
@#@#@+@#@+@#@##@'##@##'#+#+######@#+#;@+########+#'#'#+@+@###'#+##@#####+@#@##@##::':,:,',:,+@##@@@@+@+#+@+@#@#@@##@#+##@@#@##'@#@#@@#@+#+@#@@##+#+####@@##@##@#@@@@@@@
+##@+#+@#@+@#####+@#@+@+#+#+##@@###@+@#@#@##@+##@+@+#+@#@##@+##@@#@##+@###@@##@@##+#,,::',;###@#@###@##+@###@#@@@@@@+##@@@@@@#@#@@@@@@#@#@#@@@@#@@@@@@@@@@#@#@@@@@@@@@@
##@#@+@#@#@#@@#@+##@##+#+##@#@##@###@+@#@####@#@+@#@+@#@#@@+@+@#@@#@+@#@+@#@@@@#@#+',,::#,;#@##@@@@@#@+@+@#@@@@@@#####@#@@#@#@#@@@@@##@#@#@@@##@#@#@#@#@#@@##@@#@@@@@@@
##+#+#####+@#+#+#+#+#+#'#'#+##+#'#'#;+#####+#'#:#+@+###@@@##+@#@#+###+@#@@@##@#@+:.'.;,;;;,;##@#@###@#@#@@@@@@@@#####@@#@#@###@#@@#@#@##@@@@#####@@@@@###@###@@@@@@#@@@
@#@#@+#########@+#'#'#;#+####@#+@+#+@+@@@@#@#@#@+@+@#@@@@@@#@@@@@@#@#@#@#@@#@#@#:,:,::;:#,;:;#+####@#@#@#@#@@@@@@+###@@@#@#@#@#@@@@@##@#@@@@###@#@@@@@##@##+@@@@@@@@@@@
#@#@#@######@+#+@+@#@+######@###+#'#+#+'''''';';'''''+++#@#@#@@@#+@#@#@#@@@@#@#,,,,:.::'#::;::'#@+@##+##@@#@#@#@#@###@@#@;@#@+'''''';''''''+@#@###@@@###'''''@@@@@@#@@@
+###+#+#+#+#'#+#####+######+#+#'#;'''';';';''';'''''''''''';+##########@#@##@#.,,.,;::::+';:;,.++#+@+##@@@#@@###@#@+@#@###'''''''''''''''''''''#@@@#@#@'''+''@@@#@##@@@
@######+@+@+@+@+##@#@#@#@##@#+''''''''''';''';';'''''''''''''':'#+@#@#@@@@#@#,,,,.#@,;:;'##;::::'#####@@@@@@#@#@#@@##@@#'''''''''''''''''''''''''+@#@#''''+++@@@#@#@@@@
#@@#####+##@#@#@#@#@#@#@@###';';';'''';';''''';'''''''''''''':;,;'#@#@@@@#@',,.,,+#@::;;####;:,::'#@#@@@@@#@@@;+##@#@@'''''''''''''''''''''''''''''+@'''''+'+#@@@@@@@@@
#########+#+#+@+@#@#@#@#@#'''';';'''''';';''''';'''''''';''';::,,:''####+@;,,,,,#@##,:::#####:;::;'@@@@####@@,,:###@#''''''''''''''''+++'''''''++''''''''++'+#@#@@@@@@@
##+##@+#+@##+@##########'''''''''''''';'''''''''''''''''''''':,,,,:''@@@@',.,.:#@@#@,,:;###@#@;;:::'@#@#@#@#:,:;:+#'''''''''''''''##@@@@@@+''+''''''''''''+'@#@@@@@@@@@
##+#@+####@'@#@#@##@@@+'''''''''''''''''''''''''''''''''''''';:,:,::''#@+,.,.:#@@###,,,;@#@#@##:':;;;@#@#@+,,::,,@'''''''''''''''##@@@@@##@#++'+'''''''''''@@#@@@@@@@@@
##+@####+###@#@@@####'';''''''''''+''''''''''''''''''''''##'''';,:::,'';,,,.;#@@#@#@,,,;#@#@#@@@'':;:+@#@;,,;:.'#+'''''''''''''+#@@@@@@@@@@#@#''''''''''''##@#@@@@@@@@@
#+#############@##'#'''';''''''####+#;'''''''''''''''''@@@@@@+''',,,::;,:..:#@@@@@#@,,.'@@@#@###@:;:::##,,,,,:#@+'''''''''''''+#@@#@@@#@@@##@@+''''''''+''#@#@@@@@@@@@@
#@#@@@#@#@@@@@#@@#+'''''''''''@@####+@'''''''''''''''''#@@@@#@+''':;:::::,:#@#@@#@#@::,;#@@@#####@;:,;::,,:,##@'''''''''''''''##@#@@@@@@#@@@@@@''''''''''+#@@@@@@@#@#@@
@@@##@@@@@##@#####'''''''''''######+##''''''''''''''''@#@@@@@#@'''':::,,,:'@@@@@@#@@:,:;@@@@#####@#:,:;:,:,+#@'''''''''''''''@#@@@@@@@@##@@@@#@#'''''''+'#@@#@@@@#@#@@@
#@#@#@@#####@##+#''''''''''''@##+#+##@''''''''''''''''@#@@@####@''''::,,:'''@@#@#@@@::,.#########@@@.,,,:'@@#+''''''''''''''+@@@@@@@@#@@@@@@@###'''''''''#@@@@@@@@#@@@@
##@@+#+##@##+#+#''''''''''''###'###+@#''''''''''''''''@@@#####@@@''::,,,''''+@##@@@#',;,##@#@#@@@@@@@,,,:'#@''''''''''''''''##@@@@@@#@#@@@@@@#@@#'+'+''''@@@@@@@@@@@@@@
##@@###@#######+''''''''''''@########@''''''''''''''''@@@#@##@@@@':::,,;'''''#@@@@@@.:.:+#@@#@@@@##@@+,:::#+''''''''''''''''#@##@##+##@#@@#@#####''''''''#@@@@#@###@@@@
@#@####@######+''''''''''''##@###@@###''''''''''''''''#@##+##@@@@',,,,''''''''@@@@@#,,::##@#@#@@#@@@#@':,:,''''''''''''''''+@@@@#@#@#@@@@#@#@+@@@#'+'''''@@#@#@#@#@@@@@
@#@####@#####@'''''''''''''#@###@@@@#@''''''''''''''''@@@##@@@#@@,,,:'''''''''@@@@@@.,,:##@###@###@@@#@;:.,:'''''''''';''''@@@@#@#@#@@@@#@#@#@@@@#'''''''@@@@@#@@@@@@@@
######@##@#@#@'''''''''''''@####@#@#@#''''''''''''''''####@@@#@#,.:,;'''''''''@@@#@#:,:,#@@@@@#@#@@@#@#@,:,:;''''''''''''''@@@#@#@#@#@@#@#@#@@@@#@'+'+'''@@#@#@#@@@@@@@
@##@#@@@@#@##'''''''''''''+@#####@@@@#+'''''''''''''''#@@@#@#@#'.:,:'''''''''''##@@@:,:;##@#@###@+@#@#@##,,,:''''''''''''''#@+@+@#@#@@#@#@#@#@@#@#'''''''##@#@###@#@@@@
#@###@####+#''''';';'''''''+@+@#@#@@@@'''''''''''''''+@#@@@#@##,',,';'''''''''''@#@@:,,'+#+@+#+@#@#@#@+@#'::::';';''''''''#@###@###@@#@+@+@@@##@#@'+'''''#####@#@#@@@@@
#@@@#@##@#@#';''''''''''''@#+##@+@#@#@'''''''''''''''#@@@@#@#@+',,;;'''''''''''''@@@:,,;#+@#@+@#@#@#@#@@@#::::;';'''''''';#+#'#+@##@##+#####@#@#@#'''''''++@@#@@@@@#@@@
###+########'':''''''';'''+######;#'##''''''''''':,';@#@#@@#@+##,;'';''''''''''''#@@;,:'+###+@#@#@#@#@#@@'':,:,'''''''''''@@#@#@@@@#@#@#@#@@#@#@@@'''++''#@#@@@@@@#@#@@
#@#@+@#####'''''''''''''';+#@##@##+@+@''''''''''',,,:+@@@@#@+,+#.#''';'''''''''''@@@,;,'#+@+#+@+@#@+@#@#@'';::::;''''''''':;#+@##@#@#@+@@@@#@#@@@@#''+'''@@@@@@#@#@#@@@
#@@+##@##@#''';'''''''''''#@@###@+@+@#'''''';';',,,,,.'##@@+..:`+#;';'''''''';''''@@;,,+'#+@+@+##@+#+@+##'''::,,;;'''''';:.,'##@@#@#@+@@@@#@#@#@@@@'+'+'+#@@#@#@+@#@#@@
@##@+@#+@+@;''''''''''''''@####@+@#@#@+'';';''''',,,:.;,+#+:.,.:++'''''''''';';'''@#..,;#+@+@+@#@#@#@#@#+''';:,:.''''':::,:,;'@##@+@'##@@##+@+#@#@#''';''+@+######@#@@@
+##+@#+#+#;''';'''''''''''+###@##+@#@@'''';';';''';:,:,;.:@...,###;';'''''''';';''@@,,,''#+###+##@#@+##@'''''::,,:'':,,,,,.,'###@#@+#+@@#@#@#@#@@@#'''''''@@###@#@#@#@@
@+###+#'#+''';'''''''''''''#'#+#'####@''';';';';'''';,',;,,,.:+'@'';'''''''';'''''##::,;#+@##+#@@@@#@@@@'''''',,,:;:::,:,.##@@@@#@+@#@@@@#@#@@@@@@+''+'+'+@#@#@@@@@@@@@
+@+###'#+@''''''''''''''''##@+@+@+@#@#+';';';''''''''+';.;,.:,##+#;'''''''';''''''+#:,.;'#+#+##@########''''';;,,,:,::,,:+#@#@@##+#+@#@##@+@#@@@@#+'''+'++@@#@#@@@#@@#@
@+@+#'@+@+';'''''''''''''''####@+##@#@#'';'''''''''''+#@,:,,.##+@+'''''''''''''''''#,.'+#+@###@@+@+#@@#+'''';'':,:,:,,';'+@@####'@#@#@@+#+##@@##+#+''''''+##@@#@###@+@#
+#'#+#+#++;''''''''''''''''####+#+@+@##''';''''''''''#@#+:,`,##@+''''''''''''''''''@.,:+##@@#@@@@#@@@#@'';''''';:,:,;';''@@#@#@+####@@#@#@#@@@@+##@'++++'@#@@@@@@#@#@#@
@#@#@+@+@''''''''''''''''''##@#@+@#@@@+'';'''''''''''@+@,,..'+#+@''''''';''''''''''#,,:'@####@@@+@#@#@#'''''''''::,,;''''@##+#+@#@#@@#@#@#@@@@#@#@##+++'@#@#@@@@@@#@+@@
:+;#'#:+'':'''''''';''';''';+'#'@+#+##;';';'''''''''';@'.,..##+#+'''''';';'''''';''@.;.'+#####@#@+@##+''''''''''':,,:';''+#+#+@#@@#@##+@#@@@@##+##@#@#@@+@#@@@@#@####+#
@+#+##@+@''''''''';';';';'''+@#@+@####+;';'''''''''';'#:..`++'#+#''''''';';'''''';'#,.,'##@@+@+##@#@+''''''''''''::,:;'''@+@#@#@#@@#@+@#@@@@#@#@@@@@@@@#@@@#@@@@@@@@#@@
##+@'###+'''''''';';''';''';#+@#@#@##@+'''''''''''''''@`...#@#+@+'''''''';';'''';''#,:.++@###+@+@#@#@'''';''''''';:,,;'''#@+@+@#@#+@#@#@#@@+@#@#@@#+@@@##@@#@#@#@#@#@#@
@+@+#'@+@''''''''';';';';';';####@###++;'''''''''';''';:..+@#+#+@''''''''';''''''''#,.:+@@#@#@#@#@#@+'''''''''';'',,,:'''@+@+@#@##@+@###@@#++@++@@@+@+@+++++#@#@#@###@@
##+@'@#@#'''''''';';';';';';'+#+@###+#''''''';''';';'':.,.####'@+'''''';';';'''';';#.:.#'@###+#+@+@#@+''';'''''''':,,:;'''@+@+@#@@###@#@@@@+@+#+##@++##+++@+@#@#@#@##@@
@##+@+@#@''''''''';';';';';';++##@####';'''''''''';'''.:.++##+#+'''''';';'''';';''++:,:'#@+##@+@#@+@+@''''''''';''',,,:'''#@#@@#@+@+@#@@#@+++#@+@#+++#@+@#@+++#@@@@###@
##+@+@###'''''''';';';';';';''####+#+#''''''';''';';',:.,'##+@+@+'''''';';'''';'''##,:,+###+#+#+@#@#@@''''''''''''':,::'''@@@@#@+@#@#@@@@#@#@@@@@@#@'+'@#@@@@#@@@#@#@@@
####@#@##+;''''';''''''''''''#####@+##''''''''''''''':,:;####+@#@''''';'''''';';''@#:.,'##+@#@#@@@#@#@+''''''''''''':,:;'+@#@#@+@#@@@@#@#@#@@@@#@##'''+'@@@@#@@@@@@@@#@
###@#@###+''''''';'''''''''''@#@+#+##@'''''''''''''';:,,###@#@#@@'''''''''''''''''@+,:,+@#@#@#@@@@##@@'''''''''''''',:,,''@@#@#@@@@@@@@@@@@@@@@@@@++'''+@@@@@@@@@@@#@#@
####@#####;';'''''''''''''';++##@+@###'''''''''''''',:,.#+#+@###+';'''''''''''''''#+;,,++@+@@#@#@+@#@##''''''''''''':,,:''##@###@@###@#@#@@#@#@#@@'''''++##@#@@@@#####@
###@#@#@##''''''''''''''''''##+@#@#@##'''::;'''''''':,,;+####@###'''''''''''''''''@+::,+@#@#@@#@#@#@#@@'''''''''''''',:,''#@@@@@@@##@#@@@@@@#@#@#@+''+++###@@@@#@@#@#@@
#####+####''''''''''''''''''#+#+@+@###;'',,,,:;'''':::;;#;####+#;'''''''';';'''';###::.+#+@+##@#@#@##@@'''''''''''''':,:,'@@@@#';,,'#@@@@@@#@@@@@@'''''++@#@#@##@####@@
##@#+####+#'''';''''''''''''+#+#+#+@##'';::,,,,,:;',;:,####@#@@#'''''''''''''''''#@'::;##@#@@@@#@#@#@#@'''''''''''''':::,'##':,,,,,,+#@@@####@@@@@+''+''#@@@##@#@@#@@@@
#@#@@####@#'''''''''''''''''+'#+##@###;';::,,,,,,::::::'#;+#+@##,:::::,::+#;::::::#+::;';',:'';''+''++';;;;;''''''''''::,:.,:::,::,,+#@@@@@@#@@@@@''''''@@@@#@@@#@#@@@@
##@##@#####''''''''''''''''''####@@@##''''';;,,,:::,:,+@###@#@@#,:;:::::#,'#:++:,'#,+'#+''+#'+:';###:,:;::::'''''''''',:::,::;::,`.'+@@@@@@##@#@@#'+'+++@@@@@##@@#@@@@@
#@+#+#+#+###''''''';''''''''+#@#@#+#+#'''''''''':::;::+###@#+@##,::::::,#,+#,'+:,##,+'+:;;##';,';###:,::;:::;''''''''':,::,,:.`'+#####@@@@@##@#@##'++'+'@@@@@@@@@##@@@@
@#@#@###@@@@'''''''''''''''''@@@#@@#@#'''''''''''':,::+@#@@@@#@#,,:,::,,':##,+#:''#,:++;++#++;,++###:::;::::''''''''''',:,:'##@@###@@@@@@@@##@@@@+'++'''#@@@@@@@@##@@@@
##@#@#####@@''''''''''''''''@#@@#@####'''''''''''':::;###@@@@###''''''''''''++''#+@';:;####+'+'''';;:.,,.,,.''''''''''':,::#@@####@@@@@@@##@@@@@@'''''''@@@@@@#@@@#@@@@
#@@@@####@@##''''''''''''''''@@@@@#@##'''''''''''':,:'#@@#@@@###'''''''''''''''+#@@+,:'#@##+@#@#@#@#@#@@#''''';''''''''.:,:+@@#@#@@@@@@@@#@@#@#@#+'+''''##@#@###@##++@@
@@@#@#@@@@#@#''''''''''''''''@@@@#####''''''''''';:::''@#@@@#@#@'''''''''''''''###@'::;+#@###@#@#@@@@@@@@'''''''''''''',,,:#@@@#@#@@@@@@@@#@@@@@@'''+'+'#@@@#@#@#@###@@
##@@@@####@##'''''''''''''''+##@@####@'''''''''''::,:;'@##@@#@##'''''''''''''''@#@@':;'+##@#@#@#@@@@#@#@#'''''''''''''';:,:+#@#@#@@@@@@#@##@@@@@'''+''''@#@#@#@@@##+@@@
###@@#@@@@#@#+''''''''''''''##@#@+####''''''''''':,:;''####@####'''''''''''''''###@':::+##+##@#@@@@@#@@###'''''''''''''',::+@#@+@#@@@@#@#@###@@#+'''+'+'@@#@#@#@###+@@@
##@#@##@@#@#@#''''''''''''''#@#@###@@#''''''''''',:,;''##@@@###@'''''''''''''''@#@@+:::'##@#@@@@@@#@#@#@#@'''''''''''''':,:;#@#@#@@@@#@#@@##@@#@'+'''+'+@@@#@#@#@#@@@@@
##+#+###+#+###''''''''''''''@####+##@#''''''''''':,:;''+###+##@#'''';'''''''';##@@@;;:,+'@+@#@@########+@+#''''''''''''',:::##@+@@@@@@#@#@#@@#@+''+'+'''@@#@#@#@#@@#@@@
@#@+@##+#+@#@+''''''''''''''+@+@#@#@#+'''''''''';:::'''###+#+###''''';'''''';'#@#@@':,:'##@@@######@+@#@+@+'''''''''''''::::+##@#@@#@#@+##@@@#+#'''+++'+@#@#@#@@@@@@@@@
'#+#+';#'#+##@''''''';''';''@+#+#+@#@''''''''''',:,:''';#+@+@#@#'';';';''''''''#@@#,:,,#+#+@@@@@##@#@#@+@+##+''''''';'''::::'+@+@@#@#@#@#@#@@+@'''''++++#@#@@@@@@@@@@@@
@+@'';';#+@##@+''';';';';';@+@###@@##''''''''''':::;;';'+#+####++;'''''''';'''#@##@,:.:;####+#+#+@+#+###+#+@#'''''';''''':::'#+##@@#@#@#@@@@+@#''''++'+'@#@#@@#@#@#@@@@
+#'''';''######'';';''''';'+@#@#@##@+''''''''''':::'''''#+@#@##@+'''''''''''''@@@@#;,,,##@#@@@@#@+@+@###@#@@@'''''''''''';:,;+@+@@#@###@@@@#@#+'+'++'+'++@@@@@@#@+##@@@
@#'''''''+@@#@#''''''''';'+@#@#@###+'''''''''''':::';';''####'#'@''''''''';'''###+@,,,:+####+#+#+##@+@####@###'''''''''+'::,;@#@@@@#@#@@@@#@+@'+'++'+'''+@@@#@#@#@#@@@@
#@'''''''####+#'''';';';''@#@#@#@#''''''''''';';,,:;''''''@@#@#@#'''''''''''''#@@@#:.,,##@@+@#@#@+@#@@@#@@#@##''''''''''',:,;'@#@@+@#@##@#@+@'''''++'+'+'@@@@#@#@+@@@@@
@@'''''''@#@+@'';';'''''''@@@#@#''';',,:;;'';'';:,,''''''''+#+#+@+''';;;;;;':;'+#'+':.;+####+#+#+@####+######+#'''''''''':,,:'#@@#@@@@@@#@+#''''+'''''+'+@@@#@#@#@#@@@@
#@'''''''@@#@+''''';'''''#+###''''''':;;:;,:#,,,:,:;''''''''+#+@#@''',:,,,,,'::,#,#+.+:':';,'.+;:.:,;,;##@#@+@+@''''''''',:,;;'+#++#++'####'+''''''''+'+'@@#@#@@@#@@#@@
@@'''''''#+##''''''''''''@#@''''''''',,;+:;,+:,:,,:'''''''''';@+@@#'',,,,,::#:,,,.#+:;;':';,:'##,:::::'+#+@'@+@#@'''''''',,::::::,:;;::+''''''''''+'+'+'+@###@@@####@+@
#@#'''''''++''''''''''''###'''''''''',,':;:;,,:,:,:''''''''';';'###+',,,,,:,+:;:::##:;,':''.;;##;,;::,+#+@+#+#+@@@''''''':::::::::,::::;''+''+'''+#''+'++#@#@#@@@@@@#@@
@##''''''''''';''';''''##@@'''''''''''''''''':::,,;'''''''''''''+@##+;:';';;;';';::,:,'':+,;:',::;:;:,;##+@+##@##@#'''''';:::::::,::::.;;''''''''##+''''''###@@@@@@##@@
#@##''''''''''''''''''####+'''''''''''''''''''',,,;'''''''''''''+@##@+''''''''''''':,::'###+##@#@######@+@+@#@#@@@#@#'''+;:::,:,,,:::::;'''+'++@#@#@+++++'@#@@@@@@@##@@
@#@##''''''''';''''''@@@#@+''''''''++'@@#@##'+':,::'''''''';';''#@+@+#;'''''''''''':;:.+#@#@#+#####+#+#'#+@#@#@@######'''',::;'''''';';'''''+'##@#@#++'+''#@@@@#@##+@@@
#@#@@#+'''';';';';'+###@@#+';';';#+@#@@#@#@+@+@.:.+++''';';';''+@+#'@+#+#+;';';'''':,:,+@#@##@#@##+@+@#@+@#@@####+@+#+@##',::;;';'';';';';'++@+#+#+@''''';+#@@#@##+#@@@
@####++++';';';''++++#@####;';';+++++++#+#+#'#+,,;'++'+++'';++++'@+###+++++'+'+++++:,,:@#####+@+@+@+#+@+@###@##@+#+#+#'##+,:::;;';'';';++####+#+@#@#+''';''@@@@@@###@@@
####+'+'+'+'+'+++'#++++#@@++;;;++++++++'+++'++#.,,++++++'+++'#++#'@'@+++++'+'+'#++#::,:+@#@@@@+@#@+@+@#@+@@#@@@+@+@+#+##++:,,''#+#++#+++#+#+'+'##@@@#'';';'+@@#@+#+#@#@
@@#+++++++'+++++'+'+++++###++'#'+'++#++++#+#'##,.:;+++++#'+'#++++#+#+++++++++++++++:,,,#@##@@#@#@#@#@+@#@#@##@#@#@+#+####+:,:'#+#+##+#+#+##+#+#+#@@##''''''+@@@#@#@@@@@
#@#++'+'+##'#'+'+'+++++++##+'++#++'#+++'+'++#+#,:,;'++++'#'++++;#+#+++++'+;++#+++'#.:.,+###@+#+@+#+@+@+###@#@#@+@+#+#+++++:,,''#+##+#++###+#'#+######+''''''+@@+'';#@#@
##+++#+++@+@+#'#'+'#++#++##+#'#+#+++#+++'+'++##,,::++++'#'+'##+#'@'#++#'++#+####+@#:,::###@#@+@#@#@#@#@@@@#@+@+@+#+++#++#+:.:'#####@+@@@@##+#+#+######;''+'++++'''''@@@
#++++'#'++#+@+#'+'#++++++++#'#+#+#+#+++'+++'#+#++;;++++#'#+#+@#+@++'##++++'#+#+#@#@.:.,##@#@#@+@#@+@#@@#@#@#@#++#+#+#+##'+:,.++@@@@#@#@@@@##+#+####+#+#'''+'++++'+'++@@
+#+++#'+'#+#+#+#'+'#+#++++#+#+@##+#+#+++'#'++#+#+#++++++#+#+@###+#'+#'+'+'++####+@#:.,:@##@#@+@#@+@#@#@#@@#@#@##+###+##+#++;'+@@@@#@#@@@@@@#######+#+#+'''''';';''''+#+
@+#+#'+'#+@+###+#+#+#++++++#+###+###+++++'+'++#+++++'+'+'+;#+##;#;+'++'+'+:++#+@#+@`:,:+'#'#'''@+#+##@####@+@++'++#+#+#+'#'#+##@@##+@#@#@@#@+######+#+#+'+++'+'+'+'+##@
+#'+'+'+'#+@+@##++'#+++'++#+###+##@##++#'#+#+#+#+#+#+##++#@+@###+#+##+#'#+#+##@@#@+:,::##+@+@'@#@#@#######+#'#'#+####++'++#+##@@##+@#@@@@+##@@####'++++##'';''+'''+'##+
@+#+#'#+#+@#@##+#+#++#+#+#+##@#####+#'+'#+#+#++#++++'+++'#+##@#+#+#++#'#+#+####@@#@`:.:++#+@+@#@#@##@##+##@+@'#+####+#+#'#+##@@@@+@#@@@@@@+@#@###+#+#+###@'+'+'+''+#@#@
+###+#+##@#@#@#+#+#+#+++#+#+@###@@##+#'#+#+####+#+#+#'+'@#####+#+#++#+#+#+##+#+@+@#:,,:'#+@##+@@##@#######+#+#'####+#+#'#+#+#@#@+@+@##@###@#@@@#+#+#+###@##'''+'+'+#+@@
############+#'+'+++'++++#+########+#'#'#+##+#+#+#+#'#+######+#.####+#+###+##'#+@+@.;,:#'###+@##@###@+##@+#+#'++##+#'#'#'#+####+@+####+#+###@###+++++####@+###'++##+#@@
#@#@#@@#@#@#@##+#+#+#+#########@#@#@##+######+#+#+#+#+###@+#'@'##+#+#+#+++##'++@+@#;:::'#+@#@####@#@#@#@#@##+#+####+#+#+#####@#@#@#@@#@#@#@@@@#@+######+@#@#@@@@#####@@
@##@@#+@+#@@'#'#++'++##++#++#+#+#+#;#+#+#+##+#'#+#+#+#+@#'#+#+#+##+#'###+##+#'#'@@@:;,:###@####'#+#+@#@+#+######+#+#+#+#+###@#@#@#@@#@#@@@@#@#@##########@@@@#######@@#
#@##@#@+#+###'#+++#+#+#########@+@+@#######+#+#+#+####+###+@+@+@#+#+####+###+#+##@@,,,:+@@#@#@#@#@#@@@#@@@#+#+#+#+######+#+@+@@@@@@@@#@@@@@@#@@@########@@@@@@@@#@@@@@@
###@##+#+###+#+#+#+#+##+###+##@#@#@#@#######+#+#+####+##@+@+##@@+#+#+####+#'#+#+@@+,,,,#@##+@+@+@###@@@#@#######+########+####@@@@@@+@#@@@@#@#@@######+#@@@@@###@@@#@@@
##@#@+@+#+#+#+#+#+#+##+#+#++'#+#+@+##@###+#'#+##+#++'#'#+#+####++'#+##'#:+'#+####'@.,.:++#'#+#+@####@######+#+#'#+########+@#@@##+##@#@@#@#@#@@@@####+##@#@######@#@#@@
#@####+#+#+#+++#+#+#++#+#+#'#+@+##@#####+#'#+##+#+#'#+#+@+@#@@##'#+##+#+#+#+####@@#,.::##+##@##@#@@####@##+#+#+######+#+#+##@@@####@#@@@##@@@@@@@#######@@@@##@@@##@#@@
#+###+#+#+#+#+###+#+##+#+#'#'@+####@#####'#+####+#'#+#+#+@#@@#@+#+####+#+#+#####@#@,,,;####@@@#@@@@#@#@#;##+#+######+#+####@@#@###@#@@#@###@@@@@#+######@#@####@###@#@@
######+#+#+#####+#+####+#+#+##@#@#@@#@##+#+####+#+####@#@@@@#@#######+###########@@,,:'###@#@@@@#@@@@##@###################@@#@#@@@@@@#####@@@@@@#########@##@@@@###@@@
@#@#@###################+####@#@@@#@###+#+#+####+#+##################+############@.:,'#+###@@@@##@@######################@@@@#@@@#@@@@#@#@@@@#@########@#@#@@@@#####@@
@#@#@#@#@#@#############++###@@@@@@@#@############+###@@@@@@@@########+##########@@.,:'####@@@@@@@@@@#@###################@@@@@#@@@@@@###@@@@#@#@#####+#+@@@@#@######@@
#######@#@###########+#'#+#####@#@#@#@##+######+#####@@@@@##@####################@@,,:;###@#@@@@@@#@#@#@#############+####@@@@#@#@@@@@@#@@@@#@#@#@######@@@@@@#@#@@@@@@
@#@#@###@@@##################@@@#@@@@@################@@@@@#@####################@@:::'####@@@@#@#@#@#@#########+#+######+@+@+@#@@+@+#+@@#@#@#@#@@##+#+#'@@#@###@###@@#
##@######@############++#########@@###++##############@@@@@@#@@@#####+######+#+##@@;,;;#@@@@#@#@#@#@#@###########+#########@###@@@@#@#@@@@@@#@#@@@##@####@@@@@#@#@@@##@
##@####@@@##################@@@###@@##################@@##@#@@@@@###+######+#####@@@##+@#@@#@#@+@#@#@#@#####@##@#####@@#@#@#@#@#@@@@#@#@@@@#@#@@@@#@#@+@#@@@@#@#@#@@@@@
                                                                                               

Comments