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