iiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiz*iii
iiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii#*iii
iiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii*+++ii
iiiiiii;;;;;;;;;;;;;;;;iii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;::::;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*#z+*i
iiiiii;;;;;;;;;;;;;;;;*+ii;;;;;;;;;;;;;;;;;;;;;;;;;:;:::;::::::::::;::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i*+zz#+*
iiiiii;;;;;;;;;ii;;;ii*#+i;;;;;;;;;;;;;:;;;::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i+znzz#+
iiii;;;;i;;i;;;ii;;;i*+#+*;;;;iii*i;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;i*#zxxzz+
iii;;;;;iiiiii;*+i***++#++*;ii*++ii;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;i*+###xxznn
ii;;;;ii****+*++#+####zzz++i*;++#*;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;i**zznnn+zn
iii;;ii**++##zz##zz##zznn####i*+##*i;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:;;;;;;;;;;;i*##znz##+++
i**iiii*+####znzz#zzz#nnnz#zz++##z+i;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::;++*iii*#z#nnxnzn+*
ii*+#*+#zzzzzznnzzzznznn#z##z++#zz#+*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;+++#+#++##nnxxnn++
i*+###znznznnznnnnnnzzzn#nzzz++#zzz##i:::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::i++#zz**+znxxnzn+#
i+#zzzznnznnnnnxnnznnnnnznnxnz#zzz+++*;:::::::::::,..,......,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;*zzz+#;*+#nzzzznz#
+#zzzznnnnnnnnnnnnnxnnnzznxnz#+znnz#z#+*i:::::::,,..........,,:::::,,,:::::::::::::::::::::::::::::::::,.,:::,,,,::::::::::::::::::;#nz+++i;*#znxnnzzz
#znnnnnnnnnnnnnnnnnxnnnnnnxnz#zznnnnz##+*;:::::,..........,,::::::,...,,,::::::::::::::::::::::::::::,....,,,.,,,,:::::::::::::::::;+##z#+ii+nnzxxnnxM
zznnnnxnnnnxnnnnnnnxxnnzznxnz#nnnnnnzzz#i*::::,..........,,,,,..,,......,,,::::::::::::::::::::::::::,.......,,,::::::::::::::::::::i#zn+**zxxxnxxnxxx
nnnnnnnxnnxxxnxnnnnxnnnnnnnnzznnnnnnnznz#z+ii;,,,.,....,,,,,,...........,,,:::::::::::::::::::::::::,,,......,,,,:::::::::::::::::::i#nn###+zxnnxxxnnn
nnnxxnnnnxnxxnnznxnxxxxnnnnnnznxnnxxnnnzzzz#i;,,*:;,,,,,,,,,,......,,,..,,:::::::::::::::::::::::::::,,,,,,,,,::::::::::::::::::::::i#####z#+++nxxxnnx
nnxxxxxnnxxxnnnzzxnnnxxxnnnzznnxnxnnnnzzzzz#+*;:ii:::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::i++;;#zzn###nnxxxMM
znxxxxnnnxxxn#zznxxnnxxxxznznnxxnxnnnnnzzzzzzz+*#i:::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,:::::::::::::::::::::::;::;**i*###*xMnxxxnnnxx
zxnnnxnnnxnxzznzxxxxxxxxxnnznnnnxMnnzznzzzznnz++#ii;;::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,:::::::::,,::::::::::::::::::::::*:;i+i+++##+xx##xxxnnxM
nx#znnnzznnnnznnnxnnxnnnnnnzznnnxxnnxnzznnnnz#+##+iii::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,::::::::::::::::::::::::::::::::;+;*+i*#nxnznnxzznMMxMxx
nnnnnzz+##znxznxnnznxxnxnnzzznnnxxxxxnnnnznzn###+++i;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::::::i##+++zznnnxxnnnzzxnxxMx
nxxxn+##nzzzn+nnxnznnnxnnnnnznnzzxxxxxxxnznnn#*++*+ii::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::i*##znnnnzzxnnnxnnnnxnxM
nnnxnzznzznzzz+znnnnxnxxnnnxxxxnznnxxMxnnnnxz+*+**i*:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:::::::::::::::::i++#zzznnxnnnnMxxxxxxnnxM
nnnxxnzzz+z+#n+inxnnnnxMnnnnnnnz#nzxxxnnnnz#++;+*+*i;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::*+++##xnnnnxxMxxzznnxxMM
nnxn#zznzzz#+x#*nnnnznnMMzznxnxnznnnxxnznn##z#;*ii;*i:,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+z###n##znnMxxMnnnnMxxxx
nxnn#zzz+#nn#n#znznnnnxMMxxnnnxxnnznxnz+znzznz**#+:;i,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::i+znzznznnxxxxMMMMMMMMxMx
nzz###nz##nnnnz+n#+znnxMMxxz#xMnnxnzn#n#*z#zz##z##*;:,.,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,;i+zn##znxxnnnnxMWMxMMMMMM
nzz#+znzzzznzxz##x+n#nxxMxxz*xxnxxnxxnxxn#znnzxz#z*i,....,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;i+#z#zzznnnnnxMMMxxMMMWWM
xnnnz##zznznnnnz#xzn#nxxxxznzxnnnxxxnnnnz##znxnnz#z+,......,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*++znxz#zzxxz#nxnnnnMMxMMx
xxxnxznnnnnnxxxnxxxxnxxxnnxn#nz#+MMxxxxxzzzn#xnxnnn#:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#zzzxxnxxxnxxxnnnnxnMMMWM
nnxxnnnzzz#+znxznnxxxxxxnnxxzx###nMxxxMMx#znznznnzz#*;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,i#znnxxMMMxxxMMMxxxxxMMMMM
xnxnxnnz#*+#zxxxnnxMxnxxzzxMxxn#zxnxxxMMxnnnn+++#+***;:,,,,,,,,,:,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,........,,,..,,,,:#xxnnnMMMMMMMxMMxnxMWMxMM
nxxnznxzzz#+zxMnnzzxnxnn#zxMxxnnxnnnxxxxnxnzzz#+*#+i*:,,,,,,,,::i:;i;ii;:,,,,,,,,,,,,,,,,,,,,,....`.,,,,,,..`.......,....,;;+zxxxnzzxxxnMxxMMxnxxnxxxM
nnnnznxxx#*#nxxnnx#nnxxx#xxxxxxxznxnzxnxnxnnnzz#+*i*:,,,,,:;;*;+#++###++ii:,,,,,,,,,,,,,,,,,,,....`.,,,,,,...............,*#nnzzxxxxxxxxMnxxxxxxMnnznn
xxxxnnnzn#*#znxnxxzxnnnMnxzxMxxnznxxnxnxxnznnz+*i*;:,,,:,,;+++##zzzz#zz##++i;:,,..........,,,,.......,,,,,............:,:;#nxxxMMMMMMxxxMMnnnnMMM#z+nn
xxxxMxzzzn+#nzxnxxxxnxnxxzzxxxxxxnnMMnxznnznz#+*;::,,,:*ii*##z##zzzzzzzzzz+##*i,.................,...,,,,............:*:i*znxxMMMMMxznMxxxnnxxMWMz*zzx
xxxxMMnz++nznnxxxxxxxxxnnnnMxMxnnnxxxxnznnn##i;:,,,,,,;+##+###zzzzz#+zzzzz#z###i...............,,,,,,,,,,...,,,,,,,,,i+***#znxxMMMMMxnxnnnxxxMWWMzzznM
xxxnxMMxnz#nnxMMxxnxxxMxnzxxMxMMxxxxxMxznz#z#i,,,,,;*i*#zz#+++zz#zz+#zzzzzzzzzz*:,:,,........,,,,,,,,,,,,,,,,,,,,,,,,i++#+#znxxMxnxMMxMMxxMMMMWWxzz#xM
xMxnnxMxn#zx##nMMn#zxxMMxnxxnxxxMxxxxMMMn+#*+;,,:ii#####zzzzzzzzz###zznnnzzznz##+*+*;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+zzz#znnMMxxxxxxxxMMWxxxMMxzznMM
MxMxxxxxn#nnzzznnMxxxMMMnxMMnMx#nMxxxxxMxnz#i:,,;++zz##z#zzznzz####znznzzzzznznnzz##++i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;#znxnznnnxxxxxxxMMWWWMMnxxxnnnxzx
MMMxMxnxzxnn##xxz#znnnWMxnxMxnz+nznxxxxMxMM#*;:,;+#zzzzzz#zzzzz###znzzzz#zzznnznzzz##+i;,,,,,,,,,,,,,,,,,,,,,,,,,,,,;#nnxxnnnxxxxxnxzMMWMMMMMMxxnnxnnx
MMMWMMxxz+znn#nn*+#zznMMxMWMxxz#znnxnxMMMznn#i;;**#z##zzz#n#znzz#z*#####z#nnnnzzz++*z#*;,,,,,,,,,,,,,,,,,,,,,,,,,,::iznnxnnxxnxxxnxnxMMMMxWMMWMnn+nxzn
MxMxMxxMMn*zznnn;#znnnMWxnMMMMxznxxxnxMxMn##+++###z##zzzz#nzzz##zn#;*#zznzz##zznz#+####i,,,,,,,,,,,,,,,,,,,,,,,,,,;*+#nxnxxnxxxxxxMxMMMxMMMMMxx#z#zxnx
n+++zxnnMMnn##*n**+#nMMWnzMMMWMnMnznznxxMzz#++zzzz#+#*#z##z#z++*#zzi**zxnz+##zznzzzzz#+;:,,,,,,,,,,,,,,,,,,,,,,,,,;##znnxxxnxxxxxMMMMxMxxMxxxMxzzn#xMx
xnz#zz#nnxMMnz#n+*#nxxWWxxWxnMMxxnznz#nnnnz+#zzz##+zz#++*###+#;:*#z####zz#+znzzznz#zzzz++;*++i,,,,,,,,,,,,,,,,,,,,*##nnnxxxnxxxxxMxMxxxxxxxnnxx+nxxMMM
z##z+znxz+xxxznnz#znnMMxWxWMMMMMMnzz+*++#nxnxxn##+nzz#**;+z*ii*i#*zzzzzz+#z##+nzz#znznzz#+++#+i;,,,,,,,,,,,,,,,,,,;#zznnxxxxxxMxxxxMxxxxnnxxxMxnnMMMMx
+z*+***#nxxxMxxnn#xxMxMnxWWxzxMMMMMn*i*zzxxMMxx##nnnz*i+*##*;,,;zzz#zznz#zzn##zzz#zznnnzz++zz++**,,,,,,,,,,,,,,,,:izznnxxxxxxMxxxMxxxMxnxxMMMMxxxxMMxM
*+#z*i*+#nnnzMxxxzxxxxM*#WMnznxxMMMxz#zzxxMMMMnnnxnn+i:;#zzz+;;+zzzzznn##zzznz+++zznnnnzz####+++*:,,,,,,,,,,,,,,,i#zznxxxxxxMxxxMxMMMMxxxMMMxxxxxMMMMM
+zx#iiizzn#*#znxxnxxxxn+xWMMMxxnMMMMzi#zxxMMMxxnnxzz+*;i#znz#++zzzznnnnz#zznzzz#znnznnnnzz#zz+++i:,,,,,,,,,,,,,,:*#znxxxxxxxMMMxxMMxMxxxMxMMMMMMMMWMMM
nxxz*+#n+##iznxxxxnxxMxnMWMxnz+zMMMMni;+*zzxxnxn#nn#+i;+#zzznzznnnnnxnxnzznnnnzznnxxnnnn#zzzn#z+;,,,,,,,,,,,,,,,:;i#nxxMxMxMxMxxxMMMMMMMxxMMMMMMMMWMMM
nxMMxz+;+nn*nxxxxx#nnMxxMWxxzzzxMMMxni:*+nznn##znxn*##*#z##z#*##zzznxxnnzznzzzznnnxxnxnxnznznnz#;i:,,,:,,,,,,,,,:;*znnxxMxnxnnxxxMMMMMMxxxMMMWMxxnxxMM
nxxWx#::#nxxzxMxxMxnnMMnMM+zxxxxMMMMz*::nxxxni*+znn##zzzn#++z*+nnzznnxnznxnznnnxxxxxxnnnnz#nznnn+z+;,*#,,,,:,,,:*+znnxxxxxnnnnnxxMMWWMxMMMMxWWMxnnxnxx
znnnz;i:*znznxxnxMxMxMMMMnzz#nxxWMMxni,inMMMz##+nnzzznzzn##+nnznxnnnxxxnxMnnnxxxxxxxxxnnnnnxxxxn###+izn;;###;,:i#nnnnxxnxnnnnnnxMMMWWWMxMxMMWMMxxxxnzz
;***##;;*zznMMxMMMxxMMWWWz+znnxMMMMMx+:+nxMMMz+nxn#zzzznn#znxnnxznxxxnnxnnxxxxxxMxMxMxxnnnnnxnxn#z##znn+nnnx#:*znnnnxxxxnnnnxxnMMMMMWWMMWMxMMWMMxnnnnn
z#ii*+*+#nnznnnxnxMxxMMWWnzzznnxxMMnz+*#zxxMxxxxxxnnznnnzzznxxnxMMxnxxxxnnnxxMMMMMMMxxnxnnnxxnnnnzzznxx#nnxxx#znnnnnxxxnnnnnnxxMMWWWWWWWMnxxnMMMnxMMMx
z#+####nnnnznnMnnnxnnMxMMxMxz+zxxxMnxz#*i#+#nnz+#xxnz+zz#zzznnxMMMMnxxnxxxnxxMxMxxxxMMMnnnxxxnnnnnzznxxMMMMxxznnnnnnxxxxnnnxxxMWWWWWWMMWMMxxnWMMxMxnxM
znzz#####zz#zz##zznMzxxWxnnnnnnxnxxxzznzznznnxzz#zxn#++zzzzzzznMMMxxMnxnxxxnxxnnxnnxxnnzxnnz#znxxxMnnxxxxMMMMnnnnnnnnnnnnnnxxxMMWWWWxznMWMxxMxnnnxnnnx
zzzz##z#nznzznzzznzMxxWWnnznnnnnznznzzzzzznzzzzzz#zzz#zzzzzzzzzxxnnnMxnnnnnnnnzzxnzznzznx#z#+*+#zxzz*+++*++##znnnnnnxxnnnxxnxxxMWWWWxnnnxMMWxnxxMxMMMM
nnnzzznnxnxnnnnnnznMWxMWnnzzzzzzzzznnnnnnznzznnnnnnnnnzzz###zzzz++#zMnzzzzzznnnznnnnnnnnxzzz#z##xxz#*+**+###znxnnnnnnxnnnxxxxMMMWW@xxxnnnnMWxxxnxxxMMx
nnxnnnnnxnxnnnxxnnnxMMMMnnnzznnnnznnxnnznnznnnnnnnnnnz#zzz#zzzzzz#+*x#*+zzzznzzznnxxMMMx#*z#nz+nnnzn##+#zzzznxxxnnnnnnnnnxxxMWMxxM@WMxxxxxxxnnnnznMMMW
nzznnxxnnnnnnznnnnnxMMWMnznnnznnzznnznn#zn#znnnnnnnnnnznzzznzz#zzzz#++z#+++*#z###zz+#z#+i***+***zznxxnxnnnxnnxMMMxxnnnxxxxxxMMxznxWxznnxnxxxnxxxnnznMM
nnnnnnxnnnnnnnnnznznMMWxzznnzznzzzzzznznnnznnnnnnxxxxxMMxxMMMxnnnnziiizzn##zz#+i;i;;i*#z#+znnxnzznnxxxnnz##+#xWWMxnnnnxxxMMMMWWxMWWzzxnnxMnMxxxxnnnnxx
MMWMMMMMMxxnnnnnnnnnMMWMxxnnnnnnnnnnznzzznnzznznnnnnnxxxMMxxMMMMMMn+++xMWxxMx+*++iiiii++#zznxMxnznnz#++*****+nMMxxxnxxxnxMMMMMxxWMxzznMxxMMMxxxnnMxxxM
WWWWWWWWWMWMxxMMxMMMMMWWMMMMMxxnxxxMxxnznnzzz#z##zznznnnnnxnnnxxnnnnzxznz+##nnnz##+++**+zzxxnnzzz#++++++*+++znMMMMxxxxxxxxxxx#zxnnzxnnMMxnnnxMMxMnxxMM
WWWWWWWWWMWWWWWWMWWWMWWMMMMMMMMMMMMMMMxxxxxxnnnnnznznzzzzzzzzzzzzzzzzz#z+++++znnnnnnzz+#nxz#zzzzzzzz#+++*****+#znxxxxxxxxxxxxxxxxznnxMxnnnxMMMxMWnzxMM
MMMMWMMMWWWWWWWWMMWWWWWWWMMMMMMMMMMMMMMMMxMMMMxxxxxxxnnnzz##++##zzzn##zznz###zznzxxzxzznxnnxMnzzzz#+****ii*ii*+#znnxxxxxMMxxMMxxxxxWWMxMMMxxnnnxnzzxMM
MMMMMMMMMMMMMMMMMWM*+WWWWWWWMMMMMMMMMMWMMMMMMMMMMMMxxnnzzzzznnnnnnznnnz+#z#znnnnxxxxxxxxnznnnnzzz#+*****iiiii**+##zznxxxxMMMMMMWMWMMMxxMzzznzznxMxWMxx
xMMMMMMMMMMMMMMWWMx,,zMMMMWWWWWWWMMMWWWMMMMMxMMMxxxnnnznnnnnnnnnnnnxxxnnnnzxxxxxxxxxxxxxzzzzzzz##+***i**ii******+++##znxxxxMMMWWWWxMMMMxnznnnnxMMWMxxn
nxxnnxxxnnxxxxxxxx+i##zxxMMMMMMMMMMMMxxxxxnnnnnzzzzzzznxxnnnnnxxxxxxxxMxMMxxnznxMxxMMMxxnzz#####++***ii**********+++##znxxxxMMMWWWMMMWWMxMMMMxMMMWMMxx
nnnnnzzzzznnnnxxn#,.;i,nnnnnzzzzzzzzzzzzzzzzzzz##zzzznxxxnnnnxxxxxxxxxxMMWMxxnnxMMWxMMMxnz##z##z#+****i**********+++#zznxxxxxMMMMMMMWWWWWWMMMxMMWWMWWM
zznznnzznnnxnnnnn*```.,*###+#####zzzz#zzzzznzzz####zznnnxznnnxxxMxxMxxMxMMxxMxnxxMMMMMMxnzzzzz#+++**********i****+++#zznxxxxxxMMWMMWWWWWWWWWMMMMWWWWWM
nzznnnnnnnnnnzzz#i...i#+#+###zzzzzzzzzzzzzzz##z######znnnnznxxxMxxMMMMMMMMxxMMxxMxMMMMMxnz####++++*******i***ii**+++#znnxxxxxxMMMWWWWWWWWWWWMMMMWWWWWM
xxnzznnzzz####++++ii#zz###zzzzzzzz#zzzzzzzzzzzzzz#z##zzznnnz+xMMMMMWMWWMMMMMWxxxxxMMxxnnzz##++++++***************+++#znnxxxxxMMMMWWWWWWWWWWWWMMMWMMWWW
zzz#######++#z#+++,#z#nx#zzzzzzz####zz#z##zzz#zzzznzz#zzzzznzxMMMMxMMxMMMxxMMMnnxxxxxnnnzz####++++****************++#znnxxxxxMMMMMWWWWWWWWWWWMMMMMMWWW
##z####zzz#+#+#+*i;nxxMx##########zzzzznnznxnzznzznn####znnzzxMMMxMxMMxMWWWMMMnxxxxnnnzzz##+####++************i***+++zznxxxxxMMMMMWWWWWWWWWWWWMWWWWWWW
#znzzzz##z##zzzzn##znnMnnnzzz#zz#zzzzzznnnnnxnnnnnnzz#znnxxnxxxMxMnxxnxMWMWWWMxxxxnnzznnzz#++##+++********i********++#znxxMMxMMMMMWWWWWWWWWWWWWWWWWWWW
########z#zz#####;z;+zxxnzz#zzz#zz##z##nnznnnnxnxnxnzznzznxxMxnMWWxMMMnxWWMMMMxxxxnznnnnzz#++++++++***i************+##zzxxMxxxMMMMWWWWWWWWWWWWWWWWWWWW
#####*+++##z####*;i##nzzzzzzznzzzzzzzzzznnnnnnxxxxWxzznznxnMWMxxxMxMMMxxMMMMxMxxxxnnzznnnz#+++++++*********iii*****++#zznxxxxxMMMWWWWWWWWWWWWWWWWWWWWW
##zz###z###z##zzzzzzzznnnzzznnzznzzzzznnxznxxnnnnxxxznnzznxMMMxxMMxxxxxMMMMMMMxxxnznnnnnz##+++++++*********i******++++#znnnnxxxxMMWWWWWWWWWWWWWWWWWWWW
##########zznzzznzznnnnznnnnnxxnnnnnnnxMxnznnnnnxxxxznzzzznnxxxxxMMxMMxMMMMMMMxxxxnnnnnnnz#++++++++*************+*+++###znnnnnxMMMMWWWWWWWWWWWWWWWWWWW
zzz#zzzz##zzzzzzznnnxxnnnnxxxMMxnxnnMMMWxnnxnnzzMMxnnz#zzzzznxMMMMxMMMMMMMMMMxnnxxnnnznnnz#++++++++*************++++++#zznxxnxxMMMWWWWWWWWWWWWWWWWWWWW
zzzzzznnzznnzzznnnznxxxxxnxMxxWMxMxnxMMxnxMxxxMMMxxnnzznnnnnnxxMMMMxMMMMMMMMxxxxxxnnnnnnzz#++++++++****+++******++++++#zznznnxxxMMMMMWWWWWWWWWWWWMMMMM
zzzznnnzzzznnnnxnnnxxxMxxnxMMMMMWMMMnxnnxxxnnnMxnznnnnnxxxxxnxxMxMMMMMMMMMxxxxnxnxnnzzzzz##++++++++****++++*+++++++++###nnnnnxxxxMMMMMMMMMWWMMMMMMMMMM
zzzzzznzzznnnnnnnnnxnxMMxnnMMMMMWMxxxnzzzz##zzzxnznnxxxnxxxxxxxxMMMMMMMMxxxxxxxxxxxnnzzzz###+++++*******++++*+++*+++++#zzzznnxxxxxMMMMMMMMMMMMMMMMMMMM
zzzzznnznznzzzznnnnnxxMWMnzxxnxxMxz#zxx#*#zznznnzznnxxxxxnxxxxxxxxxMMxxxxxxnxxnnnxnnnnzzz##++++++**********+++***++++###zznnnnxxxxMMMMMMMMMMMMMMMMMMMM
zznnnznnzzzzzzzzzznznxMxxxxnzznnnn##n###+znnnnzznxzznxxxxxMMnxxxxxxxxxxxxxxxxxnxxnnnzzzz###++++++****++*++*+++*+++++####zzznnnxxxMMMMMMMMMMMMMMMMMMMMM
zznzznzzzz##zz#zzzzznMWMMxnxnxxxxn#+#+++#nxnxxn###znnxxxxxMMxxxnxxnxxxxxnxxxxnnnnnnnnzzzz#++++++++++++++++++++++*+++####zzzznnxxxMMMMMMMMMMMMMMMMMMMMM
zzzzzzzzz###zzzzzznnxWWMxnxxMxxxnnz#####+#nnMMMxz#znxxMMxxxxxxnxxnnxxxxxnnnnnnnxnnnnnnnnzz##+++#+++++*++**+++++++++++####zznnnnxxMMMMMMMMMMMMMMMMMMMMM
zzzzzzz####zzzzzzznxnxxnnxxxMnMMxn####z#z#nxxMMxxznxxxxMMxMMxxnnnnnnxxxnnnnnnxxxxnnznnnnz#++++++++*++++++++++++++++++++#zznnnnnxxxMMMMMMMMMMMMMMMMMMMM
nzzzz####zzzzzzzzznnnn#znnnxMMWxxn#######zxxMMMMxxxxxxMxxxxxnnnnnxxxxxxxxxnnxxxnnnnzzzzzzz##++++++++++++++++++++++++++##zzzzznnnxxMMMMMMMMMMMMMMMMMMMM
zzzzz##zzznzzzzzzzzzzzzzznnxnxxMMnz####+#zxWW@WWMnnxxMMxxxxxxxxnnnnnzznnnxxxnnxxxnxnnzzzz######++++++++++++++++++++++++##zzznnnnxxxMMMMMMMMMMMMMMMMMMM
zzzznzzzznnzzzznz##znnzz#znnnnxxxxnz###zz#zxMWMMxxxxxMxxxxxnnnnnnznxnnnnnxxxnnnnnzzzz###zz##+###+++++++++++++++++++++#####zznnnnxxMMMMMMMMMMMMMMMMMMMM
zzzzzzzznznnzzznnzzznn####zzzznnnxxz#zzz#nnxMMMMxxxxxxxnnnnnnnnxnxxnnnnxxxxxxzznnnnzzzz##z#######++++++#+++++++++++++#####zzznnnxnxMMMMWWMMMMMMMMMMMMM
zznnznnnnnzzzzznnnnnxx####z#znznznnnzzznnnxxxMMxxxxxxxxnzzznxxnnnzzznnnnnnzzzzzzzzz#zzzzz##++++#++##++++++++++++++#++###zzzzzznnxxMMMMMMMMMMMMMMMMMMMW
zzzzznznnzzz#z#zzzz#######zzznnznznxnnnnnnxxxxMxxxxxxxnznnnnnnzznnnnnnnnxxxxxxnnnnz##++#######z######+++++++++++#+++####zzzzzznnxMMMMMMWWMMMMMMMMMMMMM
zzzzzzzzzzz#znz##z#####+##zz#znzzznnnnnnnnxxxxxxxxxMxnzz#zznxnzzzzznxnnzznnnnnzz#####+++#+++##+##z############+###########znzzzzzxMMMMMMMMMMMMMMWMMWMM
zzzzzzznn###zzz#zz###++###zzzzzznnnnnnnnnnnnxxxxxMxMxxnznnxnnxnxxxxxxxxxxxnzznnxxnzzz#+##########++++++##+++###++#########zzzzznxMMMMMMMMMMMMMMMMWMWMW
znzzzzznnnzz####zz##########zznznnznnnzznznnxxxxxxxMxnnzzznxnnnnnnnnnnnzznxxnzzz#######+#####++++##########################znnnnxxxxMMMMxxMMMMMMMMMMMM
nnznnnnnznznznzzzzzz##z#zz#zzzn#nzznnn#zzznnnnnxxxxxnzzzzzzz##zzzzznnnnnzzzzzznnzzz####+#######################+++++#######zzzznxxxxMMMMMMMMMMMMMWMMMM
nnzzznzznnznnzzzzzz#z#zzzz#zzzzzzzz#zz#zz#nnnnnxxnnnz###z###zzzzzz#######nnnnnnz#zz##+##########################+##zzz####zzzzznxxxxxxMMMMMMMMMMMMWMMM
nnzzznzzzzzzznnzzznnnzzz#z##zzz#####zzzzz#zznnnzznnxnzzzzzzzzzzzznnnnnnxnnzz################++++#######zzzz##++######++##zzzzzznxxxxMMxxxMMMMMMMMMMMMM
nnnnn#znznznzznzzznnzz#zz#z##zzz####zzznzzzznxzzznnnz#####+##zzz########zz#######zzzz########################zzzzz#####zzzzzzzzzxxxxxnxMMMMMxMMMMMMMWW
xnnxn#zzzzz#zznzzzzzz#zzzz#zzzzz##zzzzzz#zznnxnz##+###############zzz##zzznnnz###zzz######################zz###########z#zz#z#zzxxxxxxMMMMMMxMMMMMMWWW
nnnxnzznnzzzzzxnnzznnzzzzzzzzzz##zznz#zz#zzxxxxnz#zz#############zzzznnzz#zzzzz#z###############zzzzzzzzzz#########zzzzzzzzzzzzznnnxMxxMMxMMMMMMMMMMMM
xnnzzznxnnzzzznnzz#nznnznnnznn#nznzzz#zz#nnnxxxnnnnnznnnzzzzzzzz#############################zzzz######zzzzz########zzzzzzzzzznnnnxxMMMMnxxMMMxxMMMMMW
nnzzznznnnnzznnnnzznnxxnnxnnnnzzzzz###zz#nnxxnznznnnnnnnnzz#############zzz############zzzzzz##########zzzzz####zzzzzzzzzzzzzzzznnxMxMxxMMMMMMMMMMMMMM
nnzzznnnnnnnznnzzxnzxxxnnnzznnz##z#zzzznznzxnznnnznnnnnnnnn#######zz###########zzzzzzzzzz####zzzzzzzzzzzzzzzzz######zzzzzzzzzzzznnnnnMMMMMMMMMMMMMxxxM
nnnzznnnnnnnzxnzznxnxxnznzzzzzzznnznzz#zznznzzxnnznnnnnnznnzz##############zzz########zzzzzzzz#####zzzz#zzzzzzzzzzzzzzzzznnnzzzznnxxMxxMMxxxnxxMMMMMMM
nnnnnxxnxxnznnzzznnznzzznzznnznnzzzzzzzznxnznnnnnznnznnnnnnzz#z###zzzzzzz##########z#zzzz####zzzzzzzzzzzzzzzzzzznnnzzzzzzzzzzzzznnnnxxnnxxxxxxMMMMMMMM