######@#+##@@@#@###################++++++####@@@@@@@@@@@@@@@@@@#####+++++++'''+++''++++++#++++#+######:....
######@#+##@@@#@###################+++#++####@@@@@@##@@@@@@@@@@#####+++++++'''+++''+++++++++++++#+####:....
######@####@@@#####################+++#++#####+';;;';''+#@@@@@@#####+++++++'''''+''++++++++++++###+##+:....
######@####@@######################'++#++###;::;'#++;;'+###@@@@#####+++++++''++++'''++++++++++++++++++:,,,,
######@#++#@@@@####################+++#+'#';+##@#####';'+###@@@@####+++++++''+'++'''+++++++++++++++++';::::
######@#++#@@@#####################++##'+#+'[email protected]@#@####+++++##@@@#####+++++++''+'++'';''++++++'++++++++''''''
######@##+##@######################++#+'#@#'+#####+;'##++#####@#####+++++++++'+++';:;'+++++''''++++++''''''
######@#+#####@####################+++'+###++###@#+';;+#####@#@#####+++++++''++++';.:'+++++''''++++++''''''
######@#++#########################+++;'##+#####@@@@#''++#@##@######+++++++''++++':`,'++++++'''++++++''''''
######@##+#########################+'''##+#@####@@@##';+###@@#@#####+++++++''++++':`.+++++++++'++++++''''''
######@#++#########################+';+#########@@@@@@#''+##@@@#####+++++++''++++':`,++++++++++++++++''''''
######@#++#########################+''#@@@####[email protected]@@@@##+###@@@####+++++++''+++++;,:++++++++++++++++'';'''
######@#++#@#######################+;[email protected]@@@###';;;;+##@@@@#+###@@@###++++++++++++++;:;++++++++++++++++'';;''
######@#++#@@######################''#@#@@#++;;:::::;[email protected]@@@+#@@@@@@###+++++++++++++';'++++++++++++++++'';;''
++####@#++#@@@@@##################+'+##@#+';;:::,,,::;'##@#+#@@@@@@##+++++++++++++';'++++++++++++++++'';;''
;;'###@#++#@@@@@@@###############+''#+##+;;::::,,,,,,::+##@##@@@@@@##+++++++++++++''+++++++++++++++++''''''
..:###@#++#@@@@@@@###############+''####';;::::,,,,,,::;##@##@@@@@@@#+++++++++++++''+++++++++++++++++''''''
``,###@##+#@@@@@@@###############+'+##@#';;::::,,,,,,::;+###@@@@@@@@#+++++++++++++''+++++++++++++++++''''''
.###@##+####@@@@###############+'##@@#';;::::,,,,,,:::'+##@@@@@@@@@+++++++++++++''++++++++++++++++++'''''
.###@##+#####@@@###############'+#@@@+';;::,,,,,,,,:::;+#@@@@@@@@@@@++++++++++++''++++++++++++++++++'''''
.#####++######@@@###++#########++##@#+';;::,,,,,,,,,::;'+#@@@@@@@@@@@++'++++++++''++++++++++++++++++'''''
.######+###@#@@@@##############+###@#+';:::::,,,,,,::::;+#@@@@@@@@@@@@#+'+++++++';;'+++++++++++++++++''''
.###@@#+######@@@@#############+###@#++';:::::::::;++''[email protected]@@@@@@@@@@@#+++++++++'::;++++++++'++++++++++++
``,###@@#+#######@@@#############+###@@#+##++':::;+++';';''+#@@@@@@@@@@@#+++++++++';:;'+++++++;::+++++#####
..:###@@#+########@@#############++########++';:::;'#@###+''[email protected]@#@@@@@@@@#+++++++++';;;'+++#+;::.,;++++#####
,,:###@@#+########@@@#############+#####@'+#''+:,::';;';#':;'#@#@@@@@@@@@++'++++++';;;:;+##;,.,,,:'+++###@@
::;###@@#+#########@@@############+####+#+'';;':,:,:''';:::;'#@##@@@@@@@@#+'+++##+;;:::;+##';,,,,,,:;+###@@
;:'###@@#+#########@@@@@@##############''';;::;:,::,,:::::::'#@##@@@@@@@@++'+++++'::::'+#++#+'';:,..,;###@@
''+###@@#+#@@@@#########@@@@###+####@##;::::::;::::,,,,,,::;'#@##@@@@@@@@#''+++';:,::::;+++++#+#+;,,,'+'+#@
###########@@@@@@@#############+##@####'::::::;:,::,,,,,,::;'####@#@@@@@@#+'++':,,,:::,,'#+++####',,;+';'+#
#++######+#@@@@@@@###+++######++####@##+;::,,:;:,:::,,,,,:;;'#'@#@@#@@@@@@++'+':,.,,:;;'+##+#####',,;;;'++#
#++######+#####@@@###++#++++++'##@@#@@@+;:::,:;,,:::::,,::;''##@#@@##@@@@@@+'+':,..:;+####+######':::,.,'##
+''######+#####@@@###++#+++++'#@#@##@@##';:::;'::'':,::::;'''+#@#@@####@@@@++';;:,:+#++##########':,...,;##
#++######++#####@##+++#+###+++####@#@@@@+':::;++'::,,::;;';;';#@@@@####@@@@#+''+;:'###+#####@#####;,...,;##
#++######++#####@#++++######+#######@@@@#+;;;;;::::::::;;;;;+#@@@@@#####@@@#+++##+###+#########+++;,.,..,'#
#++####@#++#####@#+++#######';'++###@@@@#+;;;;'';'';;::::;;'##@@@@@######@@#+++######++##+####++'':..::..:#
+++######++#######++########'''[email protected]###@@@@#+';+++++++'';:::;;'@#@@@@@######@@@++###@@#+''++'+#####+';::##;,,+
+'+######+######@@##########'+#@###@@@@@@+'';'';::;';::;;;'#@@@@@@@@##@@@@#@#+###@@+''''++++#####+++####;;+
'''######+#####@@@######@@#+'[email protected]###@#@@@@@#+'''''''';::;;;'#@#@@@@@@####@@@@@@###@@#+''''+''+####@########+#
';'######+##@@@@@@##@@@@@@@#++++###@@@@@@@#+';'''';:::;'+##@@@@@@@@####@@@@@##+######+''+';[email protected]@###@@#####@@#
''+########@@@@@@@@@@@@@@@#@#####@@@@@@@@@##+;;::::::;'+###@@@@@@@@@####@@@@#++######';;''[email protected]@@@##@@@@######
''+####@#+#@@@@@@@@@@@@@@@#@##@@@@@@@@@@@@###';::::::'+#++#@@@@@@@######@@@@####++##';;''[email protected]@@@@##@@@@@@####
+++####@#+##@@@@@@@@@@@@@@##+#@@@@@@@@@@@@####';;;;;'[email protected]@@@@@@@@######@@@@####+##';'+''#@@@#@##@@@######
+++#@##@#+##@@@@@@@@@@@@@@##+#@@@@@@@#####++###++'+++++++#@@@@@@@@#@######@@#####+++++#@#+#@@#####@@#######
+++######+##@@@@@@@@@@@#@##+'@@@@##++++'+++++##++++++''''##@@@@@##@@@###+##@@###+#''###########@@@@##+#####
####@###++##@@@@@@@@@@####++#@';''''';;;'+++++++++++''''+#@@@@@@####@@@#####@#####;;+#########@@@@@#++#####
###@@##+++##@@@@@@@@@##+#'+#;:;;;;;;:::;'+''''++++'''';;+##@@@@@###@@@@@#####@###+''++#####++###@###+######
###@@##+++##@@@@@@@@@@#+;+#@@::::::::::;;+'''''''''''';;'##@@@@###@@#@@@@@#@@###++++++++++',,''++##+++####@
####@##+'+##@@@@@@@@@'::::'@@'::::::::::;'''';'''''';;;;'+###@@###@@#@@#@@@@#@#++++++++++++,,'++++++++#####
####@#+''+##@@@@@@@+,::::::[email protected]#:::::,::::;;;;;;;;''';;;;;'[email protected]##@@##@@@@#@@@@@@@@#++++++++++###+###++++++#####
####@#+''+##@@@@@@;.::::::::@@;::::,,,,::;;;;;;;;;;;;;;;''+#@@@@#@@@@@#@@@##@@@##++++++++########+++++#####
####@#+''+#####@@' ,::::::::#@':::::::,,::;;;;;;;;;;;;;;;'++#@@@#@@@@@##@@#@@@@#+####++++###+####+++''+####
####@#+''+#######.`:;:::::::[email protected]#,::::::,:::::;;;;;;;;;;;;;;++#@@@@@@@@@##@@@@@@@##++#++++####+####++''''++##
###@@#+''+######;,:;::,,::::;@@:,:,::::::::::;;;;;;;;;;::;''#@@@@@@@@####@@@@@@#+###++++#########+';;;'''''
####@#+'++####++::;;:::,,:::;@@;,,::::::::::::::;;:::;::::;'[email protected]@@@@@@@###@@@@@@##@#++++++#########';;;;;''''
####@#+''+#++++::;';;::::::::@@#,,,:::,:::::::::;::;:;:::::;+#@@@@@@@@@@@@@@@@###++'''''+#######+;;;;;'''''
####@#''++#+++':;'';;::::::::@@@:,,:::::,,,,,,:::::::::::::;'#@@@@@@@@@@@@@@@@@@@#+';;:;+#######+;;;;;;''''
####@#'''+++++:;;';;;;:::::::@@@;,,,,,:::::,,,,:;:,:,::::,:::'#@@@##@@@@@@@@@@#@@@#';:,:'#######';;;;;;';;;
####@#+'+++++';;'';;;;:::::::@@@#,,,,,:::::::::::::::::::::::;+#@@@#@@@@@@@@@@##+#+';:::;#######;;;;;;;;;::
####@#+'++#++;;''';;;;;:::::;@@@@:,,,,:::::::::::::,::::::;;;'+####@@@@@@@@@@@@##'+;;;::;'####@+;;;;;';;;;;
####@#+++##++;;''';;;;;:::::'@@@@;,,,,:::::::::::::,:::::;;;;;'+#@#@@@@@@@@@@@@@#'';;;;;;'+####+''''''''';;
####@#++###+';''';;;;;::::::[email protected]@@@#,,,,:::::::::::::::::;;:::::;'#@@@@@@@@@@@@@@@@@@#::::;;'''+'';;;;;;;;;::
####@#####++';''';;;;;::::::#@@@@@:,,::::::::::::::::::::::::::;'#@@@@@@@@@@@@@@@@@@::::;;;::;:::::::::::::
####@###@##+''''';;;;;;;::::@@@@@@#,,,::::,,,:::::::::::::::::::'#@@@@@@@@@@@@@@@@@@::::;;;:::::::::::::::;
####@###@##+;'''';;;;;;;:::;@@@@@@@,,,::::,,,,::::::::::::::::::;#@@@@@@###@@@@@@@@#;;;;;;;;;;;;;;;;;;;;;;;
####@###@##+;'''';;;;;;;;;:[email protected]@@@@@@',,::::,:,,:,:::::::::::::::::@@@@@@@#+++#@@@@@@#';;;;;;;;;;;;';''''''''
####@##@@##+;''''';;;;;;;;:#@@@@@@@#:,:::::::,::::::::::::::::::;@@@@@@@@''''+#@@@@#';;;;;;;;;;;;;;;;''''''
####@##@@##+;'''';;;;;;'';;@@@@@@@@@;:::::::::::::::::::::::::::#@@@@@@@@';;;;'+#@@@;;;;;;;';;;;;;;;;;;''''
####@@##@##+;''''';;;;''';#@@@@@@@@@#:::::::::::::::::::::::::::@@@@@@@#@';;;;'+#@@@#;;;;'';;;;;;;;;;;';'''
####@######+;''''';;;;''+'@@@@@@@@@@@;:::::::::::::::::::::::::'@@@@##@##;;;;;''#@@###'+#';;;;;;;;;;;;;;'''
####@#++++#''''''';;;;'[email protected]@@@@@@@@@@#:::::::::::::::::::::::::@@@@@@@@#+;;;;;''+###@##+';;;;;;;;;;;;;';'''
####@#++++#''''''';;;;'+##@@@@@@@@@@@@::::::::::::::::::::::::'@@@@@@@##';;;;;''';'+##@+;;;;;;;;;;;;;;;;'''
####@@++++#''''''';;;;'[email protected]@@@@@@@@@@@@@#:::::::::::::::::::::::@@@@@@@@#+';;;;;'';;''#'++'''''''''''''''''''
####@@++++#'''''';;;;;'[email protected]@@@@@@@@@@@@@@::::::::::::::::::::::'@@@@@@@##+;;;;;;'+;;'++''++++++++++++++++++++
####@##+++#''''''';;;;'##@@@@@@@@@@@@@@+:::::::::::::::::::::@@@@@@@@##';;;;;;'';;''';;'+#++######@@@@#####
####@@#+++#'''';'';;;''##@@@@@@@@@@@@@@@::::::;:;:::::::::::'@@@@@@@@#+;;;;;;''';'';;;;'+#+#####@@@@@@@####
####@@+++++'''';';;;;'+##@@@@@@@@@@@@@@@#:::::;;;:::::::::::@@@@@@@@@#@';:;;;'';';;;;;;'+######@@@@@@@#####
####@@+++++''';'';;;''#@#@@@@@@@@@@@@@@@@:::::;;;:;::::,:::'@@@@@@@@@@@@;;;;''+;;;;;;;;'+#####@@@@@@@@#####
####@@++++'''';;;;;;'+#@@@@@@@@@@@@@@@@@@#::::;;;;;;:::,:::@@@@@@@@@@#@@#;;;''';;;;;;;;'#####@@@@@@@#######
####@@++++'''';;;;;;'##@@@@@@@@@@@@@@@@@@@':::;;;;;;;:::::[email protected]@@@@@@@@@###@;;;''';;;;;;;;'#####@@@@@@#@@@##@#
#++#@@++++''''';;;;'+##@@@@@@@@@@@@@@@@@@@@::;;;;;;;:::::;@@@@@@@@@@#++#@';''';;;;;;;;;'#####@@##@@@@@@@@@@
++'+#@#+++;'''';;;;'[email protected]@@@@@@@@@@@@@@@@@@@@':;;;;;;;::::;@@@@@@@@@@@#+###';''';;;;;;;;;'######@#@@@@#@@@@@@
#+++#@#+++;'''';;;;'#+#@@@@@@@@@@@@@@@@@@@@@;;;;;;;;::::#@@@@@@@@@@@#####;;''';;;;;;;;;'###@@###@#@##@#@@@@
####@@#+++;'';;;;;''#+#@@@@@@@@@@@@@@@@@@@@@@;';;;;;:::[email protected]@@@@@@@@@@@####';;''+;;;;;;;;;'######@###@##@###@@
####@@#++''''';;;;'+++#@@@@@@@@@@@@@@@@@@@@@@#';;'';::[email protected]@@@@@@@@@@@@###+';;''+;;;;;;;;;'##################@
####@@#++;''';;;;;'[email protected]@@@@@@@@@@@@@@@@@@@@@@@+;;'';;[email protected]@@@@@@@@@@@@@#++';;;''+;;;;;;;;;'#############@#@@#@
####@@#++;'';';;;''#[email protected]@@@@@@@@@@@@@@@@@@@@@@@@;;'';#@@@@@@@@@@@@@@@+'';;;;''';;;;;;;;;'++#################
####@@#+;;'';;;;;'+#[email protected]@@@@@@@@@@@@@@@@@@@@@@@@#''[email protected]@@@@@@@@@@@@@@@#';;;;;;''';;;;;;;;;'+################''
##@@@@#+:;'';;;;;'+#[email protected]@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@#';::;;;''';;;;;;;;;'+###############+;;
##@@@@#:;'';;;;;''[email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+';::;;;'+;;;;;;;;;;'+##############+';;
##@#@@+:;'';;;;;'[email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;@';;::;;;'+;;;;;;;;;;'+##############+';;
#####@;;;;;;;;;;'[email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;#';;::;;''+;;;;;;;;;;'++#############+;;;
######;;;;;;;;'''[email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;;#';;::;;''';;;;;;;;;;'++############+';;;
######;';;;;;'''+#++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@';;+';;::;;'+;;;;;;;;;;;'++############';;;;
######'';;;;''''++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;'+';;:;;''+;;;;:::::::;++#####+++++#+';;;;
######;;;;;;''''+#++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;'+';;:;;''':;:::::::::'++++++++++++++'';;;
##+##'';;;;;''''+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''+;;;;;;''';'''''''';''++++++++++++++++'''
#####;';;;;;';''+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++#+;;;;;''++++++++++''''++++++++++++++++#++
##+##;';;;;;;;;'+###++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####';;;;;;'++###++#++';''+++++++++++++++####
####+'';;;;;';;'+++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####';;;;;;'++##++++++';''+++++++++++++++++##