#######################################################################################i:*+*****+++****++++++******************;``  +#################
#######################################################################################i:*+******++++****++++******************;``` +#################
##################################################################################@####*;********++++*****+++******************;`   +#################
######################################################################################W;;*******++*++****+++++***********iii***;`  +##################
######################################################################################n`;**+****+++++****++**************iii**i:`  @##################
#######################################################################################*;*++*++*++++++***+***************ii***;,   @##################
#######################################################################################i:*+**++++++++****+****************i***;.   @##################
######################################################################################@i,*++*++++++++++*++********************:`  +@##################
#######################################################################################i,i++*++++++++++++********************i,  .x@##################
#######################################################################################i,*++*+++++++++++*******************i*;.  *@###################
#####################################################################################@Mi,*+**+++++++++++*********************:` .@####################
#####################################################################################@ `:*+**+++++++++++*******************i*,` *#####################
####################################################################################@@``;*+*+++++++++++++*******************;. *@#####################
#####################################################################################x `;**+++++++++++++*+****************i*:. #######################
####################################################################################n.`.;*+++++++++++++********************i,`,M######################
###################################################################################@+ `,i+++++++++++++++*******************i.`W#######################
####################################################################################*``:*++++++++++++++********************;.`########################
###################################################################################M,`.i+++++++++++++++*******************i:``########################
###################################################################################```:*++++++++++++++++******************i.*@########################
###################################################################################``,*+++++++++++++++*++***************i*i.+@########################
#################################################################################n:``;*+++++++++++++++*+++++++++********ii:,+#@#######################
##################################################################################``:*++++++++++++++++++++++++++********ii:,+#########################
################################################################################## ,*++++++++++++++++++++++++++++******i*i,,M#########################
################################################################################:..i++++++++++++++++++++++++++++++*****i*i.M##########################
##############################################################################@x``:+++++++++++++++++++++++++++++++*****i*;`@##########################
##############################################################################x.`,*+++++++++++++++++++++++++++++++*****i*;`@##########################
#############################################################################@+`.i*++++++++++++++++++++++++++++++******ii:`@##########################
############################################################################n*`.;**+##+++++++++++++++++++++++++++*******i:`@##########################
###########################################################################@* .;*++++++++++++++++++++++++++++++++*******i:`@##########################
########################################################################### ``;*+++++++++++++++++++++++++++++++++******ii, @##########################
#########################################################################ni `:*+++++++++++++++++++++++++++++++++++***i**i. @##########################
########################################################################M* .:i*+++++++++++++++++++++++++++++++++++***i**i. @##########################
########################################################################. `:i*+++++++++++++++++++++++++++++++++++++**iiii. @##########################
######################################################################x:``:i*++++++++++++++++++++++++++++++++++++++***ii;` @##########################
######################################################################z``,i++++++++++++++++++++++++++++++++++++++++***ii;` @##########################
#####################################################################+;`,**++++++++++++++++++++++++++++++++++++++++***ii:` @##########################
#################################################################@##W,`:i**++++++++++++++++++*****+++++++++++++********i:  @##########################
###################################################################W;`:i**++++++++++++++++++++*****+++++++++++*******i*i:  @##########################
###################################################################:`:***+++++++++++++++++++++*****++++++++++********iii:  @##########################
#################################################################W:`,i**++++++++*+++++++++++++******+******+*********iii:  @##########################
################################################################W:`,i+++*++++++++++++++++++++****++******************i*i:  @##########################
###########################################################@####:`,;+++++++++++++++++++++++++***+++******************i*i:` @##########################
##############################################################Wn.,i*++++++++++++++++++++++++++**++*********************i:` @##########################
##############################################################z`.;*++++++++++++++++++++++++++**+***********************i:` @##########################
#############################################################:..i*+++*+++++++++++++++++++++++**************************i:` @##########################
###########################################################W#,,i**++**+++++++++++++++++++++++**************************i:` @##########################
###########################################################n`:**+++**++++++++++++++++++++++++**************************i:  @##########################
######################################################@@##:`:***++**++++++++++++++++++*******************************iii, `@##########################
#######################################################@##;,**+#+**+++++++++++++++++++******************************iii;. i@##########################
########################################################M,,*++#***++++++++++++++++++++*****************************i*ii:`i@###########################
######################################################Mz+,i+#++***++++++*++++++++++++******************************iiii,`i############################
#####################################################@: .;+##+***++++++++++++++++++++*******++********************iiiii, i############################
###################################################n`.`,i+##+***+++++++++++++++++++++++++++***********************iiii:.`*############################
###############################################n+++*.,;*+##+****+++++++++++++++++++++++***************************iii;:` i############################
###########################################@@@@;`.,:i*++##++***+++++++++++++++++++++++***************************iiiii,`.M############################
##########################################x``..,;i*+++#z#+****+++++++++++++++++**++******************************iiii;,`i#############################
#####################################W****,,:i**++#+++###+***+++++++++++++++++++*++******iii***ii**************iiiiii;.`W#############################
#################################@WWMx```,;*++++###++++++**+++++++++++++++++++++*++******iii***iii*************iiiiii:.`M#############################
#################################+ ```,:i*+#++####++++*+**+++#++++++++++++++++++******iiiiiii**iiiii****ii*****iiiii;:` W#############################
###############################@;,`.:i++##########+++*****++#++++++++++++++++++*******iiiiiiiiiiiiiiiiiiiii****iiiii;,`*@#############################
###########################@#@##.,*##############+*++****++#++*+++++++++++++*********iiiiiiiiiiiiiiiii***i*******ii;;.;###############################
##############################+#;+zzzz#####+####z**++*i*++##++*+++++++++++**********iiiiiiiiiiiiiiiiii***********ii;:.;###############################
#########################@WWW::*###########++###+**++*i*+###++*+++++++++**********iiiiiiiiiiiiiiiiiiii**********iii;,`;###############################
#########################+ .:*#####+++++++++++++***+*ii+####++**+++++*************iiiiiiiiiiiiiiiiiiii*******i**iii;,`;###############################
###################@#@xii:,i+###+++++++++++***++**++*ii++###++**+++*************iiiiiiiiiiiiiiiiiiiiii**********iii;.`;###############################
#################@#@MM+`,;+####++***********ii++**+*iii*+++++++++**************iiiiiiiiiiiiii;iiiiiiii**********iii:.`@###############################
###################n`.:i++####++***iiiiiiiiii*#+**+*i;i***+++++********iiiiiiiiiiiiiiiiiiiiii;iiiiiiii**********iii,``################################
################@#*,,i#zzz##++**iiiiiii;;;;;*##+****i;iii*************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**********ii;.``#@##############################
###############xnn:;+zzz##+++**iiii;;;;;:::*+##*****i;;iiiii*******iiiiiiiiii;;;;;;;;;;;;iiiiiiiiii*ii**********ii;.`:###@############################
###############;`.i##zz###++**iii;;;;;::::i+###****ii;;;;iii******iiiiiiiiii;;;;;:::::::;;;iiiiiiii**ii*********ii:` x################################
######@#@#@##:,.:*#z###++***ii;;;;;::,:,;*####+****ii;;;;iii*******iiii***i;;;;;;;::::::::;****iiiiiiiii*********i:` x################################
##########nz#..;#zz#++**iiii;;;::::,,,.:*#####+****ii;:;;i**ii****iiii*****ii;;;;;;;;;;;:::;***iiiiiiiii*********i,  x################################
##########:`.;*#z##++*iii;;;;:::::,..`:*######*****ii;::;i**iiiiiiiii****ii;;;;;;;;;ii*iii;:;*+*iiiiiiiii**ii****i,  x################################
#######;`.,*#zzzz+**ii;;;;;;:::,,..+`:*#+####+**+**ii;::;i**iiiiiiiiiii;;;::;:;;;:::;;iiiiii;i**iiiiiiiiiiiii***ii,  x################################
#######;,;+##zz##**i;;;;::::,..``` `.i##++#+#+i*+***i;:;;;iiiiiiiiii;;;:::;::,,,,,....,,,:;ii;i**iii;;iiiiiii***ii,  x################################
#######;:*#zzz#++*i;;;;::,,.```.x* .;##+++++#+******i;::;;iiiiiiiii;;::::;i:``````    ```..,,:;i**ii;;;;iiiiii**i;,  x################################
#####@z,,+###++*iii;:::,,.`iiiiMn;`;+##++++++*******ii;:;;;;;;;;;;;;;;iiii;.` .iiiiiiiii;````.,;i*ii;;;;;iiiii**i;. ,M################################
#####M  ,*+++*ii;;::::,.```###@#``:+##+++++++**+*****i;::;;;;;;;;;;::;iii;:.``x#########@i ` `.:iiiii;;;;iiiiiiii;. +#################################
#####M  .iii;;;:::::,.``WWW###z.`:+###++++++**++*****i;;;;;;;;;;;;;;::;ii;.`+@###########@WWWW`.;iiiii;;;iiiiiiii;. +@################################
#####W*.`,;::::::,,.`.+*#####z;`,##+++++*+++*++++*****i;;;;;;;;;;;;;;;;;i:`+x################W`.:;iiiii;;iiiiiiii;. +#################################
#######;``.,,,,...```n#######.`,*#++++***++**++++*****i;;i;;;;;;iiiiiii;i.`#@##@#############@+`:;;iiiii;;iiiiiii:. +#################################
##########,```    M###@####n``:+z#+**********+++++*****;iiii;;;iiii****ii.`####################*,i;iiiiiiiiii**ii:`:##################################
##########z#######W#######@;`.*z#++*********+++++***++*;;iii;;;iiii***i*:;#####################*,i;iiiiiiii****ii:`:##################################
#########################@M .i##++**********++++****+++;;iiii;;iiiiiii*;.+#####################*,i;iiiiiiii****ii:`:##################################
##################@######+ `:+##++****ii****+++*****+++;;;ii;;;;iiiiii+;`+#####################i,iiiiiiiiii*****i,`:##################################
########################@+`:+###+++**iiii***+*******+++i;;;;;;;;;;iii**i.+#####################i,iiiiiiiiiiii***i,`:##################################
########################@i,*#+++++***iiii***********+++i;;;;;;;;;iiii***.+#####################i.iiiiiiiiii*****i,`:##################################
########################*.*z#+******iiiii***********+++i;;;;;;;;;iiiii**,+#####################i.iiiiiiiiii****ii,`:##################################
#####################@@@.i###+**iiiiii;;i*++********+++i;;;;;;;;;iiii***:+#####################*.iiiiiiiiii****i;.`:##################################
#######################.i###****iiiiii;;********i***+++i;;;;;;;;;iii****:+#####################*`iiiiiiiii*****i;. :##################################
#####################+;:###+***iii;;;;;i+++***iiii**+++i;;;;;;;;;iii****;+#####################*.iiiiiiiii*****i;` :##################################
###################@M.,+#++**iiiii;;;:;i*+++***iii**++*i;;;;;;;;;;iii***;+#####################*:**iiiiiii*****i:` :##################################
###################z .*#++**iiiiii;;::i***++***iii**++*i;;;;;;;;;;iiii**;+#####################*i+*iiiiiii*****i:` :##################################
################@##n`;##+**iiiiii;;:::i*+***+*iiiii****;;;;;;;;;;;iiii**:+######@#####@######@;,*+*iiiii*i*****i:``:##################################
##############@###x+:##++**iii;;;;;,,:**++ii**iiiii***i;;;;;;;;;;;;iiii*,*###@##@############@`.**+iiiii****+***:` *##################################
##################:,*#++**iiii;;;;:,`;++iiiii*iiiii**i;:;;;;;;;;;;;iii*i.:M######@@##@#######@`:++*iiiii********:` @##################################
################x,.+z#++**iii;;;;:,`.*z#*iiiiiiiiiiiii:,;;;;;;;;;;iiii*i:.,,::#@#####@,,,,,,,,`;++*i;;iiiii****i,` @##################################
###############x+,*zz+++*iii;;;::,``,##+++*iiiiiiiiii;+:iii;;;;;;;iiii*##+i,..#zWzzzz#`````````;+*ii;;;iiiii**ii,``W##################################
##############n.,*zz##+**iii;;;,,.``:##+++*iiiiiiiii;;#*ii;;;;;;;;iiii+#z##+i,``: ```,;iii*ii:,:+*i;;;;;;;;;iiii,` @##################################
#############,`,*zzz#++*iii;;::,`+W`:++++**iii;iiiii:,#iii;;;;;;;iiii*#zz####*:..,:;*+####zz##+*+ii;;;;;;;;;;ii;`  @##################################
#############..i#zz#++*ii;;;:,,`.x@.i******iiiiiii;;,.#*;i;;;;;;;iii*+########*i*+####zzzzzzzzz#*i;::::::;;;;;;,` ;@##################################
###########x:.i+z##++*ii;;;:,.` Mz:.*+*****iiiiiii;,`,#*;i;;::;;;ii*++#+++####+#zzzz#zzzzzzzzzn#i;;:::::::::::,`  n###################################
##########x*.*#z+#+**iii;;:,.`,i@+`,*****iiiiiiiii;:iW@i:i;::::::;i**+**+++++#+#zzz###z#######z+;::::,:::::::,`` *####################################
##########,`:#z++***ii;;;::.``*##+`;**i*iiiiii;;i;:i##x,,;;::::::;;i*****++++++#zz########++###*:::::,,:::::,`  +x#@##################################
#######W.,.;#z#+*iii;;;::,.`+W@##+.****iiiiiiii;;;,;##n``,:::::,,::;;iii****+++#zz##+###++++++#i:,,::::::::,`  .W#####################################
#####z#,`,i+zz#+*i;;;;::,.`*x#@##;:+***iiiiii;;;;:.;#@#zi`,,:,,,,,:::;;iii*****#z##++++++******;,,,,::::::,`` .x@#####################################
#@###```:+++##+*ii;;:::,.ix###@#``;+***iiiiii;;;;,`;####M `.,,,,,,,::::;iiii***+#+++++++**iiiii:,,,,,,::::.`` ;#######################################
####i .;#+*+##+*;;;;;:,.:z###@#@`.****iiiii;;;;;:.x####@##:``..,,,,,,,::;;iiiii++*******ii;;:;;,,,:::::::,`` x@###@###################################
####i`:++**+#+*i;;::,,`i####@###`:****iiiii;;;;;,`x####@##z###i`...,,,,:::;;;;i*****iiiii;:.,::,,,::::::,`  :W########################################
####i,iii*+##*ii;:::,`i@########.;+**iiiii;;;;;;,.M###@#######z.....,,,,,::;;;;iiiiii;;;;:.`.:,,,::::::,.` ,W#########################################
####i.:;i+##**i;:::,``*#########,i**iiiii;;;;;;:;#################:``.,,,,,::::;;;;;;;;:,``.,,,,,:;::,,,`  :##########################################
####i.;*++**i;;:::.``zM#######ni,***iiii;;;;;;;,:#################nzz.`.,,.:,,,::;:;::,..nzni,,,,:::,,,.`` n#@########################################
##@#i`:ii;;;;:::,```,W######### :i**iiii;;;;;;:.:####################i:,:,..,,,,::,,.:::i##@+..,:::,,,,.  z@##########################################
####i`.:::,:,:,.```;###########`;**iiii;;;;;;;,`:#########################```......`;W######+.,,::,,,,,`  n#@#########################################
##@#i `..,,,,,````zM#########@#`;**iii;;;;;;;:.`:##################@#####Wx.````````####@###+,.,:,,,,,.`.xW###########################################
#####i```.````  +###@########.`,i***iii;;;;;;,`n#############################################W..:,,,,,. i#############################################
#####@z#*` :##############@##.`;****iiii;;:;:.`n#############################################@``....,.`i@#############################################
########@MiW####@##########@W.,*+****iii;;;;,`.z#############################################@.```....`z##############################################
######@####@####@##########z``:++*****ii;;:,..#################################################z``````i###############################################
##########################@,`.i#+****ii;;;:,`.##@###############################################xnnnnnx###############################################
########@###############@#@ `:###***iii;;;:`,i###############################################@########################################################
########################### `i##++*iii;;;:,`##########################################################################################################
####@#####################``,*##+**ii;;;;:.x@@########################################################################################################
#########################+ .;+++**ii;;;;:.`###########################################################################################################
####@####################+`,*++**iii;;;;,``###@#######################################################################################################
##@@W,..################z``:++*iiiii;;;:.+W#@#########################################################################################################
####i ` ################` `;+**iii;;;::,`+############################################################################################################
####i  #################``:i+**i;;;;:::.`+############################################################################################################
####i .M##############Wx`.i*+*ii;;;:::,;*#############################################################################################################
####x#x################``;ii**iii;;::,`n##############################################################################################################
###################@#@#`,;ii**ii;;:::.`n##############################################################################################################
####################@@i`:;;i**ii;;::,.*M##############################################################################################################
#####################i ,;;;i*ii;;;;:.,################################################################################################################
#####################.`,:;;iii;;:;:.#@################################################################################################################
#####################.`,,:ii;;::;:.`z#################################################################################################################
#####################.`.,;;::,::,,``z#################################################################################################################
####################@, `.,,,,,,,.``###################################################################################################################
#####################.  `.,...``.zz###################################################################################################################
#####################M,` .:,,,,,W#####################################################################################################################
#######################;.n############################################################################################################################
#######################MM#############################################################################################################################