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