nnnnnnnnnnzznnnnnnnxxxxxxxxxnzzzzzzzzzzzzzzzzzz##zz##########################+*i;;::;;;;;**+#+++###+##z######zzzzzzzzzzzzzzzzzzzzzz#+++++++##zzzzzzznn
nnnnnnnzzzzznnnnnnnxxxxxxxxxnzzzzzzzzz##z############*+*##+#################++i;;:::::;;i*+##+++###+############zzzzzzzzzzzzzzzzzz#+++++++#zzzzzzzzzzn
nnzznzzzzzzznnxxnnnxxxxxxxxnnzzzzzzzzz#+ii;i**+++++++.;*;**++###############+*i;::::::;ii*+#z+*+###################zzzzzzzzzzzzzzz#+++++###zzzzzzzzzzz
zzzzzzzzzzzznnxnnnnnxxxxxxxnnzzzzzz#z#+i,````..,:,:,, `,`:;ii*#############+*i;:,,,::;;ii*+#z#**#####################z#zzzzzzzzzzz#++#####zzzzzzzzzzzz
zzzzzzzzzzzznnnnznnnxxxxxxxnzzzz##z##+:``````           ``,.,i*############*i;:,,,,::;i***++##**+######################zzzzzzzzzz###+####zzzzzzzzzzzzz
zzzzzzzzzzzznnnnzznnnnnxxxxnzz###**i:,` `.:,....,,``   `` .`,:*###########+i;:,,,,,,:;i*+++++++**######################zzzzzzzzzz##++###zzz##zzzzzzzzz
zzzzzzzzzzzznnnnzzznnnxxxxxnz#++*i. ```.,;+ii;;;i*;:,.,.,`.,,.:*++#######+*i;:,..,,::;i*+##++++***#######################zzzzzzzz#+*+###z#z###zzzzzzzz
zzzzzzzzzzzznnnnnznnxxxxxxxz+*;`` `...::,..;ii**#+++*;;:;,.:...,;++######+i;:,...,,:;i*++###++*+*i+#######################zzzzz###+**+#########zzzzzzz
zzzzzzzzzzzznnnnnnnnnnnxxxx+;.```::,,,..:,:ii+**#*###z*i#ii+;:`,:+*++###+*i:,....,,:;i*++###+*****+#########################z#z###+**+##########zzzzzz
zzzzzzzzzzzznznnnnnnnnnnnzz; `,.:,:,:;;i+i*i;**i*+#x+#++zzz#::,.,,i++++++i;:,...,,::;i*+####+*ii+++##########################z####+**+##########zzzzzz
zzzzzzzzzzzznnnnnnnnnxxxz;`  ```::::*::::iii+i;i***#nn##nMxM*::` `.*++++*i;:,...,,:;i*++#####+*i*++###################++###++###+++++############zzzzz
zzzzzzzzzzznnnnnznznnxxn*` `..,:;,,i;;;iiii**+*iii++#nz+zxxn++*````.i+++*;:,,..,,::;i*++#####++***++###############+++*+++#***++++**++##+########zzzzz
zzzzzzzzzzznnnzznnnnz+i:` `:;*;;;*+i**i*z##++####*i**#++#zn+#++*,..`:;+*i;:,,.,,,:;i*++###++##++**++##############+++ii;*i*;,;;ii:.,:;*+*#*######zzzzz
zzzzzzzzzzznnnnznnnnz;   ,,;;,,i++;#zzz##z+##+#zz#+***+#*zn*#zi+;;:,..ii;::,,.,,,:;i*+##++#++#++++++#############+***:,,,,`` `````````.,;;::+#####zzzz
zzzzzzzzzzznnnnnnzz#i` `.:;;;:#zz#zMxzzz#+++##+*+#**+++**MWzzii+iii:,..;;:,,,,,,::i*+##++++++++++++++####++##+##+**;:,`.   `...``:;;;;``.;;:;*######zz
zzzzzzzzzzznnznnzz+:` `,;**+*zzzznxzznxxxxnnz##+***+z**i+zn*+#i+;+**;:```.``..,,,,;i*+#*+++++++++++++###++++++++*;;:.,:`.`,::*:::;*++i:;;iii,:i######z
zzzzzzzzzzznzznz#+;` `.,*+#nxznxMxnnnxMMWMxz+++###*+*;:+zni;+nzzi*+iii:.```        ``.:,;*++++++++++++++++++++**i:,..**:*+:i;::;:;;;i*;;i**i.,,;i+###z
zzzzzzzzzzzzznnzz*:` `,;+zz##nnnnnxMWMMxxxnzzz++#z#+*ii+z+:in+MM###+i,,,````       ` `` `,i**+*++++*++++*++++**;:,i,;+#i:i::;:,:;ii:;:+i,:;*;,...,+###
zzzzzzzzzzzzznnz+;`  .;*#+znxnxxnM@@WMMWWMnz#+*ii;*++#zzn*:##n@Wzz#i;,.. `      `...`.``````...`.:;;i++****+*ii:,;**#n#i;i+*+,,i:,..;,i;i;:;,:::``i+##
zzzzzzzzzzzzzzz+*,`.,;;*nxMMMxxnW@WMMWWWMxxnz++i::,;*#nxz*x#zn@nxx#*+,`..``....::,,:::.,,..,..`      `.,:;*ii;:,:+z#zn+#+##i;::::::;i*+;*iii*;,..,;i+#
zzzzzzzzzzznzzz#i;,..;*znxxxxzxWWWMMWWWWMxxxnz+****;,+n#zxxzzMxnMnz+:::;:::,,:,,,,.,;:.,,;i:,.,,``        ` ```:i+n###i#++,,;;*+i+*+#zz+;;:;;*:`.:,:;*
zzzzzzzzzzzzzz+i:.,,:i+znnnz+zxMMMMWWMWWWWMxn#++++###znnnWxzWMxMMn#i,,,;::,:;::,,:;:::;:;*i;;,.,,,`,,`     ``..:#*zn+iz++:;*znnz++znnn###:iii;*;..;,`,
zzzzzzzzzzzz##*::,,;;+####i*znxMMxxxMMMWWMxnnn#**++znznznznMWxWxMM+i::,;;i,;i,;i:,i:*i+*:i,::,:,,:;..````....;:i++#x#*;;;:+zz###+zxxz#z##*+*#*i+.,,,,;
zzzzzzzzz##z#*;:,:::***+ii*znnxxnnxMMWWWWMxz#+*i**#nxzWnnxMWnxMnxx+;;:,:,ii;;;#ii*:*i*;i+*;;;::,;,:;.,.`,:.,,;;*+zznx#*+znxnz#nnznxxxnzz*zn++n*+*,..:,
zzzzzzzzzz#+i;;,,,,::;;;*+#zzzzzzxxxMWMMMMMx#*i*++#zznxMnMWWMWWxz#;;*;;,,,i:i;i;i*;*+**++;;*ii;i:;:,::,:,i;iiiiizxxWnxzxzz+#+#zz##M@@WWn#+nMxnn+n;:;;:
zzzzzzzzzz#+i;:::,,:;ii++++#+###zxMWWWMMMxxxn+*++*+zznW@xz@WW@WMz++#+:ii*,i,*ii;*n#zz*#z+;ii:iii;ii;.,;;i;:i;:#+nM@@zMz*;#*+##**+*#xxMWMW*nnnnn+#+izii
zzzzzzzzzz#*+ii;::,:;;***+++#z##nMWWMMMMxxxxnn#++zz#xM@@Mx#@@WMn+*+i#i++*:;;;i;;+###*+z#z+i*;*i+ii#;;;;**:;*i+**xz@M#n#+:i*i***i+##xMMxMM#znnzxz#+***;
zzzzzzzzz#+#+iii*;;;i***++++#+#zMMWWMMxxnnnnz#+**znMM@W@@W##WMxz+i+,,:;*ziii*i;;*;ii;+*iii*+#i;*#ii*:*#**ii**i*+Mx@Wnznzi*;*;i:i+zznxxMMxnzMnzzz++*;:;
zzzzzzzzz##+i**i;:;;;i*#****++zxMWWWWWMxnnzz##zzznxxWxzW@##@Wn+#z;i::;*;i;i;;;;;;**;i,ii*+:i*:i*+#+#+z**####*+*#MMW@zn#***ii;:ii+z##nWMnMM#MMzxznz*ii;
zzzzzzzzzz+**ii:,.,:ii****i*+#xMMWMMWMMxnz##zz+#nxMW@nWW###Mxz*++i;iii*;;;,:;i:,:i;,::ii*;:i*i#i*#*##*+*+*zz#++#W@@Wx#z+*#+i;ii+#znxxxxxMWxznxz#nn#ii:
zzzzzzzzz+****;;:::;ii++*i*##nxMMMMMxxMxxnnnz*#zxMxW@W@@##M#++i*;**i,..;;ii.;.,,,:,::,;;;;*i:*i++++*+z#z++##z##xW#@MM+#+n#i++zzzz#zzzxMMWWMMnzn#nxz:i,
zzzzzzzz###**ii**ii;i**ii*+#zznxMMMMMMMxnz#+*+#zxMW@@#@##Wz##z++;*i*;,..*i;,;.:,.,.,.,;;,:*+:+i:*i***#*+#z#+zzzz@##@@W#*zn#++znzzzzznxMxMWMMxn#znz#i:;
zzzzzzzzz#+*ii++**i;iii*+##nnnxxMMMMMxz#+****+#xMM@@#####xz+z#;:::::..,:,;..,,:.,.,,::,,:;+;:;:+*i*i#+#n#z#MMnMxW@##@WMxzzz#*#zznzzznMWWWWMMzznxnz+*:+
zzzzzzzzz#*+**+*i**ii*+#z#zznnnxxMMxMxnn#*ii*+nxMM@@####@z##++i,;;.....;:;:,,,`,,.:.,,:::i*:;:*++*iiii*+zzzMMMM@x@@@W@@@Mn##nMWMMMMWW@WWWWMMzznnn#**:+
zzzzzzzz####*++*+*i*i+#+##nzz#zxMWWWMxnz#++*+zxnxn@@###@xn#;*::,::,:,.`,i,.*..`.`,;,;;,::,.,;;iii:*;*i+*nnnMMxWxM@WMWMMWxM#+nW##@@@@WWWWWWMMnnxzn#*i**
zzzzzzzzz#+###+#*i+#z#####++#zxMWWMMnnnzzz###zzz#n@####M+z;;:,.,;::..,.,,;,,;......,,,`,,:::;.:i:i:;i+n+zxnWWWxzWWW@@WxxnMxxMW##@@@WWWMWWWWMMxMWx#;ii+
zzzzzzz####z###*i#z#++#++++#nxxMMxxxxxxnnnzzzn#znxW@##@z##:*i,:,,`...,.::::;;:`,`..i::,,.;:i;,:;*:;,;*+zzzxM@@WMMxWMWWMxMMxxMM@#@@WWWWWMWWMMMMWWxn+i:i
zzzzzzz####z##++#n#+ii***+#nnxnnnnMWWxz#+######zzM@@##Wz+:i*:..```..`..;,.,:i:.,`.i:,.,,,i,::;:;+;:**izizzxxMW@MMM@MM@WxMxxnxWWWWW@WWWMMMMxMMMMWnnz+;;
zzzzzzz#z######znn#*ii**+#nzzzzznMWWx#+**+++++#znMW##@x*i:*i.```.``,..`,:,,i.:.,..,,.`,,.,;,;:*:;,:;#+#*zznnxM@@WW@W@@WWxxxnnxxxnMWWWMMMMMMWWMMnz#z+#:
zzzzzz##zz###zznzn#**ii*+##+##znxxxnz**i*+++##+#nxW@@Wn;i;::```.,,,,;;`:,,,i.,..,:,`,.,:,:i:i:ii:;:i#**nzzzzznW@@MW@##@WMWxxnzz#znMxMMMMxnxMMMMn#++++*
zzzzzzzzz#####z#nz*iii****+*+znnxMn#+i*++++*+++#nxMMWW*:,;i,```..:.:,;;,;:.,:.......,::,:;:i;+i;:;**+*#nx+#nzzMW@@W@##@@MMMnxnzz#+#znMxxxnznxxxn##++*i
zzzzzzzzzz####znz#i***+ii*;*#zxxxz#+*++*i*i*+++#nMMMMn;;i*:``...,,.::;,;:,,::,,,..::::::,,::,:;::,;:;+*z#+++nnM@##@@@@@WMxMnznzzz##zznxxMxnz#nzz#++#+*
zzzzzzzzzzz##znz+iiii+iii;*#znxn##++#+*ii**+++#zxMMMn*:i;:,```::;::i:::ii:,,:;:.,,*:;;i,:;:::;,:;;;ii##z**izzn+W@@@@@WMWMxnz++++##nnMxxxxxnzz##+++**++
zzzzzzzzzzz#znnz*:,,::;i**+##nz+++zxn+*i**++++#nnnnnz;*i:.``::`::,,;i;i::;::,:;,i;;:ii:::,i;:,.;;*;++*i+*++n+n+xWW@@W@WWWx#+***++znxxxxxxxxnnzz#*ii***
zzzzzzzzzzzzzz#*:,...,::;***##+++zxx#+*****++##z#znz*:,::.`.:,.;;;:;i;,,::;;;ii:,;::*;;ii:,;;:;;;**++;i;##+#znzx@##@MWWnWzz+*;:;i#znznxMxxnxxz#nn+i*i*
##+#zzzzz##zz+;;;;;;:,,,:ii*++++#nn##z+**++++###znxzi,,:.``..,:;i;;i;*:;:*iii;i;;;;i**::;;;;i;i:,;i;*#+ii++znnxz@##@@@Wxz+##+*;:;;+#zzzznxxMxx##nn+;i*
iii*#zzzz##z#i;ii***i;:::i**++*#zxnzz#+++**+###znxn#;,:.``,...:;*i*i:i,::i**i;*;;;i;*:;;;;;i:;,:i*i:i****+zxzxxMWW###@xxz#++*+*ii;:;+nxnnznMMMx+znn*;*
;;;i#zzz###z#**+*+++z*;i:;i*+i+zxnnnz##+**+###znnnn*;:.,.,:,.,i;:i*:::,:;iiiiii***;;i:i;ii;;;:i,:+*i*z+ii*#znnMMW@###@xxx++#++i*ii;;;+znnxnn#nz+++nz*:
+**+zzzzz#znz#znnzz##*+*i;;ii*#nz#nnnz++++++#zzznzz;.,,:.,ii*i;;iii,::,::i:i;;iii*i;;;;+*i+*ii*;.:;i#*+*+*i+zMWxWW@@W@WMxz*###+*;;;ii++#xxnMx#+z***z*,
zzzzzz####nnnxWMn#+**+z+i::ii+z#*#nx##++++*+###zzz+;,;;.,i*+#ii;ii;;::.,:::,;;ii*i;i*i*i+ii;;;i;:,:**;i+*z*i+zMxnxWWMMWxnnz##++i;:;**#z##nnnxxn+#****;
nMxnzz###znnx@@Mz*;;:*zzi::;*+++*#z#+++****+++++#+;,;i:..,;***i:;i:,.:...,,::;:i*::i:ii**;;i;ii;iii+*iii+##*#xnnxMMWxxxnz####i***;ii+#nM#+zznnnz#+*iii
xWWnzz##zznnW@M#*i;;;iiii:,:ii*i++++*****i******+*:,i;;.,.,iii;;:;;::.,...::;iii:*;;ii*i+**+#i*+*i*i++*;:iz*zzxzzMxnMMnzz+**#***#*;*+nnxn++z#znzz#i:;;
MMMnz###znnn@W#;;ii***;,::..;ii;i**iiiiiii*ii;;;*;.:ii;#n#;,:i;i;,,,,,,...,;,:;;;i+i;ii+**++#z#++#*i***;;;+*#+zxnnnnxnz#z+ii*++*z#iinxxnxn++##z###i:,;
WMnzz###znzx@W+i***###+:,:,`,ii;;i;;;;;iiiii;;;;;:.::;:z#+x:;*;;;::.`,.,,,:,:,;:;i;;;*i*ii###z#+##***#+;i#*;+##z#nnnxzz###*++*i*+##+*xMMnn###zz+++*i,:
Wxzzzz##zzzx@Wn#nnnxMzz*:..`.:ii;::::;;;i****i;::,:;:,i+#*#*:i;i:,,..,:+nz++i:::i:;**;;;++##+zn#+##***;*i+n**zzn#znxznz++z++z*;;:i*+#zxMMnz##+#+*ii;;:
@xz#z###z#znW@WWWMMWWxn#i.` `.;;;:::::::i*+***;:,.:;:.znnnMz::::,,,::+zMWMMMn+:::ii*i;***##znnxz##+;*#+ii+#+i+znzxzz#nz##z++z++*;:;++#nxMxx#*z++;iii;;
Wnzzz##zz#znW@###@@WWWxn+:`   `,iii;;::;*+++**;:.,::..nW@W@#:,:;::,*#xMnz#zxxx#*:;*+ii**+z#zznn#*+**i*+*+#+#;+z#zxznnnnnzn#*#++**ii*##znxxn#*#**;;*i;*
Mnzz###zz##x@####@@WWWMn#*:.`  `:iii;:i**+*+*i::.,:.,,n@@@Wi,,:;::izxn#ii;*+nMz*;i;;i*+#+#z##+#*;;;i+i***izzi;+#zz#nnxMMnz#*+#z*;***nxnznxx#**i*i;ii;*
xnzz#######M#####@@WWMxn#+i,``  `:i*ii**+++**;:,.,..,,zW#@n::,;::i#n+iii;i*+#xxn+i;+*++##zzz+**+##*i*##+*;z+i*+*#zzzxnMMxnn*##+**;+*nxxzznxz**;*;;ii**
zz###++++#z@#######@@Wxnz#*:..    ,i***++++*i;:,...,,,+zxzi;:.;:;#z**iiiiii*#nMMn+**++##zzxn++zMnnMn+#++*;##i#**##zznnnMxz##+z+*i;*+nxMnz#z#ii;iii+;*+
#++#+++++#x##########@Mnz#*;:,`    `:i++++*i;::,,..::;;***i;;.:,+#*ii*iiii**+#xWx#*+zzzzznnz#nx#**xx+n+++*i#+#*i+###znxxn#+++z#i;:i+xxMxz*++i;i;*i+*##
+*+++++++zx###########Wxz#+i:,`      ,i*++*i;::,.`.,:;iiii:i;::,#*ii******+++#zxWn+##zzzzz#+zxzznz#ni###*ii++++i+#znnznnn#*+*+#+;;i*znxn#+***:*;i*+++#
i*++#+#++zx@##########@Mnz#*;:.`      .;**i;:::,`.;;::;ii*+*:::;***++++*+++####zMnzznzzzz**#nz@WW@Wn;+#zz;*+z+#**#znnzznn#****#+i;ii#n+z++i+i,ii*+*+*#
;i*+###+#nM@#@########@Mxxn#*;:,.      `,;;:::,,.:;;::i**+#+:;.i**+########zz###nnzznz##z**#zx@@@@Wxi*#zz+*++*#i++#zzzzzz+*ii*+*i;i+#z++++i+i:;*+++++#
;i*+####znMW###########Wxxxn#*i;,.` `    `,:::,,,;*i*+#+#nz*:i,**+######zzzzzz###zn#nzz##+*#zMW#@@@n*ii*#+*++*+i*++##zzzz+i;ii**ii;++#*ii*i*iii*+++#++
;ii+###znxMW@##########WMMMxn#*;:,...`     `,:,,,;****+#zxnz+;:*++#zzzzzzznzz####zn#nxn+#++#znM@#@M+*+ii++i+i**+*+#+#zzzz+*i;;ii**;i+*iii*;*i;+*+++###
;;i+#zznnxM@@##########@WWMxnz+ii;:::,` `   `.,:::**#+zz#zn#*:;+###znnzznzzz#####znzxnz###++znnMMx#+++i**#++***+**##+####+#+i;;i*+i:ii;;*+;i+ii+++####
;i*+#zznxMW@@###########@@WMnz##+**ii;,.``   `.:;:i#nzz++#++*.+###zznxnnnnnz###zzzz#nxz#nzz###nzzz+*iiii*nz*++i**+++#+++++z*;;i;*+*:;*;ii**i+**++#####
ii+#zznnxMW@@@###########@WMnzzz#++++i:,,..`` `,:,+#z**++ii;,,zzznnxxMxxxxnn#zzznx+zMxznnxxn######*ii**i*#z+*+i*+*+###+*+#x#;;iii+*;;**i*i+*+*++######
ii+zzznxMMW@@@############WMxnnz#####*;i;:,..``,,,*#*+zz**i,.:znnMMWWMMMMxxnzzznxn+zxMzxxMMMnn##+++ii+++i##***+*+**####*+#nzi:iii++i;*+***++++*####+##
i*+zznxxMMW@@@@##########@WMxnnzzzzzz+**i;;:,,.,:,*+izz++i,` ;xxMWWWWWWWWMMxxxxxxz+#xxnMWWMWMxn++**#+**+*++i**++++*+++++*zxn+;;i;*+*ii++*+++++++##+++#
i*+znxxMMWW@@@@#WM@######@WMxxnnznnnn#++*i;;;,.,:,**+z###:` `+xMW@@@@@@@WWWWMMMMxz++xxMMWxnnnnnz+####++*++***+***+*+##++#xWn+*;*ii+++i***+++++#+#+#+##
*+#znxxMMW@@@@@@xzx@#####@Mxxxnnnnzzz##+***i;;,,;;i*+zz#i,` ,zMW@##@@#@@W@WWWWWWxz#*#nxxMxxzznnnnzzzz++*++*+++++*++*#+++zMWMz#i+*i+++*+*+++++####+#++#
++#zxxMMWWW@@@#Wz+zM####@WMxxnnnnzzz#zzz++#*;::;:;i*+z##i```+xWW@######@@@@@@@@Mz##+*#znxMxxnzz#+#zz#+*+++*++**+**+#++*#nxWWMzi##ii*+*+++++#####+#+#++
+##nxMMWWWW@@@@M#+#nW###Wxxxxxxnzzzzzzzz#+++;::;::i**n#*;``,nM@@###########@@@WMzz+**+*+nxxxxMxnnnzz#####+*##+*#++*++++zxnxMMx**+*;*+*++#+#########++#
+#zxxMMWWWW@@@@x#++zxWWWxnnxxxnnzzz######+++*ii;:;i**n#*i:,ixW@##############@Wxzz#+**i*#xnxxxxxWxzz#z#+#z++#+*++++*+*+nMMxMWx+*+*ii+++++++##+####+#+#
+#nxxMMWWW@@@@Wz+++#zxMxxnnnnzzzzzz########+*i*i:;;i+#ii*;.x@@###############@Wxz#**iiiiiznMWxnzWMz#+n+i#*+##+**+++*+*+xMMMxMx+****i*+++++++#++###+++#
#znxxMWWWW@@@@M#++++#nxxxxnnz#zzzz###+++++++i;;i;;ii*+i++*:WWW@##############@Wx#+ii;;i;i#nMMxxznnz*#z+i#*##+#*+*+*++i+xxnxxnMnnz*+ii+++++++#+####++++
znxxxMWWW@@@@@n++++++#nxxxnzzzzzz###+****ii**;;ii;ii**++i+*nnMW@#############@Wx#+i;;;ii*++xMMMzzz#*##+*++##+#+++++##*zWMznxznnnnz#ii++++++++++#++++++
znxxMMWWW@@@@Wz+++++++#zxnnzzzz####++*ii;;;i**i**;;i++*i;ii#nxMMW#####@@######@x+*;i*i++*++zxWMxz#+z+#+##+##+++*++####MWMMznxxnxnnz+i*++++++++++++++++
nnxMMMWWWW@@@M#++++++++#znnzzz##++#++*i;:::;ii***;:i+**+ii++xxxxxW####@#####@W@n*i;;i*++z#znnnxnxz+###+###z##++++++##nWWxMxxMxxxxznzii*+++++++++++++++
nxxxMMMWWW@@@x++++++++++#znzzz##+++++*i;:,,::ii*i::;*+**iiznx@Mxzn@##@@#@@@WMMW#*i;i*#zznxznzxxnMn##z#++######*+++++zMWWWWWMxxMnxxnn+*;*++++++++++++++
nnxxxMMWWW@@Wz+++++++++++#zzzz##++++**i;:,,,,;ii::::i+*+**#nzMMxzx@####@@WWWMWM#***#zzzzz#znnxxnnz#zn########++###+#MWxMxMMxxxxxMxnzn*ii++++++++++++++
nnxxxMMMWW@@M#++++++++++++#zzzz#+++**ii;::,,,:;;:::,;*++*+#n#*xMMW@####@WMWW@@x++#xMzz+####zznnnz##zz#######+++##++zWWxMxxxxnMxMWxnnx#*i*+++++++++++++
nnxnxMMMWW@@x++++++++++++++#zzz##++***i;;::,,,,,:::::i****+#+;izMWW@##@@WW@@@M##nM@@Mz##zzznnxnnnn#z#zz#z##z#####++x@MxxMxxWMMxWWxzznn**i*++++++++++++
nxxxxMMWWW@@n+++++++++++++++#z####++**iii;:,,..,,:::,:*+***##;:*zxMW@WW@@W@Wxzzzn@##Wn++##zzznnnxMnzzznz#++z##zz#+zWWMxM@@MMMMMMWMnxznz#*i++++++++++++
xxnxxMMWWW@Wz+++++++++++++++####+++++***i;::,.....,,,,i*****#i:;+zxxMMMMMMxnzz#znW@#WMz#z#zznnnnxxnnnnz###z##znz#+xMWWxMM@@WMWMMMMxMxnnn#i++++++++++++
xxnxxMMMWW@M#*++++++++++++*+#####+++****ii;:,,.....,,,,i*+**#*:;*+znnxxxxxnnz##znM@@WxnzzznxMxzzxnxxnnnz##zz#zzz#n@WM@MMMMMWMMWMxnnMxn#z#**+++++++++++
xxxxxMMWWW@x+++++++++++++**+zz####++***iii;:,,.....,,..;*+**++:;i*#zznnnnnnzz#zzxW@WMnnnzznxxxznxnxxnnzz##zzzz##zW@@W@WMMWMWMxxWWMxxMMxz#**+++++++++++
xxxxMMMMxM@n+++++++++++++*+znnzzzz#+******;::,.....,,.`.i+*+*#i;;*##zzznnzzzzzznM@WMMnnnnzxxMMnnnxxxnzzzzzznn##zM@@@@#WMWMMxMWnWWMxnxxnnn+*+++++++++++
MxxxMMn##zMz*+++++++++++**#nMMnzz#++******;;::,...,,,.``:*+++#+i;*+##zzzzzzz#zzWWWWMxxnznnMxMMnnxnnnz##zznnnn#xW@MMW@@MxMWMWMWxxMWxxMMnxn#**++++++++++
MxxMxn*::;##*++++++++++**+zxMWxz##+++*****i;;:,..,,...``.;++#+z#i*+###zzzzzz#nMWWMMxnnnnnxMMMxxxxxzzzzznzzznnxWWWWMWW@WMMMMMxMxMxxMMWMxnnn++++++++++++
Mxxxz+i;:;i**++++++++++**#nMWWMnz###++*****ii;:,,,...````,i+###n#**+##zzzz#zxM@WWMxnnznxnxxxMxxMMMnnnznzzznnxW@@@@@@@@MxMWMxzxxxnxMxxxMxxx#+++++++++++
Mxxx+*+;iii;*++++++++++*+zxWWWWMnz##++++****i;::::...````.,i+zzzxz####zzzznxW@WWMxxnnnxxxxxxMxxxxxxxnzzzznxMW@@@@WWWMWWMM@WxxxxxxMWnxnMxxMz*++++++++++
Mxxx+*+***+i*++++++++++*#nMWWW@WMnz##+++*****;:;;,...```..,:;+#zznzzzzznnxWWWWWWMxxnnnxxxxxxMxnMxxxnxnzzxWWW@@@W@@WWMWW@MMMxMnxxxxMMMxWWMMn+++++++++++
xxxn+*+###z+*+++++++++++zMWWWW@@WMnz##++***+*i;;;,.,.``..,:::;*#zznnzzznxMWWWMMMxxxxxxxxxMxxxxnxnxxxnnnxM@WW@@@@WW@W@WWMMMWMMMMxxxMxMMMxWx#+++++++++++
xxMn#++#nnz#+++##++++++#xMMMMWW@@@Mnz#++++++*iii;,,,.....,,:::i*+#zzzznnnxMMMMMMxxMMMMxxMMMMMxnnnxMxnnnW@@@@@@W@@W@WWMMWM@MMMMxMMxMWMxMMMxz+*+++++++++
xMMz*+#znnn#######++++#zMMxxMMW@@#Wxzz##+++++**i;,::,...,,::,:;i*+#zznnnnxMMxMMMMMMMMMMMMMMMxxxxxMxxMM@@@#@WWW@@@@WMMWWWMMM@MMMMxMMxMxWWxxnz++++++++++
xMx++#xnxxn#########++zxMxxxMMW@@#@Mxnz###+++***;:;:,,..,,,,,,:ii*+#zzznxMMMMWWMMWWWWMMMMMMMMMWWMWWW@@@@W@@WM@@MMWMMMWMMWMWWMMWWMMxxMWMMMxxn++#+++++++
xx+*nnMxMnz#########+#nMMxxxMMWW@@#@Mnzz####+*+*i;;;:,,,,,,,,,:;ii*+##znxMMMWWWWWWWWWMMMWWW@@@#@@@@@@@@WWW@WWMMWWW@WWW@WMxMWW@WWWMMMWWWMWxMz++#+++++++
xz*zMMWMMMn#######+#+zxMxxxMMMMW@@##Wxnzzzz#++++i;;;:,,,,,,,,:;ii*+###zxMWWWWWWWW@@@@@@@@####@#@@@#@@@@@@MWMWW@@@W@@WMMMMMMWMWMMxMMMWMxMWxxn++#+++++++
#*zxWW@MWMx#####+*ii+zxxxxxxxMMW@@@#@Mnnnnz##+++*ii;:,,::,,,:i*+#znnnxMW@@####@@############@#@@@@@@@@WWWW@MMWWMWWWW@xxMMWMWMWWMMMMMMMnMMMMn+###++++++
i#xMW@@WWMx####***ii+#nnnnnnnxMW@@@#@Mxnnnz####+*ii;;:,,,,,i#nMMMWW@@WWW@@@@############@@@##@@@@W@@@WMMWMxMMWWMWWMMWWxMMWWMMWMMMMMxMWMxMMMx##z##+++++
iznx@@@@Wxx#+******#z##nnzzzzzxMW@@@Mnxxxnzzzz#+*iii;::,,,iznxxMMMWWMM@@@@@#@@#@##@@##@@@@@@@@@@WW@W@@MWMMMWMMWW@@WMWWMMWMMMxxMWMMMMMWWMxnxxzzzz#+++++
*#nM@@@@Mzz*;ii**+zznz#znz##zzxMW@@Wn#nxxxnnzz#+**i*i;:,,iznxxxMMWWWWWWW@@W@@@@##@@@@@@@WW@#WW@W@W@WWWMM@MMxMxMWWWWMxWMMxMMWMWMWMMWMMMMWWxxxn#z##+++++
i*znWWWMx#i::ii**##nnxzzz###znnMW@@M#+zxxxxnnz##+*i*i;::;*#znzxxMW@WWWWW@W@@W@@@@W@@@WW@@W@@@@@@MWWMxxxMxMWxMMMWMWWMWWW@@MxWMMWWWWWMWMxMWWxzz#z#++++++
,:*#nxxnnz*:::;i*+zxxxn##+#znxxMWWWn++#nxxnnnnz##+**i;:;i+#znnMW@WWMM@WW@WW@WWWW@@#@WWWWMW@@@MW@WMWxMMW@MMW@WMxMM@#WW@xMMMM@WWWMW@WW@MMWMMMnz#z#++++++
,:;i*#zz#++;:,:;i+nxxxn####zxMMW@@Mz+++#nxnnnnnz#+***i;i*+zznnn@@#WM@@WxMMMxWWWMMWWW@@@@WMW@MMMM@@@MW@WWMWW@WWxWWMMWM@WWMWW@MWxWMWWWWW@WMMMxz#z#++++++
,::::i+**i;:,,;*+zxMWMnz##znxMW@@Wn+++++znnnnnnz#++**i***+znzxMMWW@#MWWW@MxxxWMxWM@MMMxMMWWWWWWMxWWMnxM@MxMMMMMWWMW@WWWMM@@@WWM@@WW@WM@WMMMMz###+##+++
...,:,,,......:i#xMWWxnzzznnxMW@@Mz+++++#znnxnnz###+*i*#z#zzxxMWxxW#@#@@#@WWWMMWMxMMMMMxWMMMxM@@W@MMM@nMWMMWW@W@W@WWWW@MW@@WMMMWWMMM@W@@MMxxn######+++
....``  ``` ```:*znMMxzzzzxnxWMWWn#++++++#znnnnz###+*i*+zxMnMxMxMMW@##@@@@WxxMW@MxxxMMMMMWxWMWMxM@M@@WxMxxWx@@WWW@@MWWWMWWWWMWM@WWMMWWWMMWMnz#########
,,,.. ``..`    ``.,;i*i**+++#xn#z+i++*+++++znnnz###+***+#nxWWnnxxMx@##@xx@#xnM@WMxMWMxMMxWWMM@MMWMnxMWMMMMWWWW@@WWMMW@@MWMMWWWWWWWMWMWWMMWMxn#########