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