__                    
   ____ ___  ____  ____ ___  / /_  ____ __________ _
  / __ `__ \/ __ \/ __ `__ \/ __ \/ __ `/ ___/ __ `/
 / / / / / / /_/ / / / / / / /_/ / /_/ (__  ) /_/ / 
/_/ /_/ /_/\____/_/ /_/ /_/_.___/\__,_/____/\__,_/  
                                                 
''##:###;;+:#+';'++'#,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::';:::':::::::::::::::::::::::::::::::::::::::::::::;;'+:+;+#+##++#+@+@#''+;+'##@@@,@@:@@@##::+@
+'+###@#::+;#+;;'''''',:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::':;::;:::::::::::::::::::::::::::::::::::::::::::::'+;+'+#++##;#;#+@+@+@#++#:##@@##@@@#@#@;,'#+
++'####+;;;;#+;;;;+''#,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::':;:::::::::::::::::::::::::::::::::::::::::::::::';++';#####:+'+#+###'@@'++++#@@@@@@@@#@'+''@,
+++'#+#'';';#+';:;''+#',:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:;:::::::::::::::::::::::::::::::::::::::::::::::;;#++:++;##:#;+'#+'#''@+@#+;#@@@@@@@#@+####++
@@###+#'++':##;;::''+'+,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,+:;::::::::::::::::::::::::::::::::::::::::::::::;:+',:::';#''#,#;@'#@:+,+#+;;#@+#@#@#@#+@'##+;
@@@@#++;###:+#;;::;''+'+,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:;::::::::::::::::::::::::::::::::::::::::::::::':;++#,,++@#'@++##;#@#';@#;':@@@@@:@@@@#@+#'+;
@@@@#++;###::#;;;:';'+'+,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,+:;,:::::::::::::::::::::::::::::::::::::::::::::':+##',:#;;;;##'+#,@+#,+#';+@@@@@@;@#@@@#+@'@+
@@@##'+;###;';;;+:;;'+'+',:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:;:::::::::::::::::::::::::::::::::::::::::::::,:+++;;+:'++;#+#++;;+@##@@'#+@@#@@@:@+@+@@@###@
@@@##;+;+#++';++@;:;'+''+,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#,;:::::::::::::::::::::::::::::::::::::::::::::,';+:;::#';;#'+#'#++#@##@###'@@@@@@@@#@'@@@@@@'
@@@##'';##'+#'::@;::;'++++,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:#:;::::::::::::::::::::::::::::::::::::::::::::,:+:'';+;++;'''##+#+@@@#'#++:#@@@@@@@@@#@'@@+@@;
#@@##;;;+#;+##:;@;+:;;'+'#,:::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::#,;::::::::::::::::::::::::::::::::::::::::::::,;;+;#';+'+'+;:##@@@#@##,#@##@@@+@@@+@#@##@@@@+:
+####;;;++;+#+:;@'#::;;';#+,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,#:;::::::::::::::::::::::::::::::::::::::::::::;:::';;+#+:'+,++@@@@@@#@#@@##@@@'@@@.##+:'@@@+#,
''###;;;'';+#+:;@'@+:;:;'+#,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#,:::::::::::::::::::::::::::::::::::::::::::::;'#+'+,';#''+;'@+@@#@@#@#+@#@@@@@@@#;@@#;++#@+#:
'+###;;;;';##+:;#'##;:,'';+',:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,#,::;::::::::::::::::::::::::::::::::::::::::::'+;'+'+++':#+;++##@##+@@@@####+#@@@#+@'#@'#@#,#+
'+###;;;;';##':;#'+@#:::'+'#,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,#:::;::::::::::::::::::::::::::::::::::::::::::#+;:++'++##'##'@@@+@###@@@###@+#@@#@@'#+##'@:++,
;+###;;;;';##;:'#++@+;::';+'',::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::,::,+,::;:::::::::::::::::::::::::::::::::::::::::,#':';+####'':;.@#@#@@@;+'+'@@@@@@@@#@#@+@+'@::';
;####'';'';+#;;'#++@'+:;;:;++,,,::::::,:::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,+,:,;:::::::::::::::::::::::::::::::::::::::::,+:++;;#'###,+:;,#@##@@;'#+'@@@++@@@@@@@+@:'#+'+:
;##+#'';'';'#;;++#+#;@;:;:;+'',:::::,:::::,:::::::::::::::::::::::::::,::,:::::::::::::::::::::::::::::,,+,::;:::::::::::::::::::::::::::::::::::::::::,+;;;:,++''++;'@#.##@###'@::#@@+@#@#+###@#+++;''#
:@@##'';'';'+;;+'#'#;#':::;+'#,,:::::::::::::::::::,:::::::::::::::::,:::::,::::::::::::::::::::::::::::,+,:::::::::::::::::::::::::::::::::::::::::::,;##',#:;'''+';'##@;;##@@@@+#@++@'#+#;##+,++#++''+
+@@@#'';'';'';;+'@'@;@#+:::''++,,,::::,:::::::::::,,::::::::::::::::::,:,:::::::::::::::::::::::::::::,,,+::::::::::::::::::::::::::::::::::::::::::::,,##;':'+#:#+#'####+#:@@@@@#+##@@;@'++++;++#+;;':;
@@#+#:+;'';'';;+'@'@;@#+::;';+#,,::::::::::::::::::,,::::::::::::::::::,:,:,:::::::::::::::::::::::::,,,,',:::,::::::::::::::::::::::::::::::::::::::::,;:#::';+#:'##+:+#:;##+#:###@+@@+@;:#:#+'#@#::;''
@@#+#':;'';'';;+'@'@;##'+:;;;'#+,,:::::::,::,:::,,,.`.,:,:::::::::::::::::,::::::::::::::::::::::::::,,,,',:,::::::::::::::::::,:::::::::::::::::::::::,,;:':+,;::;:::':@;;#;+'+'+@@;@@@#:;:;#+@@#@';##'
@@#+#'::'';'';;#'#'@;##'#;:;;'##,,,:,,:::,::::,,,,:''` .,,::::::::::,::,::,:::,::::::::::::::,::,,::::,,,',:,::::::::::::::::::::::::::::::::::::::::,,:;;'+:',:',;;;,+@+##+@'+,#;#:#@@@''#'#+@@#@@;'''+
@##+#++:''';+;;#'#'#:##'#+::;'+#+,,,:,::::,:::,:,::,#'.  .,::::::::::::::::::::::::::::::,,:::::::,:,:,,,',,:::::::::::::::::::::::::::::::::::::::,,,,'::+#,,:;+:;',;#+;#@#@@#,#,''@@@++,+;##:@@@++++##
@##+#@#::+';';;+'#;#;+#'##'::'++#,,,:,::::,::,:::,,,,++,   ,:::::::::::::::::::::::::::,,` .,,::::,;,,,,,;,,,,:::::::::::::::::::::::::::::,:::::,,,,,,::#++,.:';;',,'@@;@@#@@@;'+'+#@#:;'::'';+,@@+#@+@
@##+#@#:;;''';;+'+;+;'@;#@'::;'+#+,,,:,:,:,:,::,:,:,,,++:`  .,:::::::::::::::::::::,,,.  `,':,:::,:;::,,,;,,,::,:::::::::::::::::::::::,::::::::,,,;:,,,:+++'';+;';':,@@+#@@@@@;#:,##@,';+#';:':+@@##@+#
@####@+:':''';;+'+;';;#;#@;':;''+#,,,,,::,,:,:,,:,,,,,,++:.   ,::::::::::::::::::,:,   `,'+:,::,,::;,:,,,;,,,::::::::,::::::::::::,:::::::::::::,,;:;,,,:'+#'+;'#;:;:#'#'+#+@@####'+,##@+##@;';':@@@@#@'
##++##+:'':'+;;+'+;';;@;#@;#:;';'##,,,,,,,,,,,,:,:,,,,,,++:`   .,::::::::::::::::,`   ,''',:::,::,:;,,,,,;,,:,:::::::::::::::::::::::::::::::,,,,:+:':::+++'+:##@##''':'+##:@@:+@+'',+''#@#@#'++@@@@++#+
##++##+;#+';+;;+'+;;';#;+@;#+:;;'+#,,,,,,:,,,:,:,::,,,,,,++:.   `,:::::::::::::,.   .:''',:,,,:,:,,;,,,,,;,,:,:::::,:::::::::::::::::::::::,:,:,,;+'+;;'+#;+'#++'@+;;+++:+@@#+';@+:;;'+,#@#@+#'@@@@#,+''
######+;@+;:+;;+'';;';#;+@;+#:::''##,,,,:,:,,,,,,,,,,,,,,:++:.`   ,:::::::::::,`   .;'';,,,:,:,:,::;,,,,,;,,:,,::::,,,::,::::::::::::,::::::::,,:'+++''''+####+';+,+''#@+#@@+:+,;+#+@:#''#:@:#++@';:,++:
###+@#';@+;+:';+'';'';+;'@;'@':;;''#,,,,,,,,,,,,,,,,,,,,,,:+':.`   ,:::::::::,   `,;'';,,,,,,::,:,:;,,,,,;,,;:::,::,  ,,:,:::::::::::::,:::,,,,:++'';;';++'##++'#':'#+#@@'@@+++++;#++'#+#+;@'#;@@;;+'#+,
##+##@''@+;''::+'';'''+;;@''@#;:';'+#,,,,,,,:,,,,,,,,,,,,,,;+':.`   ,:::::::,   `,;'';,,,,:,,:,,::,;:,,,,:,,;,,:,:,::`  .,,::::::::::::,:::::,'+';''+':+#'+##++;#+;+'#'@#@@@#'#''#:@;#+'#++#+@#+'#''##+'
####@#''@+:#+::+'';'';';;#';##;:';;+#,,,,,,,,,,,,,,,,,,,,,,,++',.`   ,:::::.   ..;'';,,,,,,::,:,:,,:,,,,,;,,;,:,,,:,'',   `,,::::::::::::::::,;++''''+'+++++#+++##',++#+@@@;'#::++:@:+;@@#;@+#'#@+;@####
#####+'+@+:@#':+'';'''';;+';##';:;;'#',,,,,,,,,,,,,,,,,,,,,,,++',`    ::::.   .,;;';,,,,,:,,:,,:,:,:,,,,,:,,;,:,,,:,,''',   .,::::::::::::::,:+''+''';;';. '#;:+#'+,++,::#@;'#'+;+#',#+##@#++;#:'+:@+#'+
@#+##+;+#':@#;:+'';'''';;'+;#@''::;;#;,,,,,,,,,,,,,,,,,,,,,,,,++;,`    ::.   `,;;'',,,,,,,:,,,,:,,,:,,:,,;,,::,,:,,:,,;'''`   .:::::::::::::::;'''''';:  `.+:+;#;:';+';;##@+;;'#:+;:'@+#@@#:@#@:+'#####,
@#+##';+@':@+;:+'';'+'';;'+;#@''':;;+;,,,,,,,,,,,,,,,,,,,,,,,,;+':,`   `.   `,;;;',,,,,,,,,:,,,,,,,:,::,,;,,:,,,:,,,,,,:'';.    ,::::::::::::,';;';;.   .;''''##,''+#:'#+;::;;@#+'#@;+'#@@@+@#;;###+##''
@####';##';#+;:+'';'+'';;;+;+#';#::'':,,,,,,,,,,:,,,,,,,,,,,,,,+'',.`      `,:;;':,,,,,,,,,,,,::,,,:,,:,,;,,,,,,,,,,,,,,:'':``   ,:::::::::::,:;,';   `:;'+++#'#+;;':';'::,'++;++##@;+#:#+@+;:'''+##'###
+####';#+';@+;:+;';'+'';;;+;'@+:+':'':,,,,,,,,,,:,,,,,,,,,,,,,,,'';,.`    `.:;;';,,,,,,,,,,,,,,,,,,:,,:,,:,,,,,,,,,,,,,,,:'':``   ,::::::::::::::.  `.;;++#+#+'#';:':;;';,;+',:''+'+:#+###@@#;#+;+#@'##;
+####';#+';@';:#;';'+';;;;+;;@+;'#::;,,,,,,,,,,,:,,,,,,,,,,,,,,,;'':.`    ,:;;;',,,,:,,,,,,,,,,,,,,,,,:,,:,,,,:,,,,,,,,,,,,'',.``  .:::::::::::`   `,;;'##:;'#'#:':';+@;';@@'';:,#'++@@#+@#+@;@+'#@@@@;;
@;###''#+;;@';:#;'''';;';;+;;##:;#+:;:,,,,,,,,,,:,,,,,,,,,,,,,,,,''',.`   `;;;;,,,,,,,,,,,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,:'':.`   .::::::::,    `:;;';;#':'#:+;'':;'';';##:,#'#@;#@@@'@@#@+,;+###@##+,
#@:@@';#';'@';:#;'''';;';;';;+#:;##:;,,,,,,,,,,,:,,,,,,,,,,,,,,,,,'':,``   ,';:,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,,,,:,,,,,,,,,:'';,`   `::::::.    ,;:;'';'#+':#''+;':',;##;:+:;##@'@##'@#+@@'+;##@##@#;:+
;####''#';'#'::@;#';';;';;';;'#;;+##;,,,,,,,,,,,:,,,,,,,,,,,,,,,,,'';:.`    '',,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,,,:,,,,,,,,,,,;'''.`   `::::`   `,:;''++;+#;';:+;;'#'',;+##+@@+#'@@'::';@@#@@#;+#@@@@;,:+
;;#@#''#';'''::@;#+'';;';;';;'#;;'#@',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''',.`   `,,,,,,,,,,,,,,,,,,,,,,,,,:,:,:,,,,,,,,,,,,,,,,,,,''''``   .::`   `,:;;'''';++:;''##;##:++:#+@+@@#;#'@;+;;'@@@':@,#@@##',;:#
;;;@#''#';++;::@;#+'';;';'';;;#;;'+##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`+;':.``   ,:,,,,,,,,,,,,,,,,,,,,,,,:::,:,,,,,,,,,,,,,,:,,,,,';;'```  ,     .:;;':'#'+#;+'''+++#+##+#+;##;#+#@#'++##+#@@@@@,@@@@;:''#,
;;;##''#';++;::@;@#'';;';;';;;+';'+#@,,,,,,,,,,,,,,,,,,,,,,,,,,,,.'+';',.``   ,:,,,,,,,,,,,,,,,,,,,,,,:,:,::,,,,,,,:,,:''':,,,,:';;:.`       ,:;;';''#+'#':+'++;##++@##;#@@##:@@@#+:@##@#@@@@,@@#+:,'#+#
;;;##''#';+';:;@'##'+;;';;';;;'';;'##,,,,,,,,,,,,,,,,,,,,,,,,,,,,;'++;':..`   .:,,,,,,,,,,,,,,,,,,,,,,:,:,::,,,,,,,,,,:'+',,,,,,;;;;,.`     ,:;;'+''#'';+'+''#+''#;#+#;'#@@@@##@@;+;+@;@#@@@@;#'@#,+'+':
;;;##;'#';+';:;@'##'#;;';;';;;'';;'##,,,,,,,,,,,,,,,,,,,,,,,,,,,,''++''':.``   ,:,,,,,,,,,,,,,,,,,,,,,;::,::,,,,,,,,,,'';':,,,::,;;;:.``   ,:;;'++:+;+#:;'';;'+'::+#@@@+@@#++#@@+:;+#@'+'+@@@.+#@#+#+++:
;;;#@''#';#';:;@'##'#;;';;';;''';;;+#,,,,,,,,,,,,,,,,,,,,,,,,,,,''''++'':.``   `::,,,,,,,,,,,,,,,,,,,,::;,::,,,,,,,,,,::'++,:,':,:';':.`   .;;''+++'',#';,+';';'';#@#'@@@@+:;#+@';@#@#'+'@@@@,+#@##,#+#'
';;##''+;'#';;;@++#'@;+';;';;''';;;+#,,,,,,,,,,,,,,,,,,,,,,,,,,''';'''''';```   ::,,,,,,,,,,,,,,,,,,,,::;,::,,,,,,,,,:,+''':';;',,''';,.`   ;'+'++''';+;;+;+':;;'''#@@@##@':'++@@'+@@@'@@@@@+@#@#'##'@++
;;;##';+;;#';;;#++@'@;++;;';;;'';;;'#,,,,,,,,,,,,,,,,,,,,,,,,,;'';;''''''';``   `::,,,,,,,,,,,,,,,,,,,::;,::,,,,,,,,,:;;;'++';;:,,,'';:.``` `+''+##++#;''###;+'':#,##@@''#:'@'@@@+'@+@@@@@@@@@@@@'#'###'
;;;##';#;;+';;'##+@'@;+#;;'';;'';;;'#,,,,,,,,,,,,,,,,,,,,,,,,,'';;;;;';''':.```  ,:,,,,,,,,,,,,,,,,,,,::;,::,,,,,,,,,:;''':''+';:,,.;;;,.`` `.''+'++'#';#'++:+##;@,+#@#;;;+;;+#@@@:+@@;@@@@@'@#@@++'#'#+
;;;@:';#;'#;;;'##+@;#''@;;';;;'';;;;+,,,,,,,,,,,,,,,,,,,,,,,,''';;;;';;+'';:.``  `:,,,,,,,,,,,,,,,,,,,::',:,,,,,,,,,,:;+'+++;+''',` ';':,.`` `''#+'';'';'#;;',+'###,+#++;';+:@@@#@@##+''@,@@#@@@@;#;#@#@
;;;@':;#;'#;;;+##+#;#''@;;'';;;';;''',,,,,,,,,,,,,,,,,,,,,,,:''';;;;';;,''':..`   ,:,,,,,,,,,,,,,,,,,,::',:,,,,,,,,,,;;';''+'+++:.`;';;::..`` `''+;'++,+++#;#+''#@''+,;+;@':'@#@#@'@@''',,@@@@@@@#;+##@@
;;;@#;:#''#;';+##+@;#''@;;'';;'';;;;',,,,,,,,,,,,,,,,,,,,,,,',.;;;;;;;',:'';,.`   `::,,,,,,,,,,,,,,,:,:,+,:,,,,,,,,,,:'''';';,;';`;''';':,..`` ;''';';'':++#:#;+#+'##+':;::##@@@#@@@@;';++;+@@@+:+:+'@@#
;;;##+':''#;';+##+#;#+;@;;#';;'';;;'',,,,,,,,,,,,,,,,,,,,,,:   .;;;;;;,,,''',,``   ,:,,,,,,,,,,,,,,,:,:,+,:,,,,,,,,,,;,+:''+++++`:;''+;;';,.``  ++';'+';##+;#+;;###@++;''::++@@@@@:@;:+''#,,:@@;,#:#@@@#
;;;###+;:'#'';+#@+#;@+'#''#+:;;';;;'',,,,,,,,,,,,,,,,,,,,,,`  `.';;;'',,,;'';,.`   `:,,,,,,,,,,,,,,,:,::+,,,,,,,,,,,,;::+';;'++;:;;;'+';;':.``  ,':'++#;##'#+'+:##@':':''+#;,@@@@#:@'+';#+;,@;@+;@:':@@+
;;;#++#+;:#'';##@'@:@#;#';##:;'';;;'',,,,,,,,:,:.,,,,,,,:,,  `..';;';,,,,,''',.`` ``,:,,,,,,,,,,,,,,:,::+,,,,,,,,,,,:;,''++:',+;;;;;''+;;;:,.``` ''+'''#,'++#+#'@+@';;#@#@#+;@@@@@##';';@+,+#+@#++#++@#+
;;;#++##+:+'';##@'@:##;#+;##;;;';;;'',,,;;,:,+.,,,,,,,,,,,   `,,;';'',,,,,''+:,.` ` `:,,,,,,,,,,,,,,:,::+,,,,,,,,,,:';:;,+';::,;;;;;''+';;;:.``` .+++#+;:#@####+@##:':;:@#;::+@@+''#':''#;#@@#'@@@@'@@##
;;;#''###+:;;;#+@'@:##;#+;##;''';;;;',,:,;,:':,,.,,,,,,,,.  `.,:;''',,,,,,,'+;,.``   ,,,,,,,,,,,,,,,:,::+,,,,,,,,,,''::':''',';;;;;;;'++';;:,.``  '+'#,;'#'#;@#;@@+',+;+#@#'@+@@@@@#:#+'#'#@#.#@@+'@@@##
';;#''+###+:';#+@'#:##;#+;##;;+'';;'',,;,;';;;'#:,,,,,,',   `,:;;+'',,,,,,,'+':...`  `:,,,,,,,,,,,,,:,,:+,,,,,,,,,,,:;,;.;+:::;;;;;;;''+;;;;:.``  `+;+',:#####;:@'#;:##@##+#@+@@@@@;;##+@@@+++##@@#@@@@+
#';++'+####+:;#+@'#;##;##;##';+'';;;',,:+:++',+:',,,,,,+.  `.,:;;'',,,,,,,,,+';,.``   ,,,,,,,,,,,,,,:,,:+,:,,,,,,,,,,,,:''++:;;;;:;;;'+;:;;;;,,``` '++++++#@+@;++'#::'#@@@+@++#@@'@'+#+@@@:;++#@@@@##@@'
##'+''+#####';#+#'@;+@;##;##';+#';;;',,#++;#':;,:,,,,,,#  ``::;;''+,,,,,,,,,+'',..`   .,,,,,,,,,,,,,:,,:',:,,,,,,,,,:;:;+''+;;;;;;;;;'':';;;;:,.`  `+:++++####,#@#':+#'@@@####@@@'@#'@@##@++@#@;@@@++@@;
##@++'+#####;;#+#;+;+#;##;+@';+##;;;':;:';#:+::;:,,,,,',  `..;;;'',,,,,,,,,,;'':,.``  `,,,,,,,,,,,,,:,,:',:,,,,,,,,,:::'+'+;, `:;;;''';:'';;;;,.`` `';++;#+#'#'###'#'#@+@#:'+@@#@@:#@@#+@@@@@@+@@:@##'@:
##@+#+++###+;;#+#;+;+@;##;+@+;+##';;':',:'''#+##',,,,:+   `..;;;'+,,,,,,,,,,,''',.``   ,,,,,,,,,,,,,:,,:',:,,,,,,,,,,;:;:;+.   `;;;;';:,:;';;;:..`  `+#+;+#@##:;#+###@@@'@'#'#@#@@#@@#'+@@@@#@#@',@@@#+#
##@@#+##+##';;#++;+''@;##:+#+;'##+;;'..,,+';;+###',,,,,  ``.:;;;':,,,,,,,,,,,''',.```  `,,,,,,,,,,,,,,,:;,:,,,,,,,,,,,::':;   `.;;;;',::,',;;';,.``  +';+'+###''+@++'#@@#@,'#@@@@+#@@@@@@@@@,@#@@@;##:#'
'+#########';;#++;'''#;##:+@+;'###';',,..'+:;'##+',,,'   `.,:;;'',,,,,,,,,,,,,'';,.``  `,,,,,,,,,,,,,,,:;,,,,,,,,,,,,,';'+    `.:;;'+;::;;'';;;:..`` .+':,+@:@,####:##@:##+:,'@@@'#@@@@#'@@@+@@@#@;';,:'
'+##+#+####';;#++;'+'+;##;+@#;'###+';:'';'#;+;'#'+;'+'  ``.,;;;';,,,,.,,,,,,,,+';,.``` ``,,,,,,,,,,,,,,:;,,,,,,,,,,,,;'++,   `.,:;;';;;';::+;;;;,.``  ++:';#++'##@##@@@,'#+,:#@#@+#@@@#;@@@#:#@@@#+'#@:+
'+#++#+++##;;:#++;'+'+;'#;'@#;'###+';,':#,':;#',:'';:`  `..:;;;',,,..,.,,,,,:,;'':..``` `,,,,,,,,,,,,,,:;,,,,,,,,,,,;;''+    `.,;;'+;;:;;;'+':;;:.``` .+''''#;;#####,@@###:#:@:@@@@+#@##@@@@+@@@@+;+#@##
'+#+'#++'##;;:+'+;'+'+;'@;'@#;'+##+';,;,#;:+'';+:;+++  ``.,;;;;',,,.,;,.,,,,,,,'';,..````,,,,,,,,,,,,,,:;,,,,,,,,,,,+''',   `.,;;;''';;;,;';+;;;;,.``` '+;;:#,;,####:@#@@;,#+;+@@@#'#+##@@@+#@@@:@'''+##
'+++'+++'++;;:+'+;+#'+;'#;'##;;+###':.;,;;;+#++:.;:#.  `..:;;;;:,,.,..,..,,,,,,+';,...`` `,,,,,,,,,,,,,::,,,,,,,,,,;+'#;    `.:;;;+''+'';'+'+';;;,.``  ,+'+';+,###+#@+@@@''#:,@@@#@@@#@@@@@@++@@@@;+##+#
;+++'''''++;;:+'+;'#'+;'+;'##;;+###+:.:.';+:+#,','##   `.,;;;;;.,...,#,.,+,,,,,''':,.`````.,,,,,,,,,,,,::,,,,,,,,,:,;'+.   `..;;;'''+'''';#+++:;;,..`   '+:#+:+##'##@+@@:#+@@'@@@:@@#@@@@@#@@@@@@+';;#,#
'+#+'''''++;;:+'+''#;+;'+;'##';+###+:,,.;'+:#':''+,'  `..:;;;;'.,''``''`.,..,,,.'';,..``  `,,,,,,,,,,,,::,,,,,,,,;::'''    `.,;;;'''''+':;#++';;;;,.`   :+;+++;++@+#@@##+##@@+@@@#@#'@@##@@@@#@@#'+;##+@
'''#'''+'++;;:+''''+''''+';+#';'###+:,.#';':;',,,;:   `.,:;;;;;:,:+```#,#.....,.''',..``  `.,,,,,,,,,,,:;;,,,,,,;;;::':   ``.:;;;';'''':;'''+';;;;,..` ``#++#;;++#'+@#######+@@@@@#+#@#@@@#@@+@@##@,;'#@
'''''+'++''';:+'+''+''''+'''#';'####:,,#;##+;:,';#;  ``.,;;;;;::+;.```;+#......`''':..``   `,,,,,,,,,,,:;,,,,,,,:+';+'    `.,;;'';'''';+'''+++#;;;:,.````++''''###+@@@@#@@##@@@+#@;'#@#@+@@@@@##@@@;+'#'
'''''+'''+'';:+;+''+'''''';'++;'####,+##'.#';'';##`  `..,;;;;+':;;.+`,`;:`...```.'';..``   `..,,,,,,,,,:::,,,,,,:''++'   ``.:;;;#';;';;+';+#;'#;;;;,..`` .+#;';####+@@###@:#@@@@@##@@@@@@@@@@@+##@@';,#;
+''''''''#';;:+;++'+''+;'+;'++;'+###,;####+,:#:++#   `..:;;;:'+';:.;:;.'````.````'';,.```  ``.,,,,,,,,,:,,,,,,,,,''''`   `..;;;';'';;:'##''#+;#;;;;:..````+#;#'#'##+#@@@@@@@+@@@#@:#'@@@+@@@@@@##@@#+;#@
@+'';;'''++';:+;++'+;'+;'+;'++;'+###,.#,:'##;#'#:'` ``.,;;;;;'++#'.;'',:+``..````''',..``  ```.,,,,,,,,:':,,,,,,:+'''    `.,;;;++:+;':;#++#+#';#;;;;,.````;'+#;#++##@@@#@@@@@@@@@###'#@@+@@@@@#@',#+###@
@@+';;';;+'';:+;++'+;'+;'+;''+;;+###,'##'.'###+#'` ``..:;;;;;'+++'::+;,'.``..````.'':..``` ```.,,,,,,,,:,:,,,,,,:+:'.    ..;;;''#+';''''+'++'+'';;;;:..````##':##+##+##'#+@@@@@@@@@###@@@@@@@@@#@@'+##@#
@@@#''';;'';;:+;++'+;'+''+;''+;''###,+###:####;##  .`..;;;;;'+#:'':;'+'.``.`.`````'';,.```````.,,,,,,;,:,:,,,,,,+'+;    `.,;;;'+#++;'+++++'+,++'+;;;:..````+#:+#@#@#######+@@@@@#@#+#@@##@#@@'@#@@+;@,##
@@@@#+';;;'';:+'+#'';'+''+;''+;;'+##.+#:#:##;###;  ``.,;;;;;++#',++'''+.`....`.```;';,..``  ```.,,,,,,,:,:,,,,,,''':    `.:;;;++#+#;;''++++;:+';';;;;,..```.#+##@##.###:';;@@@@@##@@@@@@@@@@@:;#@@#:''@'
@@#@@#';;;;;':+'++'';'+''+;''+;;''+#,##:####,;##` ``.,:;;;;:+##:+#;++','`....`.````'':..``` ``..,,,,,,,:,:,,,,,,:''    ``,:;;'++#+########;:++;;';;;;,..````';+'#@+;@@+,+'+#@@@@#@@@@@@@@#@#@##@@@@'#'#+
@@#@@#@';;'';;+'+#'';'+;'+;';+;;;'+#+#@+#+##',''  ``,,;;;;;+;;###+#+#:'+......`````'';,..``  `..,,,,,,,:,:,,,,,,,''    `.,;;;+''';##+#+++#;;;:;;'+;;;,..````::;+###,@#++'+@#@@@##@@@@#@@@@@#@#@@@+;;+@@#
@@#@@@@@+'';;;#++#'';'+;'+;''+';;''##;@##;###;';  `..:;;;;;+;:;+####;+';':....`.```;';,..``` `...,,,,,:,,:,,,,,,,+.    `.:;;;+''+''+####+::';;+#;+;;;:,..`` `''####:@#::+##+@'@#@@@#@@@@@@@+@@@#@;,#@@@,
@@@@@@@@##';';#++#'';'+;'''''+';;;'##:@#####':+  ``..:;;;;:;'''+#'+##;'::'....`````.'':,.`````...,,.,,.,,:,,,,,,'+    `.,;;;'+;;;+':+###++';;+++'';;;;,..````++#,#:#@@:#+@#@##@#@#@@@@@@#@@@#@@@@@'@@@@#
@@@@@#@@@@#;;;####'';'+;'+'''+';;;'##,@#####;#+  ``.,;;;;;#+++;.:##';#;;'.,.........'':,.```` `..,,..,,:,:,,,,,,+;  ` `.,;;;+;+';+:,+#+#+'';;';';+';;;,..````;++##;#@@++:;@@#@@:@@@+@#@@#@#+@@@@@+@@@@@@
@@@@@#@@@@@#';+###'';'+;'''''+';;;;##.#@+#+'##:  `..,;;;;;+;;#;++#';'#++;.'.........'';,..``` `,.....,,:.,,,,,,;+`   ``.:;;'#;';;#+;;'+++';:;';'+:;;;;:,..```.#+#;'#@@##,@@###+##@@@@#@@#@#'@@@+@@+@@@@@
@#@@@+@@@@@@';++##'+''+;'+'''++;;;'##+##:#+#'+  ``..,;;;;;;'+#'####;'+++:...........;'',..``` `......,,;:,,,,,,,'    ...:;;'#++++#+;'+''#';'+'+;+++;;;;,...```+'###+#@@'#@##@:#@@@@#@@@@@@;@@@@@@@'@@@@@
@#@@#+@@@@@@;;#++++#''+;'+'''++;;;'+####;###+'  ``.,;;;;;+'+';;####+;#+';;...........'',..``` ``.....,,:,,,,,,,,'   ``.,;;;##'+;+#++,+:+;+';'++#;+;';;;,..````'#;##'#@@#@@#@+'+@@@#@@@@@@@;+;@@#@#+#@@@@
@#@@#'@@#@@@;'#+#++@++';'+'''++'';'+##@@+##:#;. `..,;;;;;##+#+####++,;+'++...........'':...````......,.::,,,,,,,`   `..:;;;++#+###+;'++';;+;++#+'##+;;;:,..```.'#+#+@@@;+@;@'''@@###@@#@@@#,;@@@@,##@@@@
@#@@#+@@#@@@''#+#+++###''++''++'';'+'###.####`` `..:;;;;'##..';.###'';';++...........+':,..`` ``.....,,:.,,,,,,,    `..;;;'+++'#++#+'#'+';+:+'::+##+;;;;,..````';;+'#@@'+##+,+;@@@+@@@@@@@@:+@@+@;'#@@@@
@#@@@+@@#@@@''+#++#++++''..'+++';;;++###,###+ `.`..:;;;::+#+'''#####''#+''...........:';,..`````.....,.',,,,,,,:    `.,;;'++#++:+#+#+#+'+#++++';:#,:';;;:..````;+'';@@###@#+#@@'@@@:@@@@##@.@@@+@@@@@@@@
@#@@#+@@#@@#''###++##+#''::.'++';;;+';##,##++ ```.,;;;::+##+++##'###,'+';+...........`'',..``````....,,;.,,,,,,`   ``.,;;;+++##+;###';;'+#++;#++'+++';;;,,..```.'++##@+@#####'@+'@,'@@@@#@#,'#@;:#@@@@@@
@#@@#+@@#@@#';+###+##+@#,''.`'+';;;+#,##:###. ``,.,;;;;;#'##''######,:#,;....`........'':..`.````,,..,.;.,,,,,,    `..:;;'++#+#+'####''':+++##';;::+;;;;:,..````+####@#@#@####@+#';##@@@@@@,.'@@#;'#@@@@
@#@@#+@@+@@#':;+###+#+#+..`;;,+';;;++,##;#:+  ``.,:;;;;;####+;##+###:+#;:;` :``.......'':,..`````.,,,,.;.,,,,,,    `.,;;';'#++'###+;;';;+:'###;+'++'';;;;,..````'#'##@##;@@@##'+#,;@+@@@#@'.'@##'@;#;@@@
@#@@#+@@+#@#;+::+###++#'.;,;;`+';;;+:;##;+'+  ``.::;;;:+###+++#+##,#:##,,': :.`.......;';,..`````.,,,,.;..,,,,`    `.,;'';+##';;+'###;;':;#'#+'#+;:+;+;;;,,.````.###@@@@:@@@@@@'###'#@@@@@,,+@;,:@:.#@@@
@+@@#+@@+@@#;+;;:'++++#'':,.,;++';;+:;##',+; ``..:;;;;:####;#:########;'#:',',.....`..,';,,..````.,,,,;',.,,,,    `..:;''.++++;##'+#:;;:++###+'##;+;;;;;;:,..```.######@#@@+##@'@+#+#@@@@@,:#@:.,@@@@@@@
@+@@#+@@+@@#;+:;';'+++'#,':,,,:+';;' ##..;#` ``..:';;;;###+##+#+#########++`,,....```..'':,..`````,,,',:..,,,,   ``..;;'++#';+++###;'+':''#+#;,##''##';;;:,...```+##+###@+#@@@@.+####@#@@@:.@@:,:@@##@:@
@+@@##@#+#@#;@+;;;::++'#,,,;,;.#';;'`##`+;:  ``.,:;;;:;#+####:######+######:  `....`...'';,..`````.:,,.:..,,,,    `.,;;',''+'':#++#;++#',+#'::+'#+;;#;;;;;,....``:###@##@+#@#@##@####@@@@@@,@@;,#@.,;#.#
@+@@@#@@'@@#;@@#':+;'###:''+:,.#+;;'`##`.., ```.,;;;;:####'########:#######+: `,.......'';,..`````.,.,:;,.,,;`   `..,;;'',;+#;;##;###+#+'';:;+#;+''+;:;;;;:,...``.#'#'+:#####@@@###'@@@##@@.@#+;#@.,#';#
@+@@##@@'@@#;@@@@++'+++#,;:+';:#+';'`##`.;. ``..,;;;;:+######+###'#;#+###+++, `,.......,';,...`````,,:.',.,,,`   `..:;'';,:+#'+#++##''+';#'';#+':'++';+;;;:,...``.###,#,@'':@@@@:+#'+@@@@##.@@:.+,;+++:;
@+@@#@@#'@@#;@###@++;'##.:,+;.:#+'''`##`::` ``.,,;;;;;'#######;####++,##;###; `:........';,...`````:,,.:.,,,,`   `.,;;''.;:++++#'++#;':+:+;;++;#+#''+++;;;:,,..``.+#+'+;#:':@@@+:+@@@@@@@+',@@:,##:.''.@
@+@@@@@#'@@#:@+###@#'###:;::':,##'+'`.#+.+````.,:;;;;+########'####+,,######. `:,.,,,...'':...````::,,,':.,,.`  ``.,;;'',;'+';#+'+''':+''''#+;+++###'#'';;;,,...`.,'#+',+::;@#@;+@#@@@@@@+#@@@+'@@#@+#@@
@@@@@@@#'@##;##@##'##++#;':'',,+#++'`.#+.+ ``..,:;;;;####'##########:'###+#'. `:,,,,,,..'':,..```,`.,:;:,.,, `  ``.,';'+,+;:;,++++';+;++'',#+':###'###+';;;:,..``..##'#'';##@@:++@#+@#@@@;+#@@++##@@;+##
@@@@@@@#+@##:@@###+++##+::::';,++++'``#+.. ``..,;;;;;#'############+,##+;##+` `:,,,,,...,';,...`..`.,,.,..,,    `..:;'';.'';:,+;##'''+'+++++#:;+###;+#'#;;;,,..``..+:'+:;::@@@,:.@;@@#@@@#@@@+##@#@+####
@@@@@@@@+@##:@@@###'+'##;:,;;',+++''`.#'.` `...,;;;;;#+#';##########:###+###, .:,,,,,,.,.';,...`.``.,,.,,,.,   ` ..:;'+#,#;+..'+##':'''',#+#+###+:'##@#+;;;:,...`..:+:#'.,+#@@+@'@@+@@@#@@#+@;+@@##+#@##
@@@@@@@@+@##:@@@@@###++#''''+:,++++'`.#'.  ``..:;;;;;###+:#########':###'+#;  .:,,,,,,,..';:...,```..,:;',,.   ``.,;;'+;::;';:'+++;:+#':'#:+#';+',::##@+;;;:,..`....'+;:,:#+@###'##@@@;@@#+@#+'#++#'+#@#
+'@@@@@@@###:@@@@@@@+#@#':,.`.;+++''.##`. ```,,:;;;;':###'+####;####'##',.#+  .::,,,,,,.,+':,...```..,,,;,,``  `..,;''',.;'#;';#+;;+'+'++#+@#+''+:''#@+#;;;:,....``.#+,.:+#@@'@@@@#@@@@@#@'##'+@+'@@#@@#
,:+'@@@@@@@@:@@@@@@@+''',.,,:;.+#++'.#+`. ``,,,;;;;:##########,###++#+#:,,##',.:,::,,,,,.;':,.;.````.,,,',:  ` `..:;'':,,;';+'''+;'+:''+'+;##;;@#+;'#@#+';;;:,..`.`.##'':;;+@@@@@@@+#@###'@@'+''#,'@@#+;
+'::++@@@@@#;@@@@@@#';'',......+#++';##+` ``;'';;;;;###'####++':##++#'##,,##:..;.`:,:,,,.,';,';`````.,.:;.,   ``.,:;'':,'+;';';+'+':;'':++,,+;###:;##@@##;;;:,......;#+'.'.:@@@@@@@##@@@#@#@+@#@::+@:,;'
:'++:;++@@#+;@@@@@@@'''':......++##+'##'  ``,:';;;;'@;++####:+,',###'+''''#+:,,,..:,.,,;..';:;:.````.,..;..   `..,;;';:;,+#:;'';;';;':':'+#+#'@+'+#+++#+#;;;:,......,##';,.,@##@@@#+:@+#@@;@:@@@;,'#:;':
';;':::;'##';@@@@@@@'''':......+++#+###' ```...'';;'#:+.####'`+#,+##;+###.+:,   .  ...  ` ';.:.,````.,,::,`   `:.:;;';::,'+'',;;++''::'#+:++;@#';;''''+#;';;::.......####;.:@@+@@#@#;@#@@@;@@@@##;:'++#,
:;:;,;';:;'';@@@@@@@''+++..;,,.#+##+,##. ``..`.;+;;'#+######.###,+'+#'##:.+,,``       ``  '+..`.````..`.:,    `..:;'',,,,+;+:.,++++';;+#'####+#''++'::+#+;;;;:,......#+';;.:##@@+#+#@@@#@@;,@@@@+:,;+;+,
:::',;'';;,;'#@@@@@@'+#'+.,,':.+###+,##` ``,..:;;';#:########,##':'+#'#'#:;,,       ``    '',``..````. .,,   `..::;'+,.,.'+++;:#,:#':#,#++':;';';#++;#+;'#;;;:,......'#:#`..##@@@###@@@;@@+@@@#@+:';++#@
::+;:;''''',#+;#@@@@'##'#;,;;..####+.##  ``...;;;;;'#########+###+:'+##;#';.,     ``    ``:':.`..````.`,.`   `..,:''+;.,,,+++,,';++'++;+:;';:';:;#;;#';,;#;;;:,:.....:##@#,.+@+@@#@#@@@;@@@@@@@#;+@@#@+@
::;':'';''':###''@@@+@#+#',,,..#####.#+````..,;;;;+;+#+######',:#+:'###'#''..   `` `````  `':.`..````.`:,`   `..,;'',:.,.,'';::';+'';'#'';',;;;'#+':;:+:++;;;:,.`.`..,'###+'@:+@@+##@@@#@@@@@@#++#@@@@#@
#':::;+,;'':+;+#+;'#+##+#::.,..#';:+.#;````..,;;;;';@@''#+####,'++,'###'#'';. ``   :++     ':,...````..,,`   `..,'''.,::.,;';,.;;###;'#+#:;;,':''';'';+''#+;;,,...`.`.'#@###@#++@@@@@##@#@@@'@@@#@@@#@@@
#+#+;:;:;';:#:'+'::':++''......#+,,+.'.```...:;;;;;###+#######,#+;';###+#'';,`    `:#      ';:....```..`,   ``..:;+'..:+,'+'::,'++##''+###+;:;;':+;';'#####;;',....`..;##;+#@#+#@@@@@@'##@@@#@@@;@@#@@@@
#'++##'::'':#,:';,:##;;++.....,#+:;+.+```.,.,;;;;;;#@@##,#####+;''+;+##+#;+':   ```:+      ''::.`.``...., ` ``..:;'+;.,,,'',:,:'+'+#:###+#+'';'':;++';;++@#;'',.......::#'##@++:@##@@@@#'@@@,@@@@@@@##+@
@++'++##+;::#:,:;::'';+;'.....,##:;+.+````..,;;;;;;;@#@#:#;######.#:'##+#'+;.  `  `;+      '':,.```.....,`` ``.,:;'+,.,,,','.,;,:+#+;;+#+@''#;:+'''+'#::'##';':.....`.,####+@@+@@##+#'+@@@@@#@@@@@@@@@+@
++++''''+#+;+;,::::;:::;#';::,;:#''+.'````..,;;;;;'+###;'######:#:,+';#'#++;+.    `        ,+:...`.`.....`` ``.,;'';..:;,,.;..''+#+#'#;++@+,:;;#';+;:;+#:';;;;:,...`..,'#++@@@@@@@++++@@#@@@+@@@@+@@@@@@
##+++++++'###;,:::;::;:,++#+'+;,###+.:```..,:;;;;;::+#########+##,+;,:'+#+;;+`    `        `+,...,```....````..,;'';;+:+++.;..+,#;:'++:@@#+#':;;++#;::#;':'+;;:,....`..+#+##@@#@+@@#@#@@@@@@@@###@@@@@+@
#@###++++'''##',,:;:::::;'#+#+',,,;:;````..,;;;;:;':##'####+##+#+,+#':';'#':'`    `         +.....``....`````..,;''+:,,+:;,;.,,.;++#+;#'#;;+;+''###';',;#'+#;;:,....`.,'#:#@@@@##@@@##@@#@@@@#@@:@@@##@@
@@###++#+++''#++;,::;::,::+;###`.,,:;````..,;';;;+@'.#,###+###+'#;::':::##;::`    `         ';....```...`.```..:;'''..,+,:,+.,;#'+###;#+;,+;'#`+;#+',;+,:#+@;;:,...``..:#+#;@@@@@@@@;@@@@@@@@##@+@@@@#@@
@@@####++++++#''+#':::::;:';'#+;';,,.````..,;;;;;#@+;+#######:#;##,;+:::,';:;`    `,:,      ';,....`.`..`.```.,:;'+..'':.+:+..,'###++'+#;::;'#;#;#'';;':##+@:;;,,......,+;##@@@#@#@@@@@@@@@@@@@#@@@@;+@#
@@@@@@####+++++++#+++:,,:;#:'+;,';.:,````.,,;;;;;;''::##@####+##,##;';:::;;;;     `'+,      ;':...`.....`.``..,:;';,.'..:'.'..''+##,#++#'+;''#+#:##+#+;'#+'@:;;:,......,++##+@@#+#@@@#@@@@@@#@@@+@@@@@@@
@@@@@@@######+++++++'++':,+';;':+:;;;```..,:;;;;':'.:,:######'+####,+;:;,;';;     `'+       :',......`.. .``..,;''::,:.,,+;';,:+##;+#+;::++;;#++''####+;++#@;;;:,......,+;#####;;@@@@@@@@@@@@@@@#@@@@@#+
@@@@@@@@@#######+++++++##+#:;';'#,.'+```..,:;;;;';:'#';+,@#+#######:':::,;+;:+'';.`'+       .+,....`.`..````..,;''..;,,;.,+;.;:++'+;#'';;++;:#:;,+++#+'#@##@+;;:,......,+'#@##+;'#@@@@@@@@@@#@@@@@@@@@##
@@@@@@@@@@@########+++++####+';'#:.'+```..,:;;;;;#,##'#+#@####+####,+'::,;'#:;::;'+;+ `     `',....``....```..,;'+...:;:,,#',.'':;;,##;;;;+;.#;:::+@@#@;@@@@@;;:,,.....,;##@@##++'@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##;#:,'+```..,;;;;;+#'##;#'###@#######.'#+;,;'#''+''';.+++'`    ',....```...```..:''+......:,#'.;+#;:,###;;':+';:##:':#@+#:@@@@@;;;,,......,##@@#+++;##@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'#:.''```.,,;;;;;#':@++#`#@####+#######+',;'##+++++'''+'++;  .',.....```..```..:''+....:..,,;;++;;;:+#+'+';;+#;;;@#'##'@#@@@@#:;;,......,,#+####++;'@@#@#@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@####@@@#@@@#::+;'+```.,:;;;;;:'###+;####@+#####+###''';++#::;++++'+++++: ,;:,..``````,``..,:'''.....,,;,;':###''+#:;#'',';####'+###@@+@@@#:;:,.......,##@@#+##+#@@@##@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@##@##+++++''';;;';;#++``..,:;;;;;,,##++@#:+@@######:###+'+;+++,:,::;;''+++'+. ':.....```.,``..,:'':....:';+',;#++#+#+';,;+''''#:'#@'#++#@+@@@+';:,.......,#+#@@'#@@@@@@#'@#@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@####+++''+''''+'``...,:;;;;;,:#,'@##:##@##+###:+##+'+;'+':+:';;::;:+';++ ':,....``..,.`..,;''.....,;,+,;'#+':+#+##',''':;#+,#@;++##@@@@@#+;:,,......,'#@@@+@#@@+@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@######+'''''''```,.,;;;;;:,''#############,+;+#++++;'+',',;;':;::;'+++;+:,..........`..,;''...,.;;'..;'+,+:#+#''+:##''#@+:@#;'###@@@@'##;:,,....`.,:#@#@;@@@@+@@@#@@@@@@@@@@@##@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@###++++'',```.,,;;;;;,,.::###@@@#@#++#':,'#++++;'+':;'''':;;:,;:++++:,...`.....,...,;''.....,,;'..;,'+':++''+#+#:#@@#+#;;#'@@#@'@##+;::,......,,###+#@@@@@@@@@@@@@@@@@#@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#@@###+##++;;```..,:;;;;;,,,'+########+####::'+#+++:++',,,,,:::;;:::;';+;,....`....:.,.:;'+  ....,,+..;;#'#'#:'##++@@##@@#+#:;##@@@@@@@#;;:,,......,##''+#@@@@@@@#@@@#@#@@@@@@@#++
@@@@@@@@@@@@@@@@@@@@@@######'###+++```...,;;;;;,::#+#########@;##';''##++:++';:,,,::::;:;::;++;,,...`....:...,;''  :,..;:..:''+'###;,''+;####@@@##;###@@@@@@@#;;:,,......,##+;+@@@@@@@#@@@@#@@@@#@@;@,.:
@@@@@@@@@@@@@@@@@@@@@@@#####'+++#'+;``..,:;;;;;...,,;.#+###@@#####'';+#++:+;;+###+'':,::;;:;'+;,,...``...,,..:'':  ;,...,',:+'#####;;'+;+@#'@##@##;#'#@@@@+@+@;;:,,......,##'+'@@@##@@@+@#@@+@@@#+@#@+;@
@@@@@@@@@@@@@@@@@@@@@@@@###@##@@#;#+`...,:;;;;;``.`#++':#####+##++'+;'+':;+#;:###':':+:,::;:;#;:,...`....,,.,:;'`  ',.....;''''####'''++'#+##+###.,###@@@@+++#';:,,......,++''##@@#@#@#,`.++.:;@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@####@@@###'#+`...,:;;;;:```+##:,+#####,#,,''+';';:;;++:++#':':+:#::,:++':....```..,,.,;'', `',,....:'''#'###;'#+++######+++:#+@@@@@#;+'+;::,......,;#;+##@@#@#@+##';#@@@@@@@@@##@
@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@;#+`...,:;;;;,..;#+#;.#@,@@#++:,,+#''';:';+',++#':;:+,#,+::++',......`.....,;''  `;,.,..;;:'+##+##+++':,###'@@#'+:@#@@@@@+''#+;::,......,:#@##@@@@#'##@@##@#+'+#@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#####+#@@@###+,...,:;;:;:,:,##::;#@##@..',,,,'##';:;;+',+##':;,;,#:'#';;',.....``...,.,;'' ``;,....;;;';#:#+#;;##;,#+#++#@#':@@@@@@##'++#;;:,......,:#@@@@@@#@##@####'+';'@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#@#####@@@#'##;..,,:;;;;##;;##:.+#@@##;,#;,,,::+#+;;#+',';'':;:;,#:+'';.',.....``...,.,;''   ',....,'''';+###;##'.',':#+#@#+,@@@@@+'++#+#;;,........,#@@@@#@#########;;:,,@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@###+..,,;;;:;#':##+.,+@#@'@#:#;,,,:,,+'#;###,;'+':;:;,#;#+:'.;,.....``...,.:;''   ';.,:,,::+++:##+###.##'.##.+@##,@@#@#'''+##+;:,.......,,#+@@#++'+##+++##:+::,@@@#@@@@
@#@@@@@@@@@@@@@@@@@@@######@##@#@###+`.,:;;;:;+;'###+.+#@@#@#+####:::,;'';#+#,,'+::;:+,#:++,;:',.....``...,.:;': `.';',:,',:';+,###@###:'+:;#;###+,#':.#+'#'##+;:,........,'#@;++#,``:'+@@@::::'@@@@@';#
@@@@@@@@@@@@@@@@@;''';;:'+++'++#####+..,:;;;:;;,##:##;;#@@######@#+;::;':,'##,,''::;,;,+:++:',':,.....``..,,:''. ` ;;+...;,:,::,######+...:,#@'##+,###@#+''+#@+;:,,.......,'@@@#@####+,`@;+#;';#@@@@@;+.
@@@@@@@@@@@@@@@@@####++++';''++++###+..,:;;::::+#@+#@+##@##@@###++###++#+,::#:,,:::::;:+;#+:;,:;,.....`...:,:;'` , ;;+,,::;+;,;;########;`,::@'+#;,##@@@++#;@@'':,........,;@@#######++#@'``:++##@@@@@@@
@@@@@@@@@@@@@@@@@'++'';::,,::;'+;####,.,:;;;::+#+##@+;##:@#######+#####+';:,::;::;;':;,::'::;;::,.....`...:,;;'  ;`;:'..,:,+:.,,'#######',,;#++'#+,:#@@+#++'###':,,.......,,##;####+`'++#@##+@@@#@@@#@@@
@@@@@@@@@@@@@@@@#':`        .  .;+,;+;.,:;;;;'#++##@#'##'#@######+#++###+';::,,,,::;:',;:+:,;'::,....`....::;;'  : ':;,.,,.;,,:#+;#######,;:;+;+:#,:;@@'++;+####:,,.......,:##:##+;.#+''+@+'@@#@@+##@@@@
@@@@@@@@@@@@@@@@#`         ``  `:,....:++;;:;+###@###:####@######'######+'++';:::::::',;::;:+':;,...`.....,:;;':.:`':':,,;.,.,++,:+######:',,,:'.',#'++;;'++##@#;:,.......,,#...,`;##+++++#'#@:@+@##@@#@
@@@@@@@@@@@@@@@@'```...,,,...  `:;:,,,,,.:;:;###@@@@#;@@@##@#+###'######''###+++'`':;+:;:,;,++':,.........,:;'';':`;:';'`,,,,,''::,+#+####;++:;:+,,#+,`,'##++##@;:,........,:..,`'##,'####@@@:#@+@@@#+@@
@@@@@@@@@@@@@@@@,.:'++++++:'+:``++',,:::,,,:;##@@@@@#;@#@####+#'+''#####';####+##.,::::;;';,++#;,.........,:;;''';.;,;';:.,,,::;+;#,+,.;#@@@@;+;+;,#:#''..#;;+++;:,.......,,..,`+#+#;'#@@@@@@@:#+@@@,#@@
@@@@@@@@@@@@@@@@,:#####++'.;++:`+'''+#+;:::,;+###@@@#;@#######+###+####++'+######',,,.;;:+':+',:,,,.......,:;;'++':';:';,.`+';,.++##''`'#@@@@#+##+:'####,'##@@#+;:,......,.:#+###'.####@@'@@@+;'+@@;:@@@
@@@@@@@@@@@@@@@#.+######+;..#+'`'#+';:;;++#'``,,';###+#########@##+#####+#######+'+;..+:;'':+':,,,.........:;;'''+;';;'':,`+;,,,+.'##..'#@@@.'#@@#,+,+@##'.+'@@#;:,.......,#+#####,###@@#+@@#;+'+@@.,;@@
@@@@@@@@@@@@@@@#.#######+,,,##'`;@#:'+++++'+: .;;+#+#+###+#####@##+#####+#'#####':;,::++++':++;,,..........:;;''++''';''':`:..`;::#+##`##@@'+#+@@@.+,#@###;:#@##;:,......,:+'#####,####@@##@#,+'#@@.,:##
@@@@@@@@@@@@@@@'.#######++:;##+.;@#,:@+#;+',' `:;:+,;+######.''@##'#####+#+##,+;;;;.;;#+'+':'##+,..........,;;++++''+'''+,#'.,;.:#+'##+##@@#@,#@#@.#,;###:`+##@#':,,.....,;+'';'##.#+##@@@#'#+#'#@@,+:+#
#@@@@@@@@@@@@@@:.####+##++#@##+.;@+::#;@,,;'#` '+;;+;;':,###;#:@@#'#+########'#';;;,;'#''''''##+,....`.....,';+#+'+'#+;'+..:.,;.+#######@@@@#:###@`#++#++'+'';@#+:,,......'######'.#+,#@@#++###@++#.,,++
#'@@@#@@@@@@@@@,:####+##+#@@##+.'#+:,#:@:,;+#; +++':#+;:;:####+@##+#####'++#####;.:.,:##+'`,:;'#,...`....,.,';+++++#'';+;:;####`'#######@@@@@#+#+#,#+:;@#+##''###:,.....;;';;;'+#:,,,:;'##@+'++#++#.,,++
#+@@@#@@@@@@@@@,'###++##+#@@##+.;##;,#;@.,''+: ''+;#+#'#;;+####@#@##'###.;'#,+#,.,`:,:##+,:;`';#,.....`,.,.,';';.;#+#+'+:+'#+###'+#@###+@@@@@#@''+,##:+@#;#@#+###:,......,+':';:;;'` ++#+:++'++#''+,,,+#
#+#@@@+@@@@@@@@.####++########+.;++;,#'@,:++;' ''+;#;''#:'''..#####;`+;+;:`#;'``'#`+':+##`'',;##,...`...,..,';+,``+#+''',:'#''#;,:####@+@@#@#+@@'+,+@:+@##+#@++##:,......,:':';';;'';'''+#'+'++#''+,.,+#
+#;@@@'@@#@@@@#.########+#@###+.;+::,#+@,,++++ ''''#`'++:';...##;##`., `..`#`'+;` `++':.'`'+;+':,...`..`...,;'';::+;,``'   #';#:`;+####@@@#@####;#;+#,+@##+#@'###:,......`   ` :`,..,,,,:;,+++##'+#:.:++
'@'@@@+@@@@@@@+,#########+###++.:+;,,##@:,##'# '++##,,,`   :,,,,:.#..`..`::#,'': ',;';:.;` `;';;:,..........;'+,``,....`,:,#''+:+##+.###@@#@#@##;+'##:'@#####;+##:,..,.` `     . `      `,:,###@::;:.,#+
'@#@@@@#@@+@@@;.##+####++++##''.:#+,,##@:,+;;#'#####;;:';++;:::;'+#,..+'+,.#.;'.; `.':;.'',`;;;::,.........:''+;': `::,,,..'':,:++#;#######@#,:++''+#:'@##+@#;+##:,,.,.,:;;:,..`` .,:,,.`  :+++#,..,.,#+
'##@@@@:@@,@@@:,@#+++#+++++##+#.:##,,+##;,+++########:++;+;':,;'':':.,';;.`#  `.;.,.##:+;:``:.'.:,.......:.:+';`;'.: `;:,;;.. +'+,##+##'#.###,++++;:+:'@+#+#@++##;,,...;+;:.```;;`+++++;+';.;++#,..,.,##
'+@@@@@'@@#@@@,:@@######+######.:##,,+##+,#+'##++##++,'+,+;':,;;+,:'.;.,,.'# ,:.:.;,+#+#:'..':,.:,......;',,++'``.,,,.:,`+;,,`,+,##;:,'`:'##;:'###++,:'+'#+;@+++#;:,...';;:'+',+#.+###+#####.++#:..,,:++
'+@@@@@+@@@@@@,'@@#############.,#+,,'@#+,+'+'''''+++';'''';:,',;,':,+''':+#;++:;.:,'####;#;++++:,..,...:;,,+;,+ .,,;,',;+',,`...'#,``,``.@#,:,#+#@#;:;''#':#+++#;:,,..':',:''.'#.''++++####++##:..:,:'#
;@@@@@@;@@@@@@,+@@#######@#####.,#+,,;@#+,''+`#+++';:```   ;,,'.:,',,#'++;##'';:;';###:##'';##+#:,.`:...:;,,+;:#::',;;:.....,`,...,`.:;`,;##`,:#+#@@#:;'+#'+#+'+@;:,,..':':'''`+#`'+'+#+#####+##:..,.:;+
'@@@@@@:@@@@@@,#@@##+#@@@@@@@##.,##,,;@##,;;';'+++++'      :.:+:;:,.:++##+##;'',:###',,:::+`'##;,,..,...;:,,+;,:;'#,#:,,````.`;,..,`.;+,;'#@.:;#+####;:;'#'######;:,,.,;;':'''`+#`'###+######:+#:.+:,::+
+@@@@@@##@@@@@,#@@##@@@#@######:,+#,,:@+#,;'';+#+++++  `   :'++;'+++'+@##'##,##;:+;:,,,::,,`'##:,.`.,,..:,,,+':,:;;,::;.,++;;;'.;,:`.'+`.'@#.+;####@@#;;;+'###+##':,,.;:;',+;'`##`'###+##+##+,##;.':.:,+
@@@@@@@@@@@@@+,'##+++'';;;;:,,,,,+''''''++''':++++++':,;;;;###+++:#''#+##+####..,.,,,:::,::,;:#::...,...::,.+':::,::::.+:++':;+;'##,+..`.:##,,+#';'+#@;;;+'@##++#+::,.;:;'.+;+`##`;###+#####+:##;,::.,,+
#@@@@@@@@@@@@':+''';::::,,,:,;,.,+++;':::;;;'':#+#++++;;+++###':;#'#'#######,+,::,,,:::,:,:#;+#':...,.,`:,,.++::::::::''`;.:::+'###;+..''.##'#:;,:...++;;+'@##++#+,,..':'+,#'+`#:,:###+#####+`##',.:.,.#
#@@@@@@@@@@@@;:::,,,,,,,,,,,:::,,++''';;;;;;':'';:;'';;';;:+,#':'+##:###+#@;...,,,::::,::::'::,,,.....,`:,,,'+,::::,::,'##'#;,#;##;:+` +;`++;#'+`.,:;:::;+'@###+##:,..':'+:#;+`+#.,+####+###+.+#'..:.,.#
#@@@@@@@@@@@+;:::,,,:,::,,,::.:,,++::;:;:;;;'''+'+++;      ;#@###+'# #',:##:.,,,:,,:::::::::::,,,,.,.;.:,..;'#'::::;;;#,#####,':#@@'+:,#::#++##'+';'+:+::''@#+''##:,..;;'+;#;+`;+,.,+##+++'##::#+,,,.,,#
@@@@@@@@@@@#;:::,,,..........,,,,+#:';:;;::;'''++'''+``::``:#@###+## #######+#+#'::,,::::::::,:,;,.,:,,+,:;::#':;:::::#.#####,+'###+':`+:`:+@++#;'+###:,:+'@#;;'##:,,.;+'+:#'+,'#,.;+##++;'##+:#+,.,,,;#
#@@@@@@@@@@' :,`::::::::::::.,:,,+#;'::;;;;;''''#''++..+'..;+@#@@+##;+'':,;:,,,::::::::::::::,,,+..:;;+#,::;;#,;+'';::#;':#,#:;'###''+'':;+;;##+:.'###:`:';@#:''##,,.....,;+;'..#:.:::::+''###.++:,,::++
'@@@@@@@@@@' :,.::::::::::::..:,,+#';:;;;;;;;''#@+'+#,:;;::++##@#+@#'.,,,,,::::::::::::::::;,:;.#::,:#:#'.::;#.,::::::::'+###;;+#+++';;#:;;'+##':'';;:':;';#+,''##:,.........,...;`:;;;;:+'###,#++',+,;+
+@@@@@@@@@@#.;:::::::::::::::`::,+#+;;;;;;;;;'++#':@+##'+###'@####@`',,,,:::::::::::::;;;::::,',:;;::+'',.':;#;.,:::::::::,:::::::;#+###+';####:,,#::#'';#'@;.'+##:,,.,.........`;.:;;''';;;''+#+:,,,,;'
'#@@@@@@@@@@:;:::::::::::,::;'+,++#+;;;;;;;;;''+#++#######+#,@##@##,:::::::::::::::::;:::::;:,:::+';;+':;.:+;#+.,:::;;;;:,,,::::::,:######+#+@#;##@';#####'@:.+###:,,.:,,.....,,,.`:'+';;'',.'''+:,,,,';
+@@@@@@@@@@#,#:'..#+++';::+'.::##+++''';';;''+'@+@@@#'##..:#`#'.,:;'++###+';:::::::;::::::'#,,:::'::,;':';':;++..,,::::::::,,::::::::::;;''#;++;#+##+##+####;.'###:,.,::,,.:,.:.:. ;;`  ,,';''';#,,,,,':
#@@@@@@@@@@@+#+,.'#@@@@@##@;.,+##+++''''++'''''@+@@@@####### #:,,,,,,::::::;+###++';;::::,+#:,;;;:;':;:;,;,:+':..,,,::::::::,,:::::::::;;,,.:#+;@+#''@#;'###`,:###::,,,,,,,,,,'.;`    ` .,     `',,,,,''
@@@@@@@@@@@@##++.+#########;;.###++++++;::;;;''@+##@#####++#`',,,,,:::::::::::::;+###+++';'#,,::#.,;,,,+:,+;;,#;';,,:::::::::,,::::::::::::,;;:;+@###+@..+## ,,###..,,;,,,,,,..,;.'` :; `  `    ;,.,,,++
@@@@@@@@@@@++#+;,++##@#####'+.;+#+++::::::;:;;;@+.,@,,....,+:,,:::::::::::::::::::::;'+##':',::+',,;:'.,;:;;'+;'.,,#####++';::,,::::::::::::#;.'+'##+##....: :;###,...,;;:,,,,,,;.;` :;`.,``:;,.',.,,,''
@@@@@@@@@@@;,+'.+;'#####+##.+``+###+:;::::;;#+'@#:;@;',,,,,+.#:::::::::::::::::::;;;::::,':':,;,';;,,;,;':'+,+#:';,.,:::;;'''++###++'';;:::,@#;+:.+@,,#.....`.,;##.......,';:,,,:,,.`:,...`,',..#..,,,''
@@@@@@@@@@@;`+..+.'++++++#+.':.#@##+:;;;'';;@#+@####,.,,:::;+#::::::::::::::;::::;:::::,,,::,:::+'',,;::':';:''''',:,,:::::::::,:,,::::;;'+#####@#@@;:#,::,,+.....,...,,...,,':,,,`:..`,;;`,;`..#,.:,,''
@@@@@@@@@@@; #.;+.'+++#++#'.;'.####++'++''''@#+@##,,,,:::::.+#:::::::::::::::::::::::::,::.:,,;+;#;:;:;;;:;;'+,;++.+.,::::::::::::::,::::::::,,+#######;#++#+#####,...;+:..,..,;;,,'``,,.;..,.:.#,.,,,++
@#@@@+#@@@#'`#.+:.';+'+'++':.+.##+++@';'++++@@',.,,,,::::::'+:::::::::::::::::::::::::,,,..+;;:;:#+,;;'++;';++::+;:'.,,::::::::::::::::::::::::,,,,,,,,,+#,.:..,:;:,..'##,,,...`.;++:'+```'..;;.+,.,.,'+
@@@@@++#@@'+,#.+.;'::::;;:;+.+'+#'++@#'+++++@@+',,,:::::::::+::::::::::::::;;:::::::::::;.++:'++,#+:,'''#+'';,,,',,'.,,,:::::::::::,:::::::::::::,,,,,,,..;':.....,::,'##:,,,,,..,+;'+++''+':;'.',,,,:'+
;@@@@+'@@#:+,#;+.':  `    .+,;';#'+@@#++++++@@#,,,:::::::::;+:::::::::::::;;:;;::::::,::.,;:''';;#;:;';:#:#+;,,,':;',',,,:::::::::::::::::::::::::::,,,,,..,';,.....,.+##::::,:#.,'+'++#+###+'''#,,,,:'+
'@@@@+'@@#,+;;;;;;..,,,.,,,.,..,++'@@#++++++##@,::::::::::::#::::::::::;:;;;;;;::::::,,,,+;:+#.';#:;+;:,##';';+:+'+';:,,,::::::::::::::::::::::::::::::::,,,.,;;:,....+##:::::+#,:+;,+'#::++#++++,.,.,;+
'@@@@++@@#,+;:;;;;:;::::;;;:;;;;++'@@#+++++###@::::::::;::::#;:::::;;;;;:;;;:;::::::,:+,.#':#;..,+,:#',:+::,''+;+;';:,,.,,:::::;:::::::::::::::::::::::::::,,,.,;;:,..'##;::::'#::;:;+'+';;;++`;+.,,.,:'
'@@@#++@@@,';;';;;;:,:,,,,::::;,+++@@#++++###+#::::::::::;;:##'#;:::;;;;;:;;::::::::,:;,.'+'+:,'.#;.;;;'+#';:,':;':':..:,,,::::;:::::::::::::::::::::::::::::,,,,.;':,:#+';:::+:,:+,:;++#'#'++:;',,,,,,;
+@@@'++@#@.+#'';;;;:,:,,,,,:::;:#++@+#++++#@'#,::::::;;:;;::##+:::::::;;;;;;::::::::,:+,.,:;:,,::',;:':''++:;';:';:+',:.,,,::::::;:::::::::::::::::::::::::::::,,,,.;;;++;'';:+#;;+;':++@@###';;+:,,,,,,
+@@@'+#@@@'#@'';;;;:,:::,...,;;'###@##+++';@@+,::::;:;:::::::::::::::;;;;:;::::::::,:'#:.:+'+;:'':',:+;':';:+;;:++'+++;.:,,,,:::::::::::::::::::::::::::::::::::::,,,.,#'';'''+#':#;+'#####@#:''+;,,,,:,
@@@@''@@@@@+#'++''++''++++++++'+##@@#++'::#@#+:::::::;:::::::::::::::;:::::::::::::,::+:.::+#:,'''',';;;++++';;'+++''+:..,,,,:::::::::::::::::::::;:::::::::::::::::,,.':#',;;'#';#'+###';;:;###+#,,####
@@@@+'@@@@@+::,::,:'#@@#@+.....,:#@@#',:#@@@##,:::::;::;::::::::::;::;::::::::::::,::.''.',;#.,;+++:'+;:',;#'::+';'+#;,..,,,,:::::::::::::::::::::::::;:::::::::::::::,:.##+','+''###+:',,:;+###@@####@@
##@@@'@@@@@@;;;:;;#;#####+;;;;;'#@@@+'#@@@@@#@:::::::::::::::::::::::::::::::::::,,:,,;',#.##,;:;;+#;',',;''':,+'':'+,,:,,,,,,::::::::::::::::::::::::::::::::::::::::,,;###+++:',######:.:,+++'+@#@@#@@
+;@@@@@@@@@@;::,,.`````..,`` ``;#@@@+@;@@#@@##:::;;:::::::::::::::;;::::::::::::,,::.,#:,#;++:;,'''#:':;#,''#,,'#;'''::,;.;.,,::::::::::::::::::::::::::::::::::::::::::.@,..,#:;;##@@@#;:,.#####@@@@@@@
.,@@@@@@@@@@'+++++''+''++#++++++#@@@#'+@##@@@@#+'::;;::::::::::;:;;::::;::::::::,::,..+':#;';:+:'+##:.;';,;;;::,+++++;;,;,.,,,,:::::::::::::::::::::::::::::::::::::::'',@:,..@';#+@@#####+##@####@@@#@@
,:@@@@@@@@:@@@##@##############@@@@@+@@@@@@@@@@#+';;::;;;:::::;;:;:;:;:::::::::,,::,:,;::#;;;:#''#;#;;'''';,#+,;':#'+';'',.;,,,,:::::::::::::::::::::::::::::::::::::::;#@####@.'@@@@@@@@@@@@@,'.+######
:;@@@@@@@@,@@###@+'';:::.::#@@@@@@@@'@@@@@@@@@@';;;:::;;:::::;:;;;:;;::::::::::,::,::,'';#:,::;++':':';';++;##',#++'#++;':,:,,,,::::::::::::::::::::::::::;::::::::::::,:'#@@@@.+@@@##@+'##@@@.,,:::++++