**##**iiii;;::::::::::;;;;;iiiiii;;:::,,,..........................``````````````    ```::. .:*+*i+i:,,:**+**i````.,.,,,,,:i;::::ii:,,,,,,.;;*i;*i*i:`
***+**iiiii;;:::::::::;;;;;;iiiiii;:::,,,..........................`````````````        ::``,,*+*i+i:.,:**+**i..``,,,,,,.:,i**i:;.,,,,,,:,,:;*:;:*+i:.
+*****i**ii;;:::::::::;;;;;;iiiiii;;:::,,,,.....,izi,;#+............``````````` `     ``::```.***i*i,...i**i*i````.,,,:,:i**;iii:,,:;iii*iii::;;i;;,,,
+*****iiiii;;;:::::::;;;;;;;;iiiiii;;::,,,,,...,iMMWMWWW#,..........``````````     `  ``::``..***i+;.``.i**i*i````.,::,.;**i;:i:,:i**i+*+i**;;:i++i**i
++*****iiiii;;;::::;:;;;;;;;;iiiiiii;:::,,,,,.,;xMWWWWWWW+,,..........`````````    `   `::.`,,***i+:.```;*+i*;`  `.``.`.;**:;::::iii+i+*+***i*i;i*++ii
*+*****iiiii;;;;::::::;;;;;;;;iiiiii;;:::,,,,,,zzz#*#+zxxW;............`````````       .::``,,*+*i+:.```;++i*;`  ```..`,,,;*i::;i*ii+*+*+**+i++;;i*;.;
*++*****iiiii;;;::::::;;;;;;;;iiiiii;;;:::,,,,;zz#i;:;*zMMz,.........```````````       .:,``.,***i+,.```:*+i+;   `.,..,:i***i::i****+i+*+i*#*+**;ii:..
+*++***ii*iiii;;;:::::;;;;;;;;;iiiiii;;;::::,,#++nx#i+xMnnW:.........````````````      .:,  .,i+*i+,.```:*+i+;   `,...;i***::,;**+++#i+*+ii#*+++*;iii,
++*++***i*iiii;;;:::::;;;;;;;;;;iiiii;;;::::,;x*znxn+zxxxnW+,..,......``......```     `,:,  `.*++i+,.```:*+i*;    ....*;.ii;,:i++*+*+i+*+i*#*+*++;i*+;
+++++*****iiii;;;;:::::;;;;;;;;;;iiiii;;;::::*xi#nx#:zMnnzMz,...,........``....``    ``,:,  .,i**i+,.`.`,*+i*:    ...,*.,:;,,;*++*+*#;+*+ii+***++;:;+*
++++****i*iiiii;;;:;:::;;;;;;;;;;iiiiii;;;:::*n;:;*i,#z*iiMz,..,.........`````````     .:.  .:i**i*`....,*+i*:    `..,,.ii;.,i*+****+;+*+ii+*i**+*:i;+
++++*****iiiiii;;;;:;;:;;;;;;;;;;iiiiiii;;;::#Wz::;i,zn**#@W:,.............``.````     `:.  `:;****.....,*+:*:  ` ...,;;+i,`,:i++*i*+;+*+ii+***++#i:,*
++++*+***iiiiiiii;;;;;;:;;;;;i;;;;iiiiiii;;;*MWWz#i*;nnxnW@Wz,...,.........``.`..````  `.`  .,;**;*.`...,*+i+: `` ..,::*+;.`:;*+****+;+**i;+****++i:;*
++++*++**iiiiiii;;;;;:::;;;;;;;;;;iiiiiii;;*WWMWWMzz#xxW@@W@@#,,,,,.....`````.``.``````,,`  .,;*+i*.`....+**+,``.`..,;;*:;..i*+++***+;+***:+i***+*i:i*
+++++*++**iiiiii*i;;;;:::;;;;;;;;;;iiiiiii#W@MMMMMMMWMMMMWW@@@z,,,,,........```````````:,.``.,;+***.`....++++,``.`..,;**,,.,*i*+***i*i+***;+i**++**i:i
*++++**++*iiiiiizxz+*i;;::;;;;;;;;;iiiiiiiM@@xxxnxMMMMMxxMWW@@Wi,,,.`.......``...`````,i++``,:;*++i.```..iiii,````..:*i*;..;*ii+****+;+***;*;i**#*i*:i
*+++++**+**iiiii*nnzz#+*ii;;;;iiii;;;i#*i#M@WxxnxxMx+nxxxxMWW@W#,,;```.,::,..`..,:;i+znxxi` .:;*ii;.```...,,,.````..;;:*i`.i*ii+***;*;+***;*;i*++*i*,:
*+++++**++*iiiiii#nz##++++##+#+i;::::inz*#WWxxxnxMMMnxxxxxMWW@Wz,;i. `.,:i*+**####zzznnMn.` .:,,,,.`````..,,,.````.,;::;:`,+*ii#+*i;*i+**+;i:i**+*i*:;
**++++**++**iiiii*#z++****+#++i;:,,..*nn#zWMMxxxMMxxxxxxMxxMWWWxi;i.  .,:i*##zzz###zznxx*```.:,,,..`````...,,.````...,ii:`,+*;i++*i:ii+**+;i;i*++*;*;;
**+++++*++**iiiiii*z+*iiiii+i*;:,.``.+nxWWMMMxznWnnz#znnxnzMW@WWW#*.  `.:;i++#z####zzxxz:`` .:.,,..`````....,,````.,.;i,,.:+*;i++*i;i;+*++;i;i**+*;*;i
***+++++++***iiiiii##*i;;;;i;i:,.`` ,zM@@WMWMx*+Mnnzzznnx+*xW@@@@@x,  `.,:i+i+#####znxn*,`` .:,,,,...```....,.``` .,;:i:,.:+i:;+***;i;+*++;;ii+++*i*i;
***++++++****iiiiiii#*;::,:i:;:..```;n@@WWWMxxznxxnnznnxnzzMMW@WW@M: ``.,:;*;+*+##zznxz:, ``.,,,,,,..``.....,.``` .,i,;:,.:+*;i++**ii;++++:i*++++*;*i:
****+++++*****iiiiii+*;:,.:i;;:.....*++#xxWMxxnMMxxxnxxxxxnMMW@MMz#i```.,:;*;+**##znxz*,. ``.:,,,...```.....:.``` .:i.;i,.:+*;i++++**:+**+;:*++++*i*i,
*****++++*****iiiiii;+;,.`;*ii:,,,,:#;:*zzWMMMxWWMMMxMMMMMxWWWWM##i*....,:i*i+ii+#znnz::.  `.:,,,..````...,,:.``` `:::*;..:+*:i++*+*i;+**+;:*+*+++;i*:
*****++++++****iiii*:*;,``,i*i;::::i#,,+znWnMMMWMMxMMMxMMMMWWnWM#z:i:,,,:;i*++;i+#nxz*,:.   .,,,..````.:.i:..``````,;i:...;+*;i++****;;,,::i+**+++;**;
*****+++++++****iiiii;;,...:+*i;;;i*,.:#+#x*+WWM#++***+++xMW#+xn*z;,;:::;;*++i;i*#nnz,,,`   .,...`````,**+````..,:,`:ii:..;+*:i++***;,:;:,,,i**+++:*+:
******++++*++***iii**;i;:,,:+*iiii*:..iz*#iiinMn####++###zMniii#iz*.,;;;;i+#*iii+#nz*,:.`     `....``.#MWi::::,,,::,,i:i,.:+*;;++*ii;*++***i;i**++:i+:
******+++++*+****ii+ii**i;;;+#****i..,+z**iii#n;i*+####*i;zz;ii+iz+..;iii*+#***+#znnnn;``.,:,:::::::::n@W,,..,,,:::.:*;*..;+*::+**i:+++*i;i*;;*+++***:
*******+++++++****iii:i++***+z+++#:.,:+z***ii*+;:::;;;::::*#iii**z+,.:+***z#++#znxnnn#:::,,,,....,,,::z@@+;;;;iiiii;**ii.`;**:;++*;*++*;;;;i*;i*+**i;:
********++++++****iii::*#####n###*..,;#z#**iiii;:::::::::;i+ii**+z#;,,+++#n#zzznxnzzn:::,:,,::::;;iiinW@WW+****++++**ii,, :i***++ii+***;iiii*;i*+*:;*:
********+++++++***iiii,i+zzzznzzz:,,,*zn#+**ii*i;:::,,,:;;i*i*++#nzi,,*##znznxxxxnzni,;iiiiiii******+WWWWMM**i*ii**ii,*;,`:,i;;+*ii*ii*i**iii;i++#;i*:
**********+++++****iii:,++nnnnnnx;:::*nn#+*+****ii;:::;;i*+**++#znn*::;#znnnxxxxn#nz.,;++********iii#WWMMMMn;;;;;;:::i*i,`:**,:++i**i::,,,:;iii*+#+*+;
********+*++++******i*i;+n#xMMxnx*;;i+znz#+++*****i;;;i*++++###znxn#;;+nnxxMMMxMznx:`,;i**iii*ii;i;iMMMMMMxW*,,,,,,,,**i,`:**i*++i*;;;i;;;ii;*;*++ii+;
********+**++++*+**++###zxxznxMn+iii*#nnz#+++++****iii*++###zzzznxxz*i+xnMWWMxMxxxMz;:;iii***+++##nxMMMWMxnxM:,:;;;,:**;,`,i*i*++i******i**ii*:*++i;+:
*********++++++*++#*ii#nMMWMnz#iiii*+znxnz####+++***i**+##zznznnxMxn+*i+xMMMxxMMMMxnnz+;;+nMMMWMMWMMMMMWWMMxWxiiiii;i;::,`,**;**+;++i****+****:i+*ii+:
*********+++++++*+++;,iznxxzz+*****+znnxxz#####+++****++##znnnnxMMxxz+ii*zxMnxMWWMnznn+*nxxMMMWWWMxMMMWWWWWWWWz;;;i:i,;i,`,**;i*+;*++*i***++**:*++i;+:
#*********++++++*++*i:,*nnxnnnnz##znMxnxxzz#####+++++++##znnnnxxMMxMxz+*++znxxxMMxznn+#nnxxMMMMMMxMMMWWWMMWW@WW+;:;;;,*i,`,i+;i*+i+*i++++++*ii;*+#i;*:
+*********++++++++#+*i+nz##nxzxMMMWWWxnMxzz######+++++##zzznnnxxMWxxWMnznxxxxMMMWMnxzznnxxxMMMMMMxMW@WMWxnnnWMW@;,,::i**,`,**;i++i*+iii*i;;;i;**+#;;*:
+*********+++++++#nz+#nxz####nMWWWWWWxnxxzzz#######++##zzzznznxxMWMxWWWMMMnMMxnMMWMzznnnnxxxMMMMxxMW@WWxnnnnMxM@x;,:;:*.,`.**;;++*i+i;:;;;:i;,+++#;:*;
*************+++#xMxz+#xnnnz#nnWW@@@Mxnxxzzz########+##zzzzzznxxMWMMM@WWWWxnznnxMWMzznnxxxxMMMMxxxxnMWWxz#nnxxMW@W+:;i*;.`.i*:;i++i**iii***i;:+*++;:*;
**z#*********++#xMMMx#++nxxxnxMWWW@@Mnnxxnzzz##########zzzzznnnxMWMMM@WWWnnznxxMMMxznnnxxxxMWWMMxxxnMWMxz##nxxxxW@Wxi*i*:`,**:;i+**iii****ii,i+*++i:*;
+nMn+***++*+*++xMMMMx#+**#xMnMMW@@@@Mnznxxz#zzz#####+###zznnnnnMWWMMWW@WWxxxMMMMxnxnznxxxxMMWWMMnnMWWWMWWMnzxMnM@@WWWni*;.,i*:;*+**i,i****;.:+i*++i:*:
xMMx++*****+*+nMMMMxn+i;*i*nMWW@@@@@xzzzxxn###zzzz####zznnnnnnxMWMxMMW@WWxMnMMn##znxnxnxxxMMWWMMxxxMW@MMWWMWWW@@@@WWWWM+;.,**;;*+*ii:.::;:,,i**+++i:*:
MMxnz#******+zxMMMxnzzz++*+#zxW@@@@Wzzzznxxz###zzzzzzznnnnzznxMWMxxMMW@WWWMxn+**+*zxxxxxMMMMMWWxxxMMWWMnzxxnnMM@W@@WWWWW+..**;;*++**;:.,..,;i***++*:*;
xxnxxx#*****#zxMMxnnnnxxMMxnnnnMW@W+####zxMxz###zzzzzzzzzzznxMWWMxxMM#MMMn#++****i:;#nxMxMMMMWWMxnxMWWWnnMMWWMW@@@@WWWWWM,,**;;*+***i**i;i**;i***+i:*i
xxxMWWx+***#z#nxxnnxMMMMMMMWWWMxMWz;+zzzzxMMxnn########zznxxMWWMxxxMMizz;:;*+#zzi;++ii#MMxxMMWWMxnMM@MxWMzxMnxMW@@@@WWWWWz,*+;:*+*iii*+*ii+*;i**++;;*i
xxxMMMz***+##++##zxxxxMMMWWWW@WMMMi;+####nMMxnnnzzzzzzznnxxMMWWxxxxMM;;;*#*;izn;*zMMxzi+MxxMMWWWMxMM@WzW##zxzznW@@@@WWWWWW;i+i:*+**i;i+i:i+*:;*+*#;.*i
xxxMn+***+z+++*inMxnxxxxMMMWW@@@M+;;+nnzzzMMMxxxxnnnnnxxxxMMWWMxMMMWW;izMMMn*i**nMWWWx+#MxMWMMWWMMxxW@xW#+#nz#nM@@@@@@WW@Wn*+;.i+**i:i+;`:+*::**+#*;*i
MxMx****+##**;iixxxzxxxxxxMWW@@@@i;;+xnzzz######++#######znnznnxxxMWMizMWWWMz+#+xWW@WM#zMMMMMMWWWMxM@WxxMxxMWWWW@@@@@@@WW@W#+;:*++*;:i+i:;+i;:ii*+*i*:
Mxxxz***zz**:..+xnnzzxxxxxxMW@@@@*;;zxxnnnzzzzzz++znxn#+nzzznnxxMMMWW+zMW@@Wz#n#xW@@@MznWMMMMMMMWMMMW@W#xMWM@WWMW@@@@@@@@@@M*i*ii*i;i;*i*i*:iii:,*:,i;
Mxznnx#+#+#;,`.#nnxxMMxxxxMMMW@@@#iinxnnxnzzzzzn#MWMMMMnnMxxxWWWWMMWW#nWW@@WnzxznW@@WxnxMMMxxMxMMMMMW@@M#MM;WWWxx@@@@@@@@@@W*;;;,*iii;:i;:::::,:.i,,**
Mxzzznz#++*+..;zxx#+#znxMMWWWW@@@+iiMWWW@W@MnnMzMxnzzzxMnxxnn@@@@@@@@nnMW@WMnxMnxxMWxxMMMxMMMxxxMxMW@W@@M#z*#nn#n@@@@@@@@@WW#;;;,i,:,,...`...,,:,i::*i
Mxnzzz#++*i;i;nxz*+####znxxWWW@@MiiiWWMMMMWnnxnxxn#*+znMWnxznnnxxMWW@xxxxMxxxMMMxxxxxxMWMxMMxxnxMxM@W@#@WMnznnnxM@@@WWWWWWWWzi;;:;:;::::::;;;iiii*i**i
Mxnnnz++*i*++xn+*znnxxxxxxxMW@@@+ii*xxxzzzzzznnWMn+;*zxMWnnxnnxxxxMWWMMxnnnxMWWWMMxnxMWWMxMMMxnxxxM@M@@@@MMWW@@@@#@@WMMMWWWWz**i****iiiiii*****+*+****
xnznn+**i;i+nnx+znxxxxMMMMMM@@@ziii+WWMxxnnnnnnMMxn+zxMWxMWWWWW@@@@@@@xMxxxMWW@W@WMMW@WWMxMMMxxxxxMWWW@@@WnnM@@@W@@@WMnxxMMWn++****+********++++++i++*
nnnn#*ii;:iznnnzxxxMMMMWWWWW@@x*iiiz@@WWWWWWWWMxWWMMMWWnMWMMMWWWW@@@@@z;zMWW@@Wxn@@WWWxnxMMWMxxxxxMMM@W#@@Mnx@@MM@@WMxnnnzxMx#+*+++++++*++++#####+i#+*
nnn#*i;::iznnzznxxxxxMMWWWWW@M*iiiin@@WWWWMMMMMxnWWWWMxnWWWWWM@@@@@@@@M:;#W@@@x;:zW@WMxxxxxWWMxMxMMMWWW#@@@WW@@W@#@@xnn#nznxWz#i#+#+###++########i,*+*
##z*ii;:iznz#+#nzzzzzznxMW@@W+**iiiM@@@WWWWWWWWxxxnxxMMxxxnnxW#@W@####@:*+zWWM*::izWMxMMxxxWWWMMMMxxMWW@@@@@@W@@##@@Mzz#zznnMx+:iiiiii*ii*ii**iiiiii;:
zzz**+++zzzz**++++####znxW@@#***ii*@@#@@@@xxzznnnnnnnz#####nxWxxMMWW@##*;nzzx+ii;iizMWWMMxMWWWWMMMMMMW@W@@@@@W@@@#@@WzzzznxxxM#*ii;::iiii****++++++++*
#znnnnnnnxxz**+++####zzznM@z******z@##@@#@xxz+++++##+++++##zxnnxMnxW@@#z:zxxx#**++#MWWWWMxxMWWWWW@WMMMWW@@@@WW@@@@@@Mnnnnnxnxxx#+++++++**********iiiii
nzzz####znxn+++####zzznnxMWz******M@@#@@#@xx###+++++++++###znzznMnMM@@@W:#xMWMzznzMWWWWWWxxMWMWW@@WWMMMM@MWWW@WWW@@WMnnnnnxnnznx#********i****i******i
z*+##+###zzzz#zzzzzznnzzxMWn******@WWWxxW@xn#+++++++++++++#znznnMM@WW@@@iixMWWWMxWWWWWWWWMMMMMMWWWWWMWxMWWMWW@WWW@Wxzznnnnzzz#zznxz+*i++++++++;i+++++*
++++#zzzz###znnnnnzznnzznMWM*****#WMMxnznMxn####++++++#####nxWMxxM@@W@W@#:nMWWW@@@@@@@@WWMWWMMMWWWWWWMxxWWMMWWWWW@Wxzzzzzz##+z#zznxM+i++++++#*;i++++++
++#znn##nnzzznxxxxxxnxzznMWW*****x@WxMWnnnxn####+++++++####nxxxznxW@@@WWx:+MW@@@@@@@@@@WMMWWMMWWWWWWMMMxWWMWMWWWW@Wnn#zz########zznMM+*######i;;+#####
*#nxxn++#xxzznxxxMMWMxnnxMWx****+WWxnxxzzxMxz#############znxxzzxMMWW@##W:*MWW@@@@@@@@WMMMMWWWWWWMMMMMWMW@MWWWW@W@@Mnzznz########zznMM#######i::i#####
znnxnn#+#nnznxMMMMW@MxxxMWWz****zMWWxxnz#nxxz###zzzzzz#zzzzxxxxxW@WWxM@#@;zMMW@W@@@W@WWWMnMWWWMWWWWMMMWWW@WW@@@@W@@@Mnznnnzz##zzzzzzxMWz*+*++i;;;****+
++znnnz+znnnxMMMW@@@MxnxWWW+****M@@@MMxxznxxnzz#zzzzzzzzzznxxMxM@@WWWWW@@+xWWW@@@@@@@@WMnnMWWWWWWWWWWWWWW@@@@@@@@@@@WxMxnnnnnzzznzzznxMWz**++i;;:i*ii*
**+n#++++znxMMWW@@@nMMxxW@n*****@@@@MxxMMxxxnnnzzzzzzzznnnnxWxnxMWxM@#@@@xMWWMW@@@@@@WWzzxMWWWWWWWWWWWWWW@@@@@@@@@@WWMMxxxnxxnnnnnnznnxMWn***i;;:;;;:i
#+*#++###zxMWW@@#@n+WMxMW@+****#@WMWxnzxxxxxnnzzzzzzzzzzznxMMnzznMxMM@#@@WMWWMMWW@@@WWxzzxMWWWWWWWWWWWW@@@@@@@@@@@@WWWMxxMxxMxnnnznznnxMWWx***;;;;;;:i
nz#+*+***+xMWW@##M#*WWMW@x*****nWMxMMxznnxxxnnzzzzzzzzzzznxnxzznxWM@@W@W@@xM@WxMW@@@WMnnnMWWWWWWWWWWWWW@@@@@@@@@@@WWWWMMxMMxMMxxxnnnxnxxMWWn**;;;;;:,i
nn+******+MMWW@@Wnn*MWMW@+*****M@@WWWMnnnxxnnnzzzzzzzzzznnMxMxWWMW@@#@@@#@xM@WMMWMWWMxxxMMWWW@WWWWW@@@W@@@@@@@@@@@@WW@MMMMMMMMMxxnnnxnxxMWWW**;;;;;:,i
nz**ii***+WWWW@@xzx+nWW@M*****+W@@W@@WxMxxxnnnnzzzzzzzznnn@WMMWWxMMW@WW@@@xMW@WWWWMMMMMWMMWWW@WWWWW@@@@@@@@@@@@@@W@W@@MMxMMMxxMxxxnxxxxxMWWW#*;;;ii;:i
z#*ii*i***W@WW@@Mzx+*+##+*****zWWWMMWMxxxxxnnzzzzzzzzzzzzn@MxxxMnxWWWW@@@@MMM@WW@@WWWWWMMWWWW@@WW@W@@@@@@@@@@@@@@WW@@@WMMxMMMMMMMxnnxxxxMWWWn*i;;ii;:i
##*ii**i**x@@W@@xnn+i*********M@WMnnMnnnxxxnzzzzzzzzzzzzzzWxxxxMx@@@@@###@MMM@@W@WWW@WMWWWWW@@@WWWWW@@@@@@@@@@@@@@W@@@WMMMMWMxMMMMMnxxxxMWW@M*ii;i;;;;
*+*iiii***+M@W@Wnnn+ii********W@@@MxxnzznxxnzzzzzzzzzzzzzzxxWWMMMWWWW@@@@@WMMMW@MMWWWWWWMWWW@@@WWWWWW@@@@@@@@@@@@@WWWWWWWMMMWMMWMMxxxxMMxMW@@+iii;;:,,
#+*iii**i*+#W@@@xnn+iii*******xWW#@WMMxnxxnzzzzzzzzzzzzzzzznxxxxMWMW@W@W@z@WWWMMxxW@@WWWWWW@@@@@WWWW@@@@@@@@@@@WWWWWMMWW@WWMWWWWMMxxxxxMMMW@@z**i;;:,:
z+*ii**iii*+zW@@Mnn#iiii******z@M@WWMW@MxxnzzzzzzzzzzzzzzzznxxxW@@@##@###*MWWWWWxxW@@WWWWWW@@@@@@WW@@@@@@@@@@@MMMMMMMMMW@WWWWWWWWWMMxMMxMMW@@M++i;;::,
z#**i****+*++n@@xnnz**iii******W@MMxxMWMxxnz##zzzzzzzzzz##znxxxW@@#@@###@;z@WWWWMMMWWWWWW@@@@@@@@@@@@@@@@@W@WWMxMxMxMMMW@@WWW@WWW@WMMxMMMWW@@@***iii;:
n#+****+*+++#zMWxnn#***iii*****x@WWWxxxxxnnz####zzzzz######znnnW@@@WW@@@M;*@@W@WMMMWWWWWW@@@@@@@@@@@@@@Wx+*WMMxMMxxnxMMW@@WWW@@@WWWMWWWWMWW@@@#****ii;
xnz+++*+*++##nxMnnx#***iiii****zWMMWMMMMnnz#####zzzzz######znnnM@@@WW@W@@MiW@W@@WWWWWWWWW@@@@@@#@@@@Wz*;;:iWMMxMMnnxxMMWW@@@@@@@@W@WWWW@WW@@@@W+ii:,,:
nz##+#+#+###znxxnnx***iiiiii***+@@WMMMxxnnz#####zzzzz######znnnM@@WMMWWWW@MM@@@@WWWWWWWWW@@@@@##MWni:,,,,,:WWMxMxxxMMMMW@@@@@@@@@@@@WWW@WW@@@@@xi;;,::
#**z#++####zz#nxnzn**iiiiiii**#MW@@@@@@xnnz#####z###z######znnnxMMMxMMMMW@@@@@@@W@WWWWWW@@@@@@###,,,,,,,,.;WWMxMxMMxMMMW@@@@@@@@@@W@WWW@@W@W@@@n+:i;;i
+*+nzz####znn#znnn#iiiiiii*ii*WMWWW@@@@@@Mxn####z###z######znnzz##nnnxWW@@@@@@@WW@@@WWWW@@@@@@@#*,.......,:WWMMMxMMMMMWW@@@@@@@@@@@@@WWW@WWWW@@n*;;*;*
z#zxnnnzzxnxxnnznx*iiiiiiiiii+@MWWM@@@@@@W@WWWMxxz#++nMWWWxnnnnnnMxMWWWW@@@@@WW@WW@@WMWW@@@W@@@@#.``````.,,WWWWMMMWMWWWW@@@@@@@@W@@WWW@W@@WWW@Wzi:+;;i
znxxxxn+#nxxxxnznz*iiiiiiiiii#@WMMMW@@@@WMW@@WWMW@niix@W@WWMxnxxxnxWWW@@@@@@WWWWWWW@@WW@WWWW@@@@W:``````.`.W@@WWW@W@@WW@@@@@@W@@MxWWMW@W@@@WMMn*i;+***
+znnxxz+#nxxnnznx+iiiiiiiiiiiz@WMMxMWWWWMMWWWMM@@@MiiM@@@WWWWnxMMnMWW@@@@@@#MxMWWWW@@W@@xMWW@@#@@x:,.``.  `W@WMMMMWMMWWWWW@@@W@@MMMWnMWWMnz++++***++++
#+#nnnz+#nnnzznxz*iiiiiiiiiiin@@Wxnnz#nxxxxxnM@@@@WiiW@@@@@WWxMMMxMWW@@@@@@#xxMWWWW@@WWxxxMW@W#W@@*i;;;:,..WWMMMxnnnxMnxMMW@@MW@WMxn###+*************+
########znzzznxz***iiiiiiiiii#@@@WMxMxnnnnnxW@@@@@@*iM@@@@@WWnxMWnxWW@@@@@#@xMWWWWW@WWMMxMW@@W@MWWniiii;;;*@WMxxnxMWMMxWWMMW@@W@WMz+******************
############zzn#+++++********+@@@@WMnxxxxxMW@@@@@@##*n@@W@@WMxnMMMWWW@@@@@@WMWWWWWWWWMMWWWWMMz@WWWWM+*****+WxWMMMWW#zWMMMxzWMxxMn+**ii*******iii******
###########################++#M@@@MWxMMMxWWW@@@@@@@###@@@WWWMWMxxWWMW@@@@@@WWWWMMMWWWWWWW@M#WxWWWWMMMx#zzzxxMxxMMxxnnMnzznnnz#+#***ii****iiiiiiiiiii*i
+++++++++++++######zzzzzz#####n@@WMWnMWMxWW@@@@@@@M#++x@@@WWMWWWMWW@W@@@@@#WMWWW@WWWWWWWWWWxW@@WMWMMWWnzznMMMxnz##++++++++####++**ii**iiiiiiiiiiiiiiii
+++++++###############zzzzzzzzz@@@MWMMWMnMWW@@@@@@z+++#@@W@@@WW@@WWW@@@@@#@WWWWW@MnnnxxMxnxWWxnnxxxxxxxnnxxxxxnz#+++++#znxxxxn#*ii****iiiiiiiiiiiiiiii
######################zzzzzznxx@@@MMWMxMWWMW@@@@@@nzzzzW@@@@WMWWWWWW@@@@@@@WWWMWMnnnnxxxxxxMMxnnnxxxxxnzznnxxxxxnzz###znxMMMxn+****iiiiiiiiiiiiiiiiiii
###########zzzzzzzzzzzzzzzzzzzzx@@@@WWMWWWWW@@@@#WxxxxxM@@@@@WWWWWWW@@@@@#WxMMMxnnxnxxxxxxxnnnxxnnnnxnnnnxxxxxxxxxxxxnzznnnnnnnnz+*iiiiiiiiiiiiiiiiiii
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz@@@WWW@@W@@@@@@@@Mxxxnnx@@@@WWWWW@@W@@@#@#xnxxnnnnnxxnznnxxxxnxxxxxxxnzznnnnnznzzzzznnxxxxxxxxxxxxz+*iiiiiiiiiiiiiii**
zzzzzzzzzzzzzzzzzznnnnnnnnzzzzzzM@@@@WWWWW@@@@@#@xxxxxxx@@@@@@WWWW@@@@@###xnnxxxxnnnxnxxxxxxznnxxxxxnnnnnnnnxxnzzzznxxxMMMxxxxxxMxxn#*iiiiiiiiiiii****
zzzzzzzzzzzzzzzzzzzzznnnnnnnzzzzn@@WWWWWWWW@@@##MnnxxxxM@##@@@@@WW@@@####@xnnxxxxxxxxxxnnnznnxxnnnxxxnnxxxxnnnz###zzznnnnnnnnnnnnnnnnnnz#+*iiiii*****i
zzzzzzzzzzzzzzzzzzzzzzzzzzzznnzzn@#@@@@@@@@@@###WxMMMxxxW@###@@@WW@@@@@##Wxxxxnnnnxxxxnnznnnzznnnnnzznnnnnnxxxxxxxxxxxxxxxxxxnznnxxxxxxxxz*iii****iiii
z###zzzzzzz#zzzzzzzzzzzzzzzzzzzn@@@@@WW@@@@@####WMMMMMxxM@@@@@@@@W@@@@@@#WnnnnxxnnnxxxxnznnnnxxMMxnznnxxxxMMMMMMMMMMMMMxxxnnnnnznnnnzzz###+*****i*****
########zzz####zzzzzzzzzzzzzzznW@@@@@@@@@@@##@##WxxxMMMMW@@@@@@@@@@@@@@##@xxxnxxnnnxxxxxxxxxxxnzzzzzzznnnnnnnxnzzzznnnnzzzzz###+++*++#zzznnnzzz##++**+
z#########zzz####zzzzzzzzzzzzM@@@@@@@@@@@@@#####@xxxxxxxM@@@@@@@@@@@@@@@@#Wnnxxxxxxxxxxxxxnnz##zznnxxxxxxxxxxxnz#+zznnnxxxxxxxxxnz#+znxxxxxxnxxxn#++++
zzz########zzz########zzzzzxW@@@@@@@@@@@###@#####MMMMxxMM@@@@@@@@@@@@@@@@@@MxxnnnnnxxxMMxxnzznnxxnxxxxxxxxxxxxxnzzznxxxxxxxxxxxxn#+++#znnxxxMMMxz++++*
zzzzz#######zzz########zzxW@@@@@@@@@@@@@@########Mnnxxxxx@@@@@@@@@@@@@@@@@@@xxnnzznnnxnnnnzzznnnxxxxxxxxxxxxxnnnzzznxxxxxxxnnnnnnnnnz####zxxxnnnn#+***
zzzzzz#######zzz######zxW@@@@@@@@@@@@@@@@########Wnnxxxxx@@@@@@@@@@@@@@@@@@@@Mxxnnnnnnnnnnnnnnnxnnzzzzzzznnnxxnnnnnnnzz##zzznnxxxnnnnnnnnnnnnnnnnnxxn#
zzzzzzzz######znnxxxxMW@@@@@@@@@@@@@@@@@@########@MMMMMMW@@@@@@@@@@@@@@@@@@@@@xnnnnnxxMxxxnnnnnxxnznnnxxxxMMMxnnnxxxxxxxxxxnnz###znnxxxxxxxxxxxxxxxxnn
nnnnnnxxxxxxxxMMWWWWW@@@@@@@@@@@@@@@@@@@@########@xxnnxxx@@@@@@@@@@@@@@@@@@@@@@MMMMxxxxxxxxxxxxxxxxxxxxxnnnzzzznnnxxxnnnnnnnnzzzzznnnnnnnnnnnnnnz+*iii
WWWWWWWWWWWW@@@WWWWWW@@@@@@@@@@@@@@@@@@@###@@@@@WWMMMMMWW@@@@@@@@@@@@@@@@@@@@#@MMMMMMxxxxxMMMMMMMMMMMMMMMxnznnxxxxxxMMMMMMMMMMMMMMMMxxxxxxxxxnz+i;,,..
WMMWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@W@@@@@@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@##WMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxnnnnnnnnnxxxxnz##znnnzzzzz#*;:,.`` 
MMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMn+i;;;;:;i*+++#+*i;:.`````
MMMMMMMMMMWWWWWWWWWWWWW@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@@@@@@@@@@@@@WWWWMMMMMMMWWWWWMxnnz:,.,,,,,,::;i*+*i;,.``````