i;;;;;;;;;;ii*********+**ii;iii********iiiiiiiiiiii***iiiiiii*+**i;ii***iiiii;;i**iiiii;;ii***+++++***+++++++++++++++++++****+#zzz#++****+#+++****++++
i;;;;;;;;;ii***++****++**iiiiii*******iiiiiiiiiiiiii*iiiiiiii****i;ii***iiii;;;i**iiiiiiiii**+++++****++++++++++++++++++**+#zxMMMMxnz+***+#+++****++++
;;:;;;;;;ii**+++++**+++**iiii*********iiiiiii;;;;;iiiiiiiiii*****i;ii**ii;;;;;;i**iiiiiiii**++++*****++++++++++++++++++++#zxMWWWWWWxn#**++++++****++++
;:::;;;;;i**+++++++*+++***ii**********iiiiii;;;;;;iiiiiiiii******i;i***ii;;;;;;i***iiiiiii*+++++*****+++++++++++++++++++znMWWWWWWWWWMn+*+++#++****++++
::::;;;;;i*+++##+++++++***************iiiiii;;;;;;iiii;iiii****ii;ii***ii;;;;;;ii**iiiiii**++++******+++++++++++++++++#nxW@@WWWWWWWWWMz+*++#++***+++++
:::::;;;i*+++####++++++*****+++*******iiiiii;;;;;iiiii;iiii****ii;i***iii;;;;;iii**iiiiii*++++******+++++++++++++++++#nMW@WWWWWWMMWWWWx#+++#+****+++++
:::::;;;i++######+++++******+++++*****iiiiii;;;iiiiii;;iiii****i;;i***iiii;;;;iiiiiiiii**++++*******++++++++++++++++#nM@@WWMMMMMMMWWWWMn+++++****+++++
:::::;;i*+#######+++++***++++##+++****iiiiiii;;iiiiii;;iiii****i;;i***i;;i;;;;iiiiiiiii*+++++*ii****+++++++++++++++#nWW@WMMMMMMMMMMWWWWx#++++***++++++
:::::;;i*+#######+#+#+**+++++##++++*******iiiiiiii*iiiiiiii***ii;i***ii;ii;;;iiiiiiiii**+++***ii****+++++#++++*+++#nMWWWMMMMMMMMMMMMMWWM#++++***++#+++
:::::;i*++##########++*#nxz####++++********iiiiii**iiiiiii****i;;i***ii;ii;;;iiiiiiii**++++*iiii***+++++##+++++++#nMWWWWMMMMMMMMMMMMMWWWz+#+***++#++++
::::;;i*+###########+*+nW@Mxz##+++++********iiiii**iiiiii*****i;;i**ii;;;i;;;iiiiiii**++#++*iiii**+++++++#++**+++nM@WWWMMMMxxMMxxxxxMMWWz+++***+++++++
::::;;i*+###########+*+M@@WWMn###++++*******iiii***iiiii******i;;i**i;;;;;;;;iiiiiii*+++++*iiii***+++++++++++**+nMW@WMMMMMMMxxxxxnnxxMWWn+++***++++++*
::::;ii*+########+##+*+M@@WWWMxz++++++**************iiii******i;i***i;;;;;;;;;iiiiii*++++*iiiii**++++++++++++++zM@WWMMMMMMMxxxxxxnnnnxMWx#+****++++++*
:::;;i*++#########++**+M@@WMMWMxz#++++++*++*********iii******iiii***i;;;;;;;;;;;;iii*+++**iiiii**+++++++++++++zM@@WMMMMMMxxxxxxxxnzznxMWx#+***++#++++*
:::;;i*++#########+*i*+M@@WWMMWMMn##+++++++******************iii***ii;i;;;;;;;;;;ii**++**iiiii***++++++++++++#xWWWMMMMMMxxxnnxxxxnzznnxWx#+***++#++++*
:::;;i*++#########+*i*+x@WWWMMMMMxnz+++++++******+*****+*****iii**iiiiii;;iii;;;;ii*+++*ii;;ii**++++++++++++#nW@WMMMMMMxxxnnnnxxxzzzznxMx#+***+##+++**
:::;;i**+##z#####++ii**nW@@WMMMMMMMnz#+###++*****+****+++****ii***iiiiii;;iii;;;;ii*++*iii;iii**+++++++++++#nWWWWWWMMMxxxxnnnnnxnzzzznxMx#+***+##++++*
:::;;i**+##zz####+*ii**#W@@WMMMxMMWMxz#####+*****++*+++++*********iiii;i;;ii;;;;ii****iiiiii***+++++++++++#nMWWWMMMMMMxxxxnnnxxnnzzzznxMx#+**++##+++++
:::;ii**+##z#####+*ii**+xMWWWWMMMMWWMxz#####+***++++++++++****i**iiiiiiiiiiiiiiiii***iii;iii***++++++++++#nMWWWWMMMMMxxxxnnxxxxxnzzzznxMx#***++##+++**
::;;ii**+##z####+*iii**+xWWMMMWMMMWWWWxzz###+***+++++++++++******iiiiiiiiiiiiiiiii**iii;;ii****++++++++++nMWWWWMMMMMxxxxxnnnxxxnnzzzznxMx#***+##++****
;;;;ii**+##z####+*ii*+++nW@WxxMMMWMMWWWxnz##+****++++++++++******ii*iiiiiiiiiiii;iiiii;;;ii****+++**++*+nMWWWWWMMMMMxxxxnzznxxxnzzzznnxMx#***+##+++***
;;;;ii**+#zz####+*ii****#M@@WxnxMMMWWWWWMxn#++***++++++++++*******iiiiiii*iiiiii;;i;;;;;;ii*+***++**+*+nMWWWWWWWWMMxxxnznz#zxxxxnzznnxxMx#**++#+++++++
;;;iii**+#zz###++*i***+*+nW@@MxxnxMWWWWWWWxn#+***+++++++++++*****ii;;ii;i*iiiii;:::::;;;ii********++*+nMWWWWWWWWMMxxxxnzz###nnxxnznnnxxMx#*+++#+++++++
;;;ii***+#zz###+*ii**++++#xW@WWMxnxMWWWWWWMxn#+**+####++++++*iiii;;::;;:;i;:;;;:,.,,,::;;i********++#nMW@WWWWWWMMxnnxxnnzz###znxxnnxxxxMx#*+##++++++++
:;;ii***+#zz###+**i**+++++nWWWWMMxnxMWWMWWWWxnz#++####+++++*i;;;::,..,,.,:,.,,,......,,::;i*******+#nM@@WWWWWWMMxxnnnnnnnnz#+#nxxxxxxxxMx+*+##+++++***
:;;ii**+##zz##++*i**++*++++nW@WMMMxnxMMMMMWWWxnz#++#++#++*ii;:,,,,.`...`...`...```....,,:;ii**ii*+#xMW@WWWWMWWMMxnnnnzzz##nz+#znxMMxxxMWn+++##+++++***
:;;ii**+##zz##++*i**+++++++zMWMMMMWMnnMWMWWWWMMnnz+++++**i;;:,,,,..`````.`````.......,,,:;ii****#zxWWWWWWWWMMMxxnnnzznzz##zzz#znxMMMMMMMz++###++++++**
:;iii**+#zzz##++*i*++++++++#nMMxMxMMxnnxMMMWMMxxnz+****i;:::,,.,.....`...````.......,,,::;;i*++#zxMWWWWWWWWWMxnnnzz##z#####zn##zxMMMMMMMz++###++++++++
;;iii**+#zzz##++***+###+++++zMMxxxnnMxzzxxxxnxzn##**iii;:,,:,,,,,.........``..,,...,,,,::;;;i*###zxxxMWWWWWMMxnnzzz#++++##+#z##zMMMMMMMx#++###++++++++
;;iii*++#zzz##++**+#####++++#xWMxxxxxxnzznxzznz+*+*ii;;;:,,::::::,,,,,,,,.`..,,,,,,,,,,:::;;;i***#zzzxxxMWWMxxxxnzzz#+#++#+++##zMMMMMMMx#++###+++++++*
;;iii*++#zzz##+***##zz##++++#nWWMxMMxxxn#znz###+*ii;;:::::::::;;;;::,,::,...,,:,,,,,,,:::::;;;ii*+++#znnnMWMxxxxnzzzz##++##++##nxMMMMMWn#++###++++++**
;;ii**++#zzz##+***#zzzz##++++zMWWxnnxxnnz++#++*+*ii;;::::::;;;iiii;;:::::,..,::::::::::::::;;;;i****###znxMMxxxxnzz####+++#z#zznxMMMMMMn++###+++++++*+
;;ii**+#zzzz##+***#zzzz##++++#xWMMxnnnnnz#*++**i*ii;;:;;;;iii****ii;;;;;:,,,,:::;:::::::::;;;;;i*ii*+**#nnnxxxxnnzzz#+++++#zznxxxMMxMMMz*+#z#+++++++++
;;ii**+#zzzz##+***#zzzz##+++++nMWMMxnnnz##+i**+****iii;;ii*+++****ii;;;::::::::;;;;;;;;;;:::;;;;iii*ii*+##znxxMxxnzz#####++znnxMMxMMMMn++##z#+++++++++
;;ii*++#zzzz##+***#zzzzz##++++zMWMMMMxz#**+****+****iiii***###+***ii;ii;;;;;;;;;i;;iii;;;;;;;;;;;iii;i****#nnnxxxxxnzzz####znxMMxxMMMMz*+####++++++++*
;;ii*++#zzzz##+***#zzzzz##++++#xWWWMMxn+*i*+*i*++*+******+##zz+****iiiiiii***iiiiiiiiiiii;;;;;;;;;;;;;iii*##znnxxMMxxnz#zznzzxMMxxMMWM#*+#######++++++
;;ii*++#zzzz##+***#zzzzz##+++++nWWMMMMn#+*+#+*i+#+++**+++#znxz+*i*+ii*****+++**iii***iiii;;;;;;;;;;;;;;;i***+#nnnxxMMxxnznnnnnxxMWWMMx#*+##z####++++++
;;ii*++#zzzz##+***#zzzzz##+++**zMWMMMMn#++++##*+z++#++###znxx#+*ii***+++**####+**i****iiii;;;;;;;;;;;;;;iiii*+##znxxxxxxnnxMMxxMWWMMMn+*+#z#####++++++
;;ii**+#zzzz##+***#zzzzz###++**#xWMMMMn#++###z+*#z#z##zzznxWx#+*ii*+##++++#zzz##+**++****iiii;;;;;;;;;;;i;;i**++#znnnnxxnnxMMMMMMMMMMz+*+#z#####++++++
;;ii**+#zzzz##+***#zzzzz###++++#xMWMMMnz#+#z#zz++zzzznzznxMWn#+*ii*#zz##++#znnzz+**+++***iiii;;;;;;;;;:;;;;ii**+++#znxxxxMMxxMMMMMMxx#++#zzz####++++++
;;ii**+##zz###+***#zzzzz###+*++#nWWWMxnz#++znnn#+znnxxnzxMMxz+++;i+#nz##++#nnnnz#+++++****iii;;;;;;;;;;;;;;;iii*++#nxMMMMMMxxxxxxMWMn#++#zzzzz###+++++
;;ii**+#######+**+#znzzz###++++#nMWWxnz###+#nnnn#zxxMMnnMMMn++#+;i#zxn#####nxxnnz#####+++**i;;;i;;;;;;;;;;;;iii**+#znxxMWWMMMMxxxMMxz+++#zzzzzz#####++
;;;i**++#####+***+#znzz####++++#zxWMxn###zz#zznnnzMMMMxxMWxz+#z+;i#nnnz##zznxMxnnzz#zz#++**ii;ii;;;;;;;;;;;i;;i***++znxMWMWWMMxxnxMxz+++zzzzzzz#####++
;;;ii*++#####+***+#znzzzz##++++#zxMMxnzzznnzzzzxxMMWMMxMMMn#+zn+ii+nnnzzzznnxMMxnnzzzz#++***iiiii;;;;;;;;;;;;;iii**+#zxWWWWWWWxMxxWnz#+#zzzzzzzz#####+
i;;;i*++#####+***+#znnzzz##++++#znxxxnzznnxnzznxMWWWMMxMMxz##zn#*i+nnnnnznxxMWWMxnnznnz#++*****ii;;;;;;;;;;;;;;;ii*++#xWWWWWWWMMxxMn##+#znzzzzzz######
i;;;i*++#####+***+#znnzzz##++++#znxxnnnnnxxxnnxMMWWWWMxMMx##znnz**+znnxxnnxMMWWMxxnnnnz##++++**ii;;:::;;;;;;;;;;ii**+#xWW@@WWWMMMxxnz#+#znzzzzzz######
ii;;i*++#####+***+#znnzzz##++++#znxxxxxxxxxMxxWWW@WWWMMMMx##znz#+*+#znxxxxMMWWWWMxxxxxnz####+***i;;::;;;;;;;;;;;iii**#xMMW@WWWWMMMxnz#+#znzzzzzz######
*i;;i*++#####+***+#nnnzzz##+*++#znxxxMMMMMMMxMW@@@WWWMMWMn##zz##++##nxxMMMMMWWWWMMMMxxnz#####++**ii;;;;;;;;i;;;iiii*+znMMW@WWWWWMMxnz##zznzzzzzz######
*i;;i*++####++***+#nnnzz##+***+#znxMMMMMMWMMMMMW@@@WWWWWMz####+++*#nxxMMMMMWWWWWMMMMxnnzz####+++***iii;;:;;i;;;iiii*+znMWW@@WWWWMMxnz##zznnznzzzz#####
+*i;i*++####++***+#nnnz###+***+#znxMMMMMMWWMWWMW@@@WWW@Wx#++##+++*#xMMMMMMMWWW@WMMMMxnzzzz###++++++**i;;;;iii;iiii**+znMWW@@WWWWMxMn###znnnnnnzzz#####
+*i;i*++####++***+#nnzzzz#+***+#znMMMMMMMWWWWWWW@@@@W@WWM#+++++++*+xWWWWWWWWWWWWMMMMMxnnnzz######++++i;;ii;;;;iiii**+#nMWWWW@@WMxxMx###zznnznnzzz#####
+*iii*+++##+++***+#nnzzzz#++*++#zxMMMMMMMWWWWWWW@@@@W@WWMz+++**+**+nMWWWWWWWWWWWWWMWMMMMMxxnnzzzzz###+**ii;;;;;;iii*+#nMWWWW@@@WMMMn###zzzzzzzzzz#####
++*ii**+++##++***+#znzzzz#+++++znxMMWWWWWWWWWWWW@@@@W@WWMz********+zMWWWW@WWWWWWWWWWWMWWMMMMMMxnznnzzz#+*;;:;;;;;iii*+zMWWW@@@@@@WMn###zzzzzzzzzz#####
#+**i**+++##+++*++#znzzzz#++++#znMMWWWWWWWWWWWWW@@@@W@@WMz********+zMWWWW@WWWWWWWWWWMMxxxxxxxxMMnnxxxxn+i;;:;;;;;;iii*#nMWW@@@@@@Wxnz##zzzzzzzzzzz####
+++****+++##++++++#znzzzz#++++#zxMWWWWWWMMMxxxMWW@@@@@@@Wn+**i*iii+zMWWWW@WWWWWWWWMMxxnnnnnz+*#xMnnxMMx#*i;;;;;;;;;;;i*#nxMW@@W@@Wxzz#zzzzzzzzzzzz####
+++****+++++++++++#znzzzz#++++#zxWWWWWMMxxnnnnxxMWW@@@@@Wn+*iiii;i+zMWWWWWWWWWWWWMMxxxxxnzz#i:;#xnzzxMMn+ii;;;;::;;;;;i*+zxMW@@WWMxzzzzzzzzzzzzzzz####
+++****+++++++++++znnzzzz#++++#nxWW@WWMxxnnxxxnnxMW@@@@@Wn+*i;;;;i+zMWWWWWWWWWWWMMxnnMMMxz#+++*#xxzznMWMn#*ii;;;::::::;i*+zxMWWWWMnzzzzzzzzzzzzzzz####
#+++***+++++++++++znnzzzz#+++#znMMW@WMMxnnnMWMnznMW@@@WWWn+*;::,:i+#MWWWWWWWWWWWMxnnxWWWxz####+zxnznnxWWMxz#*ii;;;:::::;;i+zxxMWWxnzzzzzzzzzzzzzzz####
##+++*+++++++++++#znnnzz##+++#zxMWWWWWxnnnxW@WxnnxMW@@@WMz*i:,,,,;i+nxWWWWWMMWWWMxnnxW@Wxz##+++nxnznxxMWWWMn#+*i;;::::::;;i+#nxWWMn##z####zzzzzzz#####
##+++++++*+++++++#znnnzz##+++#nMWW@WWWxnnnx@@MxnnxWW@@WMz*;:,....,;+#nMWWWMMMMWWMxnnxW@Wxz##++zxxznxxxxMWWMMn#+*i;;;;:::;;;i+#nxMMnz#######zzzz#######
++#++++++++++++++#znnnzzz##++znMW@@WWWMxxnxW@MnnxMWW@@Mn+i:,.....,:*#nMWWWMxxMMMMnnnxMWWnz###znxnzxMxxxxMMMMxn#+*i;;;;:;;;;;i*+zxMxzz#################
++##+++#+++++++++#znnnzzzz#++zxMWWWWWWMxxxxWWxnnxMWWWWxz*;:,......,;+zMMWWMxxMMMxnnzzxMxz###znnxxnxMxxxxxxMMxnz+*ii;;;;;;;:;;i*+#nnz##################
+########++*++++#znnnzzzzz#+#zxMWWWWW@WMMxxMMxnxMMWWMxz+i;:,...``..:*zMMMWMxxMMMxxnzzznz##znxnnxMMMxxxxxxxxxnnz#+*iii;;;;;;;;;ii*+####################
##########+++++##znnnzzzz####nxMWWWWW@WWWMxMxxxMWWWWx#*ii;:,..```..,i#xMMWMxxMMMxxnnzzz##znxxxnxMMMxxxxxxnnnnzz##+**ii;;;;;;;;;ii*+++#################
##########+++++##znnnzzz####znMWWW@WWWWWWWMMMMWW@WWx#i:::,,,.``````.:+nMMWMxMMWMMxnnzznnnnxxxxxxxMMxxxxxxnnzzz###++**ii;;;;;;;;iii**+++++++###########
+++++#######++++#znxnnzz#zzzznMMWWWWWWWWWWWWWW@@@WMzi:,,,,,,..`````.:izxWWWMWWWWMMxnnnxxxxxxMMxxxxMxxxxxnxnnz###+#+**ii;;;;;;;i;;iii*+++++++##########
+++++++#+####+++#znxnzzzzzzzznxMWWWWWWWWWWWWWWWWWWn+i;;;;;:,,..``...,;#nMWWWWWWWWWMMxxxMMMMMMMMMMMMxxxxnnnnz###+++++*iii;;iiiiii;iiii**++++++#######++
##+++++++++####++#nxnnzzzzzznxMMWWWWWW@WWWW@@WW@WMz+*****i;;:,..`....,i#nMWWMWWMMWWWMMMMMWMWWMMMMMMxxxxnnnnz++++++*+**ii;;;iiiii;;;iii*+++++++++###+++
#######+++########znnnnz#zzznxMMWWWW@@@WWWW@WWW@Wn##+++++*ii;,......`.:i#nxMMMMMMMWWWMMMMMWWMWWWWMMxMxxxxxn#+++******iiii;;;i;;;;;;;;i**++++++++++++++
zz#zz###+######zzzzzzzzzzzzzznxMWWWW@@@WWW@@WWWWxz###+++++***;,,,,,,``.:*#znxMMMMMxMMMMMMMMMMMWWWMMMMMxxxxn#++******iiiiii;;;;;;;;;;;;i**+++++++++++++
zzzzzz#####zz#zzznnnz##zzzznnnnxMWWW@@WWWWWWWWMnz#zzzz#++++zz+;:,::,.``,;*+znnnxMxxMMMMxxxxMMMMMMMMxxxxnzzz#+**iiii***iiii;;;;;::::;;;;i**++++++++++++
zzzzzz#####zzzzzznxxnzz###znnxxxxMWWWWWWWWMMMMn#+#zznxn#++znn+i:,,,.````,;*####znnxxMMMMMxxxxxxxxxxxnnnz####++*iiiiii*iiii;;;;::::::::;;i**+++++++++++
##zzzzz####zzzzzznnxxnnz###zzxMMMMMMMMMMMMMWMz+**+++#nnz####*;:,...```` `.:*+++#znnnnxxMMMxxxxxnnnnnnz######++*iiiiiiiiii;;;;;::::::::::;i**++++++++++
zz#zzzz###zzzzzznnxxnnnnzz##zzxMWMMMMxxxxxMxn#****ii*#zzz#+*;:,,,..```` ``.:i+#znnz##znxxxxxnnnnnnzzzz##zz##++*iii;;;iii;;;;;;::::::::::;i**++++++++++
z##zzzzzzzzzzzzzznxxxnnnzzzzzzznxMMMMxxxxxxz+****iiii*+#z+**i::,...`````````,i#nxxn###znxnnzzznnnnzzzzzzz###+**iii;;;;;;;;;;;;::::::::::;i**++++++++++
##zzzzzzzzzzzzzzzzzzzzz####zznnnnznxxMMxxnz+******iiii*+#+**i;:,,,....```````,;*#nxxnnnnnnzz####zzzzzzzzzz#++**iii;;:;;;i;;;;::::::,,,,::;i**+++++++++
zzzzzzzzzzzzzzzzznnnnnnzzzz##znnxxxnznnxnz++*******ii*+#z#+**i;::,,.........``.,;+zxnnzzz######zznnzzzz##+++**iii;;;;;;;iii;;::::,,,,,,,:;i***++++++++
++++############zzznnnnzzzznnnnnnxxxxnnz#++**********+#znz##+*i;:::,........````.:i+##zzz#####+##zz#zzz#+****iii;;;;;;;;;i;;;:::,,,,,,,,::i*****++++++
#####zzzzzz############+++#zznxxMMMxxxxz#+++++******++##z####+*i;;;:,.,..........,:i*+#zzzzzzzz###zzzzzz#+**iiii;;;;;;;;;;;:::::,,,,,,,,,:i******+++++
zz##zzzznnnnnnnnnnnnnnnzz##+++##znnxxnz###+++***++++++******+++*i;;:,,,,,........,:;i*+##zzznnz#++#######+**iiii;;;;;;;;;;;::::,,,,,,..,,:;i******++++
zzzzzzznnnnnnnnnnnxxxxnnnz####zz#zz##zz#+*++***++++***iii;;;;i*+*ii;:,,,,,,..```..,:;i*+#zz####++#####+++**iiii;;;;;;;;i;;:::::,,,,,,..,,:;i*******+++
zzzzzzzzzzzzznnnnnnnnnzzz###zznnnnnzzzz#+*++**+###+*iii*i;;;::;****i;::::,,......`.,:;*+#z##+++#zzzz##+**iiiiii;;;;;;:;;;;::::,,,,,,...,,:;i********++
zzzzzzzznnnnznnnnnnnnzzzzzzzzznnnnxxxn#+++***++##+*******ii;;::;i***i;:::::,,,,,..,:;;i*+++**+++#zzz#++*****iii;;;:::::::::::,,,,,,.....,:;i*********+
zzzzzzzzznnnnnzzzznnnnnnnzzzzznnnnnnnn#+++***+##++*******iiii;;:;ii**i;;i;::,,,,,,;ii*****iiiiiii*+###++*****iii;;::::::::::,,,,,........,:i*********+
zzzzzznnnnnnzzzzznxxnnnzz######zzzzzzz#+****++++++********iiii;;;;i****iii;::,,,,,:i++++++*iiiii*+***ii*+#+***iii;;::::::::,,,,,,........,:;i*********
zzzzznnnnnzz#zzzzzzzzzz##+++++####zzzzz+****+++++******++**i*iiiiiii*++*iii;;;,,,,,:i******iii*++++*******+##+*ii;;::::::::,,,,,..........:;i*********
zzzzzzzzzzzzzzzzzzzzznnnzz###zzzzzzznzz++*+*+++++******+++****iiiiii*+#+*iii;;;;:::::i****;;;;i**+++++++****##+*i;:::::::::,,,,,..........,;i*********
zzzzzzzzzzzzzzzzznnxxxxnnzz##zzzzzzzzzz#++**++++++******++*********ii*+#+iii;;;i;;;ii*****i;;::;i+++++++++***++**;;:::::::,,,,,...........,:i*********
zzzzzzzzzzzzznnnnnxxxxnnnz#++####zz##zzz#+***+++++++*****+************+++*iii;;;ii;*++*****i;;iiii****++*****iiiiii;::::,,,,,,............,:;i********
zzzzzzzzzzzznnnnnxxxnnzzz##++##zz####znnz#++++++++*+*****+********+****+++*ii;;:ii;i******iii*****ii*******i**i;;;;;:::,,,,,,..............,;i********
zzzzzzzzzznnnnnnnnnzz#zzzzz##zzz###zzznnz##+++++++**+************+*****+++**ii;;iii;i++*iiii***+##+**ii*******ii;:::::,,,,,,..........``...,:;i*******
zzzzzznnnnnnnnnnzzzzznnxxnzzzzz###znnnzzzzz###++++*********************+++***i;iii+*i**iiiiii+###zzz++*****+*iii;::::,,,,,,..........```....,;i*******
zzzznnnnnnnnnnzzzznxxxxxnnzzz####znnnzzzzzz####+++********************+++++***;*ii++**iiiiii*+##zzzzz#+*******i;;;::,,,,,,.........`````....,:i******+
zzznnnnnnnnzzzzznnxxxxxxnnz#####zzznzzzzzzz####++***************************+*ii*i*+#+**iii**+#zz#####+*i;;iii;;::::,,,...........``````.....,:ii*****
zznnnnnnnnnnzznnxxxxxxxnnnz#++##zzzzzzzzz#zzz##+****************************+**i**i+###+**++++#zz#++++**i;:::::::,,,,,...........````````....,:;i**+**
zznnnnnnnnnnnnnnxnxxxxxnnz##+#####zzzzzzzzzzz##++******************************i**ii+####++##+++#++*iiii;;:,,,,,,,,,...........``````````....,:i**++**
nnnnnnnnnnnnnnnnnxxxxxxxnz#########zzzzzzzzzz##++******************************ii*ii*++##+*+#++****ii;::::::,,,,,,,..........````````````....,;i*+++++
nnnnnnnnnnnnnnnxxxxxxxxxnzz########zzzzzzzzz##++++**************************i*iii*ii****++***++*iiii;;::;;::,,,,,,,,.......`````````````....,:i*++++++
nnnnnnnnnnnnnnxxxxxxxxxnnnzzz######zzzzzzz####++++**************************i*iiiii;iiii**iiii*ii;;i;;;;;;::,,,..,,,,.....``````````````....,:i+++++++
nnnnnnnnnnnnnnnnnnxxxxnnnnnzz#################+++*+****************************iiii;;ii;;;;i;;;ii;;;ii;::::::,,...,,,....```````````````....,:i+#+++++
nnnnnnnnnnnnnnnnnnxxxnnnnxnz#++++###########++++++************************i*iiiiiii;;;;;;;;;;;;;i;;;;;;;::::::,,,,,......````````````````....,i+#+++++
nnnnnnnnnnnnnnnnnnxxxnnnxxnz#++++##########++++++++++*********************iiiiiii;;;;;;;;;;;;;;;;;;:;;;;;:::;::,,,,......````````````````....,i+##++++
nnnnnnnnnnnnnnnnnnxxnnnxxxnz###++++++#####++++++++++++********************iiiiiii;;;;;;;;iiiii;;;;;:::;;;;::;;::,,,.......```````````````....,;*###+++
nnnnnnnnnnnnnnnnnnnnnnxxxxnnzz##++++++++++++++++++++++****************ii**i*iiiii;;;;;;iiiiiii;;;;;;:::;;;::::::,,........```````````````....,:*######
nnnnnnnnnnnnnnnnnxnnnnxxxxxnnzz#+++++++++++++++++++++++***************ii**i**iiiii;ii;iiiiiii;;;;;;;:::;;::::::,,,.......````````````````.`..,:*######
nnznnnnnnnnnnnnnnnnznxxxxxxxnnz#+++++++++++++++++++++++++**************i**iii*iii;;ii;;i;;iii;;;;;;;;;;::::::::,,,.......``````````````````..,:*+#####
nnnnnnnnnnnnnnnnnnzznxxxxxxxnzz#+++++++++++++++++++++++++++++++****++******i***ii;;i;;;;;;iiiiiii;;;;;;::::::::,,,,.....```````````````````...:;*+###+
xnnnnnnnnnnnnnnnnnzznxnnxxxnnz###++++++++++++++++++++++++++++++++**+++*****i***iiiiii;;;;;;iiiiiiii;;;;;;;::::,,,,......`````````````````.``...:i*+##+
xxxxxnnnnnnnnnnnnzznnnnnxxxnzz##+++++++++++++++++++++++++++++++++++++++*********iiiii;;;;;iiiiiiiii;;;;::;;:::,,,,......```````````````````....:;*+###
xxxxxxxnnnnnnnnnnzznnnxnnxnnzz##+++++++++++++++++++++++++++++##++++++++*********ii*iiiiii;iiiiiiii;;;;;::;;:::,,,,......```````````````````....,;*+###
xxxxxxxxxxnnnnnnnzznnnxxxnnnzz#####++++++++++++++++++++++++++###++#++++++******iii*iiiiiiiiiiiiiii;;:;;:::;;::,,,,......```````````````````....,:i+###
xxxxxxxxxxxxxxnnnznnnnxxxnnnzz######+++++++++++++++++++++++++++++++++++*****++*****iiiiiiiiii;ii;;;:::;::::;:::,,,.......````````````````````.,,:i+zzz
xxnnnxxxxxxxMxxxnznxnnnxnnnnnzz###++++++++++++++++++++++++++++++++++++*****+++*********ii;ii;;ii;;;:::;;::::::,,,........````````````````````..,:i+#z#
nnnnnnnnnxxxxMxxnnxxxnnnnnnnnzz###++++++++++++++**+++*********+***+************iiiiiiiiii;ii;;;;;;;:::;;;;;:::,...........`````````````````````.,;*+#z
nnnnnnnnxxnnxxxxnxMxxxxxnnnnnz####++++++++++++++***++***+*+*i*+++++++*ii***+##z##+**iiii;;;;;;;;;;;;;;;;;;;::,,..............`````````````````..,;*+zz
nnnnnnnnnnnnnxxnnxMxxMxxxxxnnzz###+++++++++++++++*+#nxnnnnn#+#nxnnxxn#*i*#zxMW@@WWxn#*i;ii;;;;;;;;i;;;;;;;:::,,..............`````````````````..,:i+zz
nnnnnnnnnnnnxxxnnnxxxMxMMxxxnzz#####++++++++++++++zW@#####@WxM@#####@Mz+#x@#@WWWW@#@Wn+iii;;;;;;;;;;;;;;:::::,,....,,........``````````````````..,;+#z
nnnnnnnnnnnnnnnnnnxxxxxxxxxxnnz######++++++++++*+#x@MxnnxnW#@@WnnnnnM@MnW@Wx#ii;;*zM@@x#iii;;;;;;;;;;;;::::::,,,,,,,,......`.``````````````````.,,;*#z
nnnnnnnnnnnnnnnnnnxxxxxxxxxxnzz#######+++++++++**#W@+.` ``*@#@+` ```i@#@@M*.  ``  `,+W#M+ii;;;;;;;;;::::::,,,,,,,,,,,.......``````````````````..,,;i+#
nnnnnnnnnnnnnnnnnnxxxxxxxxnnnzz#########++++++***#W@*` `  ,x#@+  ```*##@n:  ``  ``  `*W@ni;;;;:::::::,::::,,,,,,:::,,,......```````````````````..,:i*+
nnnnnnnnnnnnnnnnnnxxxxxxxnnnzzz#########++++*****#M@*` `` .z#@+`    *##W; `          `#@W+:;:::,:::,,,,:::,::,,::::,,,......``````````````````..,,:i+#
nnnnnnnnnnnnnnnnnnnxxxxxxnnnzz##########+++++++*+#W@*`     i@@+` `  i#@z`     .,`   ``:x#z::::,,,,,,,,,,,,,::,,,:::,,...........``````````````...,:i+#
nnnnnnnnnnnnnnnnnnnnnnxxnnnzzz#############++++++#M@*` `   :M#+    `i@Wi ` ` `zM;    ``##n:,,,......,,,,,::,,,,,,,,,,..............````````````...,;*+
nnnnnnnnnnnnnnnnnnnxnnnnnnzzz###############++#++zW@*`   ```z#+     i#W;     .n@*`     +#x;.........,,,,:::,,,..,,,,,................`````````...,,:i+
nnnnnnnnnnnnnnnnnnxxnnnnnnzz################+##+#zW@*`      *@+     i#M,     `x#*`     *@x;...,,,,,,,::::::,......,,,...............```````````...,,;i
nnnnnnnnnnnnnnnnnnnnnnnnnzzz########zzzzz####++++zW@*`    ` :x+`    *#M.     .x#*`     *@M;.,,:::;;::;;;;;;:,......,,...`...,......```.```````....,,:;
nnnnnnnnnnnnnnnnnnnnnnnnnzzz################+++++#W@*`      `z+     *#M.     .x#*`     *@Mi:;;;;;;;;;;;;;;;:,,....`..,.............`````````````..,,:;
nnnnnnnnnnnnnnnnnnnnnnnnzzz############+++*****i*+M@*`       **     *#M.     .x#*`     *@M+;;;;;;;;;;;;;;:::::,,...`...............``````````....,,:;i
nnnnnnnnnnnnnnnnnnnnnnnzzz###########+++++++*****#M@*`       :;` `  *#M.     .x#*`     *@M+i;iiiiii;;;;;::::;;:,,,.................```````````...,,:;;
nnnnnnnnnnnnnnnnnnnnnnzzz###########+++#######+++#M@*`       `.` `  *#M.     .x#*`     *@W+;;;iiiiii;i;;;;;;;;::,,,.................`..```````...,,,::
nnnnnnnnnnnnnnnnnnnnnnzz################zzz###+++#W@*`              *#M.     .x#*`     *@W+;;::;;;;;ii;;;i;;;;:::,,,,................``````.....,,,::;
nnnnnnnnnnnnnnnnnnnnnnzz############zzzzzzzz###+#zW@*`              i#M.     .x#*`     *@W+i;::::;;;;;;;;;;:::;::::,,.................```.......,,,::;
nnnnnnnnnnnnnnnnnnnnnnzz###############zzzzzzzzzznW@*`    `         *#M.     .x#*`     *@M+;;:::;;;;;;;;;;:,,::::::::::,,,........................,,:;
nnnnnnnnnnnnnnnnnnnnnzzz##################zzzzzzznW@*`   `,`        *#M.     `x#*`     *@M*;;::::;;;;;;;;::,,:::::::;;;::,,.......................,,::
nnnnnnnnnnnnnnnnnnnnnzzzz########################zW@*`   `i,        i#M.     .x#+`    `*@W+;;:;:,:;;;;;;;:::::;:::;;;i;:::,,,......................,,:
nnnnnnnnnnnnnnnxnnnnnzzz#######################++zW@*`   `+i        i#M.     .x#+` `` `*WM+;;,::,::;;ii;;;;:;;;;;;;;;;;;;:::,,,....................,,:
nnnnnnnnnnnnnnnnxnnnnzzz######+++++++++++++++++++#W@*`   `##`       *#M.     `x#*` `   *@Wz+*iii:::;;;iiii;;;;;;;;;;;;;;;;::::,,,..................,,,
nnnnnnnnnnnnnnnnnnnnzz#####+++++************i****+M@*`   `#n,       *#M.     .x#+`     +@@WMMxxn*::;;;;;;;ii;;;iii;;;;;;;;;::::,,................,,,,,
nnnnnnnnnnnnxnnnnnzzz######++++++++++++++*iiiiiii*M@*`   `#W;       i#M,     .n@*`     *@######@xi::;;;;;;;;;;iii;;;;;;;;;;::::,,................,,,,,
nnnnnnnnnnnnxnnnnnzzz##zz########++++++++******ii*M@*`   `##+       i#W;     .x#*      +#x+#++z@W+;:;iiiiii;;;;ii;;;;:;;;;;;:::,,,,,..............,,,:
nnnnnnnnnnnnnnnnnnnzzz#############++++**++++++++#W@*`   `##z.      *#Wi     `#M;     `###    ,WW#ii;;;;iiiii;;;i;;;:::;;;;;;:::,,,,...............,,:
nnnnnnnnnnnnnnnnnnnzzz################+++++++##++zW@*`   `##M;      *#@#`     ,;`   ` ,x##  ``:@@#;i;;:,:;iii;;;;;;:::::;;;;:::,,,,,.,,,,..........,,:
nnnnnnnnnnnnnnnnnnzzzz##############zzz###+++++++#M@*` ` `###*      *##M;``          `+@##    ,@@#:;;;:,,,:;;;:::,,:::::;;:::,,,,,,,,,,,,...........,,
nnnnnnnnnnnnnnnnnnzzzz#####+++++++######+++*+++++#W@*`   `###z`     i##@n;          `*M###    ,W@+,:;;::,,,,,,,,,,,.,,:::;;::,,,,,,,.................,
nnnnnnnnnnnnnnnnnnzzz####+++++**+++++++++*******+#W@+,....z@#x;.....*##@#x;.`     `,*W#@#z...`;W@+:,::::,............,,,:::::,,,,,,,.................,
nnnnnnnnnnnnnnnnnnzzz####++++++++******++++******+M#xzzzzzM##@xzzzzzM#WxW@Wz*:,,,;+x@@MM@Wzzzzn@W+;:,,:,,.......,......,,:::,,,,,,,,..................
nnnnnnnnnnnnnnnnnnzzz####++++++++*****+++++++****+zW@@####@WW@@@#####Wz*#x@#@@@@@@@@Wn*+M@@###@@ni;:::,,,,.....,,,......,,,,,,,,,,,,,,,..............,
nnnnnnnnnnnnnnnnnzzzzz#####+++++***+++++++*********znxMMMxn#+zxxxxxxx#i;i*zxMWWW@WMn+i:;+zznznz+i:;;;:,,,,...,,,,,,.....,,,,,,,,,,,,,,,,,,..........,,
nnnnnnnnnnnnnnnnnzzzzzz######++++++++++***********i**+**+***ii*******i;;;;ii*++###*i;;;:;;::,,,,..::::,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,...........,,
nnnnnnnnnnnnnnnnnzzzzzzz#zz####+++++****ii********iii*ii*iii*iiii**i;;;::;;i;:;iii;::;i;:;:,......,,,,,,,,,:,,,,,,,,,,..,,,,,,,,,,:,,,..............,,