WWWWWWWWWWWWMMMMMWWWWWWWWWWWMMMMMMMWWMMMMMMMMMMMMMMMMxxxxxxnnnz#+++**zMWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWMMWMMWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnzz#+#+**zMWWWWW@WWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWW
WWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnzz#+#+**nMWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxnnnzz#+#+**nMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMWMMMMMxxxxnnnzz#+++**xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWW
MWWWWWWWWWWWWWWWWWWWWMWWWWWWMMMWWWMMMMMMMMMMMMMMMMMMMxxxxxnnzzz#+++i*xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWW
MMWWWWMMMMMMWWWWWWMMWMWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnzz#+***i+xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWxWWWWWWWWWWMMWW
MMWWWWMMMMMMMWWWWWWWWMWWWWWWMMMWWMMMMMMMMMMMMMMMMMMMxxxxxnnnz#++i**i+MMWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWMWWWWWWWWWWWWW
MMWWWWWMMMMWWWWWWWWWWMWWWWWWMMMMWMMMMMMMMMMMMMMMMMMxxxxxnnnzz#+**i*izMMWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWMMMMWWWWWWWWWWMWWWWWWMMMMWMMMMMMMMMMMMMMMMMxxxxxxnnnzz+**i;*izMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWWWWWWWWWM
WWWWWWWWWWWWWWWWMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnzz#+**iiiixMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWMMWWWWWWWWWWWWWWWWWWWWWWWWMMWWMWWWWWWWM
WWWWWWWWWWWWWWWWMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnzz#+**ii;*xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWMMMWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxnnnnzzz#+*iii;#xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMWWMMMWWMWMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnzzz#**i*i;zMMWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMWWWMMMMMxxxxxnnnnzzz##*ii*;inMWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWMWWMMMMMMMMMMMMMMMMWWWMMMMMxxxxxnnnnnzzz#+*iii;*xMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnzzz#+*iiii;#MMWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMM
MMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnzz##+iiii;;nMMWWWWWWWWWWWWWWWWWWWWWWWMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx
MMMMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnzzz#+*iiii;ixMWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMWWWWWWWWWWWWWWWMMWMMMMMMMMMMMMMMMMMMxxxxxxnnnzzz##+ii;;;;#MMWWWWWWWWWWWWWWWWWWWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMWWWWWWWWWWWWWWMMMMMMMMMMMMMMMxxxxxxxxnnnnzzz#+*i;:;;;nMWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMMMMMMMMxMMM
MMMMMMMMMMMMMMMMMMMWWWWWWWMMMMMMMMMMMMMMxxxxxxxxnnnnzzz##+*;;:;;*xMWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMxxxxxxxxxxnnnzzz###+i;:,:;zxMWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMMMMMMMMxxxxxxxxnnnnzzz###+*;:,,:inMWWWWWWWWWWWWWWWWWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxnnxnnnnnzz#+#+*i;:,,:#xMWWWWWWWWWWWWWWWWMWMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxnnnnnnnzz####+*;:,,,inxMWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxnnnnnnzzz###++i;:,,:#xMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMMMx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnzzz###++*;;:,,*xMMWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxMMMMMxMMMxMxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnzz##+++**;:,,:#xMWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxMMMMxxMMMMxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnzzz##+*+***;:,,*xMMWWWWWMWWWWMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnnzzz#+**+**i;:,;zxMWWWWWWWWWWMWWMMMMMMMMxMMMMMMMMMMMMMMxMMMMxxMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxnnnnnnzzz##++***ii;:,+xMWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMxMMMxxxxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxnnnnnnzzz#++*+**ii;;,;nxMWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnzzzz++++**iii;::zxMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMxMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
WWWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnzzzz#+++***i;i::+xMMWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnnzzz#+++*;**i;;:*xxMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnzzz#+++***;::;::inxMMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnzzz##++****i;,;;:izxMWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnxnxnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxnnnzzzz###+++***i;;::,:zxMWWWWWWWWMMMMMMMMMMMMMMMMMMMMxxMMxxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnzzzz###+++**iii:::::#xxMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMxxxxxxxxxnnnzzzzz##++++*iii::::;+xxMWWWMWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMxxxxxxxxxxxnnnzzzzzzz#+++**iii;;::;#xxMWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxnxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMxxxxxxxxxxnnnzzz##z##++++***iii;:;#xxMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMxxxxxxxxnnnnnzzzz###+++++**iii;:;#xxMWWWWWWMWMMMMMMMMMMMMMMMMMMxMMMMMMMxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzznnnnnn
MMMMMMMMMMMMMMxxxxxxxxxnnnnnnnzzzz###+++**ii;::;#xxMWWWWMWWWMMMMMMMMMMMxxMMxxxxxMMxxMMxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzznnzzzzzznnnnn
MMMMMMMMMMMMMxxxxxxxxxxnnnnnnzzzz###++**iii;;:izxMMWWWWWMMMMMMMMMMMMMMMMxxxxxxxxxMxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzznn
MMMMMMMMMMMxxxxxxxxxxxnnnnnzzzz###+++***ii;::*nxMMWWMMMMMMMMMMMMMMMMMMMMMxxxxxxxxMxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz
MMMMMMMMMMMxxxxxxxxxnnnnnnzzzz###++++**ii;:;+xxMMWMMMMMMMMMMMMMMMMMMMxMMMMxxxxxxxxxxxxxxxxxxxxxxxnnnnnnznnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
MMMMMMMMxxxxxxxxxxxnnnnnnzzzz###+++**iii;;*zxxMMWMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzz##zzzzzzzzzzzzz
MMMMMMMxxxxxxxnnnnnnnnnzzzz####+++**iii;i+nxxxMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzz#######zzzzzzzzzzz
MMMMMMMxxxxxnnnnnnzznnzzzz###+++**iii;;*zxxMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzz###########zzzzzzzzz
MMMMMMxxxxxnnnnnzzzzzzzz###+++***iii;;+nxxMMWMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzz##################zzzz
MMMMxxxxxxnnnnzzzz######+++*****ii;;+nxxMMMMMMMMMMMMMMMMMMMMMMMMxxMxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnzzzzzzzzzzzzzzz##zz##############################zz
xxxxxxxxnnnnnnzzz###+++++****ii;;;+nxxMMMMMMMMMMMMMMMMMMMMMMMMMxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxnnnnnzzzzzz##z#z######################+++++############zz
xxxxxxxnnnnzzzzz###+++****iii;:i+nxMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnzzz############+++##############++++++++#############
xxxxxxnnnnnzzzzz####+*****iii+zxxMMMMWWMMWMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnzz##+++++#####+++++++++#########+++++++++++++#########
nxxnnnnnnzz#######+++*****+#nxxxMMMWWWWMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnzz#+*ii*+++++++**i***++++++++##++*****+++++++++#######
nnnnnnnnzz##+++++++****+znxxxMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnzz#+*;::;*+++++*i;;ii**++++++++++*******++++++++++#####
znnnnzzzz##+++**++++#znxxxMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnzz#+i:``:i*+++*i;,.,;i**++++++++************++++++++###
zzzzzzz##++++##zznxxxMMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnzzz#+i:`.:i*+++*i:```,;i***+**+*****************++++++##
nnnnnnnnnnnxxxMxMxMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnzzz#+*;::;i*++**i:```,;i***********iii***********+++++++
MMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnxxxxxxxnnnnnnnnnnnnnnnnzzz##+*ii**+++**i;,.,:;ii******iiiiiiii*iiiii*****++++++
MMMMMMMMMMWMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnnnnnxxxxxxnnnnnnnnnnnnnnnzzzzzz##++**+++++**i;;::;;iii**iiiiii;iiiiiiiiiii******++++
WWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxnnnxxnnnxxxxnnnnnnnnnnnnnzzzzzzzz###++++++++**ii;;;;;iiiiiii;;;;;;;iiiiiiiiiii******++
WWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnxnxxnnnnnnnnnnnnzzzzzzzzz#####+++++++**ii;;;;iiiii;;;:;;;;;;;;;;;;;iiii******+
WWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxnznxxnnnnnnnxxxnxnnnnnnnnnnzzzzzzzzzzzz####+++++++**iii;;;;;;;;:::::;;;;;;;;;;;;;;iii******
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxMMxxxxnnnzzz#nnnnnnnxxxnnnnnnnnnnnnnzzzzzzzz########+++++***iii;;;;;;::::::::::::::::::;;;iiiii****
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxMMMMMMMMMxxxxxxxxxxxxxnnnnnxnnnnnnnnxnnnnnnnnnnnzzzzzzzzzz#########+++++***iii;;;:::::,,,,,,,:::,,,,::::;;;iiiii*i
MMMMMMMMMMMMMMMMMMMMMMxxMMMMMMMMMxxxxMMMMMMMMMxxxxxxxxxxxxxzzzxxxzznnnnnnnnnnnnnnnnnzzzzzzzzz########++++++***iii;;;:::,,ii,,,,,,,,,,,,,,,:::;;;;iiiii
MMMxMMMMMMMMMMMMMMMMMMMMnxMMMMMMMxxxxMMMMMMxxMxxxxxxxxMMxxnnn##znnzzznnnnnnnnnnnnnnzzzzzzzzz########++++++****iii;;;;:,:*nn+............,,,:::;;;;iiii
MMMMMMMMMMMMMMMMMMMMMMMMxnxxxMMMxxnxxMMMMMMxMxxxxxxxxMMMMMxxxxz#znnnnnznnnnnnnnnnnzzzzzzzzz#######+++++++****iii;;+MMxnzznzz*.`....`````..,,::::;;;;ii
MMMMMMMMMMMMMMMMMMMMMMMMMMxMxxxxnxnnxxxxxxxxxxxxxxnxxMxMxxxxxnnnzzznxxxznnnnnnnznzzzzzzzzz#######+++++++****iii;;ixxxxnnzzzz#i```     ```..,,,::::;;;;
MMMMMMMMMMMMMMMMMMMMMMMMMMxMMMxMxnnnxxxxxxxxxxxxxxMMMMMMMxxxxnnznzz#znxxznzzznznzzzzzzzzzz######+++++*****iiiii;innxnznnzzz#+#,         ``...,,,::::;;
MMMMMMMMMMxMMMMMMxxxMMMMMMMxMMMMxnzznxxxxMxxxxnMMMMMMMMMxnnxnnznxxnzzznnnx#zzzz###zzzzzz#######+++++*****ii;;;;;znznnxnnznz++**.          ``..,;;::::;
MMMMMMMMMxxxMMMMMxxxMMMMMMMMMMMxxnnxxxxnnzznxxMMMMMMMxxxxnxnzzzznnxMxnnznnz#####zzzxz#########+++++*****ii;;;;;znnzznxnnnn#+***i,`         `.;zxMx;:::
MMMMMMMMMxxxMMMMMxxxxMMMMMxMxxxxnnnxxxxxxxxxMMMxxMxxnxxnnnnnz##zxMMxxnznnzznnnnxnzznxnzz######++++*****iii;;;izzzznznxnnnz#++##+*;,..     `:#xxxxMM+::
MMMMMMMMxxxMxMxxMxxnxMMMMxxMxxnzzznnxxxxxxMxMMMxnnnnnnnn#+##+*+#zzzzzznnnzxxznnnnzzzxnxnzz###+++++****iii;;;i#nz#zzznzzzzz#+#znz#*ii;:``,:;*nxMxnxxMn+
xMxxxxxxxxxxxxxxxxnnxMMMxxxnnxnnzznnnnnnxxxMxnnnnnxxnxnzzn##+#zzznzznnnzzznnxMxnnxxn##nnz#+++++++*****iii;;*#nnzzz+nz#####++#nxn##++*i;:;i*znxxnnnxxxn
xxxxxxxxnxxxxxxxxxxxMMMMxxxxxxnnzz#znxnxxxnnnMxnnxnnznnznznz+++zxnnznnnxn#znMnnxxxnnxxxnzznznz+++***i*iiii+#zz#zzzz####+####zzxnzz###++*i*#nnnnxnnnnnn
xxxxxxxxnnnxxxxxxxxMMMxMxMxxxxxz#zzxnnnnnnxxnxxnxxnzzzznnzznnzzznxxMMxnxxxnxnznxnxMMxxxxxxnnnxnz##+*iiii+++##zzn###z##++###zzznnnnnzzzz+#znzznnnnznnnn
xxxxxxnzzzxxxxxxxxxxMMMxxxnxxnnzz#zzznxxxxxMxnxnMMxxxnz#zzz###nnxznnxxxxxnznnnzznnxxznxxxxxnxxxxMMxxz+###++#nzzz###n#**++####nznznnnxnzznxnzznxnnnnnnn
xnxxxxxxnxxMxxxxxnnxxxxn#nxxnnxnnnnxxMxxMxMMxMMMnnnnzzz###++**+zznnxMxxnzxxxnzznnznnnnxnxxxxxxxMMnxxMnnn#++##z##z+#z+**+++##zzn#zzznznxnxxxnnnznxxnnnn
nnxnxxxxnxMxnnxxnnnnnnMMMnznznxnznxxxnMMMxMxMMMWMnMMnzz###z#+###znnxxxxxnnxxxnzzznnnnnxznnxxnnnnnznnxxxnzznnzz##++#z++*+#####zz#zznznnnnnznnnnnznnxxnn
nnnnxxxnnnnxxnxWz#nM@WxznxxxxnnzzznxxMxxxMxMxMMMMxxxxn#zz#+####zzzznnnz##nxnnnnxMnnnznnnznnnnnnxnn#zxnnnzznxMMMxnnx#+*++#z##zzzzznnnnznnxnnznnxnnnxnn#
xnnnnnzzn#znMWWMMWWMnzznnz#znnzz#znnnMMMMWMnMMWMMMMMMxnnnznz#znMxnnnnxxxxxMMnxxxxxxxnznnxxxnnznxznnznnnzzMMxxWWWMWWMz########nnznnnnznnnnnnnnxnxxnnnnn
zznnzznnzxW@@WWWWxnzzzz##nxxxnnnz##zzWWWWMxxMWWWWWWWxxnnnznnznnxxxMWMMMWWWWWnnnxMMxMWMnxnxxnzznnnnnnnMMxz#xWMnxMWWMxnnzz####znnnzzzznnznzznxxnxnnnxxxn
#nz##zxWWW@@WWWMx####znnnxMnnz#+#xMMWWWWMMxxMMxnnnz##zznzznnnxMxxMWWWMMMWWMnMnxxMMxxnxMxMxznMMMWMxxMMxMMMxnxMWxzxMMxnzznnnnnxxMMxnnnnMWWMMxMxnnxnnnxxx
z#znWWW@@@@WMxnzzzznxxMMMxxz#*#xWWxxMWWWnnnnz+****+zxMMxnnzzzxMnzxMxMMxnMxnxxxMMWWWMxxznWWxMMxMMMWMxMWxzznxMxxMWxnnzzzzznnnxMWMxxnnnzMWW@WWWWWMnzzznnx
nMWWWW@@@@nzznnnnxMxnnxnz+++#MWMnnnzxn#+##++++++zMMMMMMxnnzznnnnnnzx#nz#+#zznMxxxWMMxxnxxWWxxWxnxnnnnnxxzn#xxxxMMnnz**+zznznxWWWWWMWMWWWW@WWWWWWWWWMMW
WW@@@@@@MnnxxnWMxxz####++*zM@Mn#znnz###++#z#++nMWWMMMMxnzz####zznnxzznxnnnznzzn#znnMWMxMMMWWMWMnzzz#zzzWx+zxWnxxz#nn###zzzznnxxWWWWWWWWWWW@@WWWWMWWWWW
WW@@@@WxxxMWMMxzzzz#++++#M@WxnnxMxnnnz####+#xWWMxxxnxxnzz###+#znnnznnxnnxxxnnxxznMMnxMnxnzzxWMMnnznxxnxxnznxMMxMxnn#++#z#zzzxMWWWW@WWWWWWWWWWWWWWWWW@@
W@@WMMMWWMWWMnMxz#+#+#zMWWMMMxxxxxxxnz#+++xWx#+#zzzz##+****+#znnznnxxxxxxxxxnnxxxxxxzzzznxnxMMn+#nxxnnxn###znzzzzz##znz#znnnnnWWWMMxMW@WWWWWWWWWWWWWWW
@WWMWWMWWWWMMn#+***+nWWWMxnxxxMxxxnnzznxMWWMxn#+++#++#+++*+#zzzznnznnxxxxMMMxnnxMxnznxnn##zzzznznznnz#z#z#zzxnn##z##+#nnnnnxMMWWWWWMxznWWWWWWWWWWWWWWW
WWWMMWWMxxn##++++#nWWWWMMxxMMxxxxxnz#Mxz#xMxxMxxzzz#zz+****+#znnz+#z#z#+#z##nxz##z#*z#++#+++##zzzz+#+zzznnzznzzzzzzzzznnz###nMWWWWWWW@WWWWWW@WWWWWWWWW
WWWxxxxn######+#xWWWWWMMMMMMMMMxnnnz#++#xMMxMWWMxnz+##+**+zz##zznnnz#z###zznz#+##nnnnzznnxMxnzzn###+*#+########xxzz#######znxxxMMMMnnMWWWWWWWWWWWWWWWW
zWMxz####zz##zMWWWWWW@WMMMMMxnzz#++++++nznzz#nzzz#+#+#+++#z###zzzzz#####zzznzz#+##znnnzz#++z###++**++++#++++***znnnnzzzznzznxxn##zzzznnnzzznWWW@@@WW@@
#+#######*+nWWWWWWW@WWWWMMxnz####++*+**i*xxnnnz#++++***+*+++#zz#znzz##znz######+#++++**++++++++++z#zznn+++*+++znnnnz#+##znz##+#zxnxMMMWMMxnzzMWWW@@@@W
#++nz##znxMWW@@@WWWWMxxxnnn#zzz#+++*******i*##+##***iii**ii++####++***+++++++*++++*+##++++#++++#nnzz#+i*+#+++znnnxxnnnxnnnnnzznnn#znnxxMMMMxnnnMWMnz#+
zz++++MW@WWWWW@@WWWMxnnxnz#++##+********iiii**ii*########zz+#++###+#++++****++**+++++##znz#+*++*+**++##z#++#zMxxxz+#+####+#nxxnzz#+++*++#zznxnnz###zzz
xnnz#++##nMWW@@@WMxxxxnz##+******+**ii**iiiii*#xzz##z###zz#nnn#+++++#++++**#xnnzznnxxnz##+***++##+**++z++#++#zz#*+*****+#znz#+*****+*+z#zz+zz####zz##+
znnzzz#++++*+#zzzzzznn#+++++**+++++++++++#z#++zz#zznnnzzzzn#+xxn+++####+++#+#z#+#zn##++*+#++++*i*****+++##++++**+****+#z###+###znxxnzz#zz###z#+#######
*+++++**i*##zz#####+++++++**ii***###***+++**+zznzxMxxxxxxxnnnnnnn+++*i;;i*+##++++++****i***+**++++#z#***+******+****+++#zzn#++##zn#zz##zz#zzzxn#++*+#+
nznxnz###znzznzz#*+###zz#+*+##+***iii*i**iiiz##nznxnxxxxxxxxnxMxnn+iiiii**++++++##++**+********++###+**+++****++****+++znxn++##zxxnnxMMWWnxzzz+##znxz#
+z##z++##++#zznz##+*+++##z#******i**+*+**ii*zxnxxnnnnxxMWMxMxxnxxz#+*;;;;;;iii****+***+*++++#++++#++++*+****i****++*++##zzn##znxMxnnMMxnxxnnzznnzzzzzn
++++#+zz#+**+*+#zz#+++++##+++**ii***i*i****+#nxxxxxxz##znnMWMMMWn####+;;;;;****+++***+#####++****++**+**********+**+##zzznxxxxxMxnxxnnnxxxnnnnnxxnznMM
++*++++++#z#+#+++++#zn###+##++++++++++***++#znxxnnxxxxnnxxnznnxMnz#+*+*******+****+*********ii*##+***+******+#z#*++###zzzzzzzxMMxn##znnzxxMnnnnzznz##+
z#z#+*++++zzzz#zzz##zz#+#+*++*+++++****+zz++**+##zz##nMWMxMMMMx###++*++++++*************++**+***++****i***++++++##+******+*+***+++##zzznnnnnnz#+++++++
znxznz#+*****+###nnznnn##+***+**++++#z#z++*++++++*++++nxMMxxn#+++#++++**++*i***i******i***i*iiiiii**++*******++++*iiiii*++i*++##znnnxMMxxxz+**+*++#znx
*+**++++++++++*+++#####n##++*+#+#nnnxzz#*+#+*ii******++*++***+#+****++**++#+*****####++**********+###+*****++++*ii*++*+++znnz+++***++**++***++*++zxnnx
##++***+*++++++++##zznMMx#+#+##zzz##+***+###++++*****++++*+++++**+++++++##**+#++++###++++##+*++++#++******++***i**+*++****++***i*++****+#+#z###zxxnnzn
*#+###++#+++****+znzzzzz+##nn#*+#++++++*++##+++++++**+*+**********iiiiii*++*****+#++####+##+*****++++*i*********++#+*iiiiii***i***i***+###z###znnnz###
++++**++#+**+**+++##zznnnz+#+**++++***+**+++++***+*************+*+*********+####+**iiii**+**++**ii*ii***ii**+*++***ii;;iiiiiii*+*i*+####++++##znn#**+#