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