"The Man with Red Hair" – Undocumented First Appearance of "Episode"

Home > Blog >

The Man with Red Hair by W. Somerset Maugham
"The Man with Red Hair" by W. Somerset Maugham

"The Man with Red Hair." Today's Woman 14.83 (Sept. 1946): 32–4, 132–7.

A week ago I wrote about the story "The Kite" and its unrecorded first appearance in magazine Today's Woman as "A Man and His Kite." In this post, I will talk about another, which is even more curious: "The Man with Red Hair."

When I came upon the title of this story, I thought it would be a reprint of "Red" (1921), which was included in a number of magazines and collections of short stories since its first publication.

Nevertheless, the beginning of "A Man and His Kite" points to the fact that another story about Ned Preston must have been published before in the same magazine. So, I wasn't surprised to find that "The Man with Red Hair" was in fact "Episode," a story told by the same character Ned Preston.

I discussed Today's Woman in the other post, so I won't talk about the magazine again.

The original titles of these two stories are fascinating, catering to the young married women, target audience of the magazine. "The Man with Red Hair" because of the protagonist, the charming-yet-not-so-honest Fred Manson. The tagline for the story was "You've seen that certain kind of man who by his very maleness sets up an emotional storm in any woman who so much as looks at him. This is a story about such a fellow." Yes, yes, I can hear the scream...




"The Man with Red Hair" | "Episode" – Analysis


The Man with Red Hair, illustration in Today's Woman - W. Somerset Maugham
"The Man with Red Hair," illustration in Today's Woman - W. Somerset Maugham

Like "A Man and His Kite" this story examines the psychological oddities of some men. Nothing like the Doctor Lector type, so don't get too excited. Just some inexplicable whims that "normal" human beings would have done otherwise. Interestingly, last night I was just at the part in which Theobald Pontifex married Christina Allaby despite everything in Samuel Butler's The Way of All Flesh (1903). Thus, I have a strong contrast as control.

But if you think more about it, is it a demarcation of another era, when traditional values have become unstable, and the individual rises to claim his own deserts with no compromises?

Grace Carter, the girl with aspirations, meets the handsome and irresistible red head Fred Manson, the postman, who, unfortunately, instead of taking his whole future in his hands, squanders it away by being dishonest and found out on top of it.

Grace is the generation that is supposed to break class barriers to reach a better future, at least her parents have worked hard to make it happen. This sudden fall back down the social ladder disheartens them. Yet, unlike the inexorable Mrs. Sunbury in "The Kite," Grace's parents have taken her happiness into consideration.

However, Fred's imprudence gets him to jail. Grace, instead of trying to forget him there and then and pursues her bright future, sticks by him, and thus gets herself rejected by her parents and have to leave home to earn her own living before she could finish her courses.

While working in shops to keep herself and wait for Fred, who, in his turn, is passionately devoted to her, they meet Ned Preston, who in turns tell the narrator this extraordinary tale.

Since there is a plot twist, I better leave it here.

I was quite upset with Maugham when he mentioned the ending of Le rouge et le noir, which I hadn't read, in his introduction...

Back to the title, it is quite fitting for the publication in the magazine, and it is equally fitting when Maugham changed it to be included in Creatures of Circumstance. As he queries in "The Kite" about the Freudian notion of human psychology, an "episode," both in terms of Fred and Grace, is apt.

"Episode" or "The Man with Red Hair" can be read at MMCCL.

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

Comments