######################:::::;;;;i;;ii:::###############################################################################################################
###################::;;iiiiii;:;:;::::::::############################################################################################################
################:i;;;i;;;;::,,,,,,,;;;:;:iii##########################################################################################################
###############ii;;;:::,,`.```.,....,,:;ii;ii:########################################################################################################
#############:::::;;:,...`.``.`.`..`..`,::;;:;::######################################################################################################
############:::;:;:,. ...`````````````````.,:::::#####################################################################################################
##########;;i;;*:`.`..```    `````````.`..,.:::;:i+#########################+++++++++++++++##########+++++++###++++++++++++++++#######*+++++++++++++++
#########;;;i;i:````       ````.```.`.`.,...,;;;iii:########################++++++++++++++++++#######+++++++###++++++++++++++++++#####++++++++++++++**
########i;i;i:`      `  .``.`.`..```..`....`.i,;iii::#######################+++++++++++++++++++######+++++++###+++++++++++++++++++####++++++++++++++++
#######;ii;;:`   `.` .......`.``.```.`......,:,:::i;::############################+++++++++++++######+++++++###++++++++++++++++++++###++++++++++++++++
######;;;;;:```...`.`. ..`.`..`.``````````..:,,,,,,::::##############################################+++++++###++++++++++++++++++++###++++++++++++++++
######;;;;i`......`.`...``````````````````..:::,,,,,:::########################################################++++++++++++++++++++###++++++++++++++++
#####;;;;;.....`...```    ``````````.``....,ii:;i;i;i;i;###################################################################++#+++++###+++++++#########
####;iiii..`..`.`         ``````...`....,,.:;i;;;ii;iiii+#############################################################################################
###+*i*i:..````````` ``````.`..`...........ii:i::ii;i;i;:#############################################################################################
###*i*i;,   ```````.``.`.`..`.`..`.``.....:;:;;;;;;;,;:;ii##################zzzzzzz###################################################################
##;*ii;.`  ``.`....`.`.``.```.`.`..``..``.,:::::::;;,,,:::##################zzzzzzz######zzzzzzz######################################################
##;;;;,```.```..`..`.`.```..````````````.,::::::::;;:,,,:::#################zzzzzzz######zzzzzzz#####zzzzzzz###zzzz###################################
##;;;;.;:..```..`....``````````````````.,::::;::i;iiii,;:;:#################zzzzzzzzzzzzzzzzzzzz#####zzzzzzz###zzzzzzzz####zzzzzzz####################
#;;i;i`::..``..`.``````````````````.`.,:,;;:;i::;ii;*;;.;i::################zzzzzzzzzzzzzzzzzzzz#####zzzzzzz###zzzzzzzzzzzzzzzzzzzz###zzzzzzzzzz######
#;ii;;`.;..`````````````````.``..`...::;:;;;:i:::ii;ii;.;i;i################zzzzzzzzzzzzzzzzzzzz#####zzzzzzz###zzzzzzzzzzzzzzzzzzzz###zzzzzzzzzzzzzzzz
ii;i:;.;,,`````````````.`..`.```.`..;;;;:::i:;:;;i;iii;:,.;i################zzzzzzzzzzzzzzzzzzz######zzzzzzz###zzzzzzzzzzzzzzzzzzzz###zzzzzzzzzzzzzzzz
;iii:.`.,..```````.````..`...```.`,:;;:;;;;;:;;;;;;;;ii.``:::###############zzzzzzzzzzzzzzzzzz#######zzzzzzz###zzzzzzzzzzzzzzzzzzz####zzzzzzz#########
*ii;.``.,,.:.`....`..``..``..``.:,,;::;::::::::;;;;;iii,``,:;###############zzzzzzzzzzzzzzzzz########zzzzzzz###zzzzzzzzzzzzzzzzz######zzzzzzz#########
;;;;``.,,,,;::,`..`.```.`..`,..,,,,,,:::::::::;;;;;;iii;``;ii###############zzzzzzzzzzzzzzzzzz#######zzzzzzz###zzzzzzzzzzzzzzz########zzzzzzz#########
;;;;.`;;:;;::;;,::,,..,......,,,,,,,,:::::::::i;;iiii**i;:.ii###############zzzzzzz###zzzzzzzzz######zzzzzzz###zzzzzzz################zzzzzzz#########
;;;;i:ii:;i::;:;:,:,......,,,,,,,,,::::;:::ii;;ii;iii***i::ii###############zzzzzzz####zzzzzzzz######zzzzzzz###zzzzzzz################zzzzzzzzzzzzzzzz
iii;:;;;;;;:;:,,,,,,,,,,,,,,,,,:::::::;;;;;;;i;ii;iii***::,;;###############nzzzzzz####zzzzzzzzz#####zzzzzzz###zzzzzzz################zzzzzzzzzzzzzzzz
i;i;i;;;::,,,,,,,,,,,,,,,::,;;:;:;;;:;:;;;ii;iiiiiii*iii.``:;###############zzzzzzz#####zzzzzzzzz####zzzzzzz###zzzzzzz################zzzzzzzzzzzzzzzz
iii:.`:::::,,,,,,,:,,:;;::;:;;:;:;:::;::;;;ii;iiiiiiiiii,``:i;##############znnnnzz######zznnnnzn####znnnzzz###zzzzzzz################zzzzzzzzzzzzzzzz
;;:.``:::::::i:;:;:;:,:;;:::;;;;:;::;;;;;;;;;;;;iiiiiiii,.:i*###############zzzzznz######zznzzzzzz###zzzzzzz###znzzzzn################zzzzzzzzzzzzzzzz
;::..`:;::;::i;:;;;;:::;:;:;;:;:;;::::::;;;;;;;iiiiiiii*,`:ii###############nzzzzzn#######zzzzzzzzz##zzzzzzz###nzzzzzz################zzzzzzzzzzzzzzzz
;;::;,;;;;i;;;;;i;:;:::;:;;::::::::::::;;;;;;;iii****iii:`:;i#########################################################################################
ii;ii;iii:i:;i:;;;;;::;:::::::::::::::;;;;;iii*iii**iii;:`,;;#########################################################################################
ii::;:iii;ii;;:;::::::::::::::::::::;;;;iiiiiiiii***iii;.`.;;#########################################################################################
*;;;:;;;;::::::::::::::::::;:;::;;i;;;i;iiiiiiiii**ii;;:``,;;#########################################################################################
::::``:;;:::::::::::::;::::;;i;;;;i;;;i;iiiii**iiiii;;;,`.;ii###############iiiiii####iiiii#####iiiiiiiii####iiiiiiiii################################
::::.`,;;;;:;;;;i;;i;;i:;;ii;i;i;i;i;;i;iiiiiiiiiii;;;;,;;ii################iiiiii####iiiii####iiiiiiiiii###iiiiiiiiiii###############################
#;::::.iiii;;;ii;ii:i:i:;;;;ii;i;iiii;iiiiiiiiiiiii;;;;:i;i*################iiiiiii###iiiii###iiiiiiiiiii##iiiiiiiiiii################################
#;;;,:`;iii;;;ii;ii;i;;;;;iii;ii;;;;;iiiiiiiiiiii;ii;i:::iii################iiiiiii###iiiii##iiiiiiiiiiii#iiiiiiiiiiii################################
#*:;,;`:i;;i;ii;ii;ii;;;;;;;;;;;;;;iiiiiiiii**iiiii;ii.:;;;;################iiiiiiii##iiiii##iiiiiiiiiiii#iiiiiiiiiiii################################
##:;:i:;*iii;ii;;;;;;;;;;;;;;;;;iiiiiiiiii*iiiii*;i;;;,`.;;#################iiiiiiii##iiiii##iiiii########iiiii#######################################
##,,,,.`;iii;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiii;;:```;;;#################iiiiiiiii#iiiii##iiiii########iiiii#######################################
###,,,,`,iiiiiiii;;;;iiiiiiiiiiiiii*iii*iiiiii;;;:::,``;;;##################iiiiiiiii#iiiii##iiiii########iiiii#######################################
###,,,::`;iiiiiiiiiii*iii*iiiiiii*iiii**iiii;;;;::::`;;**;##################iiiiiiiiiiiiiii##iiiii########iiiii#######################################
####:;i;;;*ii**i*i*i**ii*iiiiiiiii**iiiii;;;;;::::::i;i*i###################iiiiiiiiiiiiiii##iiiii########iiiii#######################################
####,;:;,ii*i******i**iiii*i*iiiiiiiiii;;;;;;:::;;;`;;i*+###################iiiiiiiiiiiiiii##iiiii########iiiii#######################################
#####,;:;;;i******i*iiiiiiiiiiiiiiiii;;;i;;i;;;;:;;;,i;;####################iiiii#iiiiiiiii##iiiii########iiiii#######################################
######,,...`:iiiiiiiiiiiiiiiiiiiiii;;;iiiiiii;::,,`.;;;#####################iiiii#iiiiiiiii##iiiii########iiiii#######################################
######,......:iiiiiiiiiiiiiiiiii;ii;iiiii:ii;::,```:;;######################iiiii##iiiiiiii##iiiiii####ii#iiiiii#####i################################
#######..,:,;.:iiiiiiiiii*iiiiiii;i;;i;ii;:,,,.``.:*;#######################iiiii##iiiiiiii##iiiiiiiiiiii#iiiiiiiiiiii################################
########..:.;,.,i;*i;i;;;i;i;ii;i;i:;;:::,,,.,:.i:;i########################iiiii###iiiiiii##iiiiiiiiiiii##iiiiiiiiiii################################
#########.;,,;.,;:;*;i;;iiiii;;;::::::,,,:;,`i:,i;;#########################iiiii###iiiiiii###iiiiiiiiiii##iiiiiiiiiii################################
###########.,,.,:,;;:;;;;::::::::::::::;;i;,`,i:;;##########################iiiii####iiiiii####iiiiiiiiii###iiiiiiiiiii###############################
############.`````...,:::::::;;;:i:,;:::ii;:;;:::#################################################iiii#########iiii###################################
#############`````:..;;:ii::;ii,ii,,,:.:..,:::::######################################################################################################
###############`,;:;:;.ii:;::i;;;:.....,:::ii:########################################################################################################
#################.:::.,,.:.,,,,,,,,:,::ii;ii##########################################################################################################
###################`````...,,::;:;,;::;;:*############################################################################################################
#######################`...,;::::,,,,,################################################################################################################