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