,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,i#i::::;;:;;:;;;::,,,,;;*znz*..,.`````````..........
,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,;*:::::::::::,;:::,,,,..;#zzz+..`..``````````........
,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::,;i::::,,:,,:::,::,,,,.,.:##+z#;,```..`````````........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;iii*#+#z+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::;;:::::,,,,,,,,,,,,,,.,,+##+;+;.````..`````````...,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;*zxxMMMMMWMni,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,..i++;+i*;.````...``...```....,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::i+zMMMWWWWMWWMM#,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,*++*;*:i:``````.................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+nMMMMWWWWWWMWMWM#,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,::,,,,,,,,,,,,,+#++;;;,:,`````..................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+xWWWWWWWMMWWWWWWMM#,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::::::::,::::,,,,,,,,,,;+#**;,:.,,````...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,*nMWWWWWWMMWWWWWWWWMMi,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,;#*:;::,.,.````................`..
,,,,,,,,,,,,,,,,,,,,,,,,,,,izMWWWWWWWWWWWWWWWWWWWx:,,,,,,,,:::,:::::::::::::::::::::::::::::;:::::::::::::::::,:,,,,:#;,,,:....```..............,...,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:+MMWWMWWWWWWWWWWWWWWWWM#:,,,,,,,:::::::::::::::::::::::::::::::;:;;::::::::::::::::::,,,,*#;,.,,....```..........,,,,,..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:xWMWWWWWWWWWWWWWWWWWWWW#::,,,,,,,::::::::::::::::::::::::::;:;;;;;;::::::::;:;::::::::,,:z+:..,,....```........,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,+MMWWWWWWWWWWWxMMMMMWWWWx::,,,,,,,,,,,,,,:::::::::::::::::::;;;;;;;;:;;i;:;;;;;;;;:::::,,+#*,..,.....```......,,,,,,,,,,,.,.
,,,,,,,,,,,,,,,,,,,,,,,,,:nMWWWWWWWWWMxnnMnnnnxxMWW::,,,,,,,,,,,,,::::::::::::::::::::;:;;;;;;i#xx+;;;;;;;;;;:::,,:z+:..,......```....,,...,..,,,,,,,.
,,,,,,,,,,,,,,,,,::::::::;xWWWWWWWWWxnxMMWxnzxxxxWW*:,,,,,,,,,,,,,,::::::::::::::::::::;;;;;;;*MMMz;;;;;;;;;::::,,izi,.,,......```.,.,.........,,,,,,.
,,,,,,,,,,,,,:,::::::::::;MWWWWWWWWMxxxxWMMz#MWMMM@+:,,,,,,,,,,,,::::::::::::::;:::::::;;;;;;;+MWWz;;;;;;;;;::::,:i#:.........,``.....,.....`..,,,,,..
,,,,,::::::::::::::::::::;MWWWWW@@@MMMxxMnxn#nxMMM@z:,,,,:,,,,,,,::::::::::::::;:;:;:;:;;;;;;:inWWni;;;;;;;::::,,*:*....,....,,............```.,,,,,,.
,,,,:::::::::::::::;;;;::+MWWWWW@@Wxxnnzzzzn#zzxMM@n:,,,,:,,,,:::::::::::::;::::::;;;;;;;;;;;;:*xWM*;;;;;;;::::,,+.:.`.,.....,:........```````,:,,:,..
,,:::::::::::;:;:::;;;;;;zMWWWWW@@Wxz##zz#zz##zxxMWn::,:,,:,::::::::::::;;:;;;:;;;;;;;;;;;;;;;;;zMxzi;;;;;:::::,i+...`..,,,..;;....``````````,;:::,,..
,,::::::::::;;;;;;;;;;;;izxWWWWW@@Mnz#####zz#+znnMMz:::::::::::::::::::::;;;;;;;;;;;;;;:;;;;;;;;#n#x*;;;;::::,,,#*.....,,,,,.ii...````````,;;i;:::::..
,::::::;:::;;;;;;;;;;;;;*zWWWWWW@Wxnnzz##znznznzzxW*;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;+x+nz;::::::,,,:#i....,,;:;,,*+.````,,,;.i**+*i;ii;;ii
,:::::;;;:;;;;;;;;;;;;;*zMWWWWWWWWxxxnzzzxxMWMMxnxW;;::::::::::::::::::;;;;;;;;;;;;;;;;;:;;;;;;;ix+#x*::::::;+;i*;....:;i;;,,++....,,;*i;++++*******++
::::::;;;;;;;;;;;;;;;;i#MWWW@WWW@WMxxnnznznxxMMxxMM*;;:::::::::::::;::;;;;;;;;;;;;;;;;::;;;;;;;;;zz*n#;::::+xx#*i;,,.,:;*;;;,+#,...i*########++#######
::::::::;;;;;;;;;;;;;;inMMWW@WWW@WxxxnnzzznnxxxnxMM#i;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#xi#xi::ixMM*izi:,,,,;;*;;;,*z:...;+z#+z#zz#z#zzz###z
::::::;;;;;;;;;;;;;;;;*nnM@@@WWW@Wxnnnz#z#zz#znnxMMz+i;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*x**x#;+MMWWMMni:,,,,:;*;;:.*z:.,*zzznnxnnz#zznznnzzn
::::::::;;;;;;;;;;;;;;*nxMM@@@@W@Mxnnnz#zzzznnnznMxn#;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;inzizxxMW@@@WM#;:,,,,,i*:::.*z;,#++nnnnxxzz#zznnnxnzn
:::::::;;;;;;;;;;;;;;;izzWW@@@@@MMxxnnz#zz#nxMxznMWnni;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;zxzMMMWW@@Wz:*;:,,,,,ii::,.*n*.;zznxxnnnz#z#zznxxnnz
:::::::;;;;;;;;;;;;;;;iz*+M@@@@WxMMxxxxnnnxnnnxxnMWx#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#xMMMWW@@M*::*:,,,,,,:;:,,,*zz##nnnnnnnn##zzzzzxnnnn
::::::::;;;;;;;;;;;;;;;+*+W@@@@@MMMMMMMMxnzxxxxxM#zx*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;xMMWW@@@z;:::;::,,,,,,i+#*i+nznznzznnxnnz##znznnnnnn
::::::::;;;;;;;;iiii;i;i+#WW@@@@MxWWWWMMMxxMxxxxM#+n;;;;;;;;;iii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#xMMW@@@xi::;*;:::,,,,.,#zz##znnzzznzznnxnz#zznnnnnnnn
::::::::;;;;;;;iiiiiiiiii#W@@@W@MnxWWWWMWMxxnxxMM+##;i;;;;;;ii;ii;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;*xMWW@@W+::;#MMxi:::,,,,;####zznzzznnnnxxxnzzznnnnxnxnx
::;;::::;;;;;;iiiiiiiiii*nWWW@@@WnnxMWWWWWWMMMMWx++*iiiiiiiiiiiiiiiiiii;ii;;;;;;;;;;;;;;;;;;;;*nMW@@@n;;;*xMMMW#:::,,,:+#####znnnnnnxxxxxnnnnnnnnnxxxx
::;;::::;;;;;;;iiiiiiiii*nWMM@@@WxnnnMWWWW@WWWWMz**iiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;iii;i;;*+zxWW@@@n+nnnMMWMWM+:::,,:*##zzzzznnznnnxxnxnnznnMMxxxMMMx
::;;;;;:;;;;;;iiiiiiiiii+xWMW@@@@xnzznMMWWWWWWMx+iiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;iiii;inxxMW@@WWWWMMWWWWWWWx;:,::,,*zz#z#zznnznnxnnznnnznnxMxxMMWMx
:;;;;;;;;;;;;;iiiiiiiii**nWMMWW@WMxnzznMMMWWMWMx#iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiiiiii;#xMMW@@z+MMxMWWWW@@Wz:,:,,:;i#z#zzzzznnzzznzznznnznnnnnnxnnxn
;;;;;;;;;;;;iiiiiiiiii***xWMMM@@WMxnzznnxMMMMMxxziiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii#xWWW@W*;*xMMMWWW@@Mi::::,,i###zzzzzznnnnnnnxzzznxnnnnznnznznz
;;;;;;;;;;iiiiiiiiiiii***MWMMW@WMxxnnzznxxMMMMxxziiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;*nMWW@@@z;+xxMWWW@@@n;::::,::####zzzznnnnnnnnnznznxxnxnnnzznnxnn
;;;;;;;;;iiiiiiiiiiii****WWxWWWWMxMxxnzznxMWMMxxni**iiiiiiiiii*iiiii***iiiiiiiiiiiiii#xMW@@@@WxnMMWWWWW@@W+i::;i*i+####zznnnnnnnxxnnnnnnnnnxxzznnnnxxx
;;;;;;;;iiiiiiiiii******+WWMMWMMxnnnnnnnxxMMxMxxn******ii*iii***i********iiiiiiiiii*nMWW@@n#WWMMMWW@@@@WWn+++ii+++#####zznnxxxnxxnnnnnnnnxnnnxzznnnxnx
;;;;;i;iiiiiiiiiii*****+#@@MxxxnnzznnnzzzzxMxxnnxi**i************************iiiii#xMW@@M+;+MxMWWW@@@@WM+i+++++#####+##zznnxxxnxznnnnnxnnnnxnxnnxxxxnx
;;;;;iiiiiiiiiiiii******z@WMnnnnn##nnnnnnzxx+#znx+********i******************iii*nMWW@@niizxMWW@@@@@Wx+++*+++##########zznznnnnnnxnnnnxnnnxxMxxxxnnnzz
;;;iiiiiiiiiiii*i***+++*n@Wxxnnnz##znnnnnznx+zznxz**************************ii+nxMW@@M*;*xxMW@@@@@Wn#+*+++#####z######zzzznnnxxxxxxnnxxxxMxxnxxxxnnnnz
;;;iiiiiiiiiii**ii***+++x@Mnnnnnnz##nnnzznnxnn#nxnz#+************************zxMW@@Wzi+nxMW@@@@@@x#++++++++###zz#zz##zzzzzznxxxxxxxnnnxMMMxxxxxMxnnnxn
;iiiiii*iiii**ii*****+++xnznzzznnzz#znzz#zznxnznxxzzz#+*********************zMMW@@M*izMMWW@@@@@Mz++++++++#####zzzzz##zzzzzznxnnxxxxxxxxnxxxxxxxMxxxxxx
iiiiiii*ii**********+++++znnnznnnzz##z##zzzznz#nnz##zz#+******************#xMW@@@Mi*nxWW@@@@@W#;++*+++++#####zzzzzzzz#zzznnnnxnnxxxMMMxxxxMxxMMWxxMMMM
iiiiii**************++++znnnnnnnnzzzzznnnzzznz#nzz###+#z##+*+++****##+**+nMW@@@@ni+nMWW@@@@@M+*i++++######zzzzzzzzzz#zzznnxnnxxnxMMMMMMxxMxxMMMMMMMMMM
iiiiii***************++znnzznnnnzzzznnnnnnnznzznzzzzzz##zznMMWn+*nM@WMzzxMW@@@n+izMMW@@@@@@Mxz###+++####zzzzzzzzzz#zznnnnxxxnxnnxMMMMMxxMMMMMMMWMMMWMM
iiii***************++#znzznzznnnnz#zzzzzzzzzzzzzz#zzzzz##MW@@MzzxW@n+nxMW@@@M++#xMW@@@@WWWWWMn###++++##zzzzzzznz#zzznnnnnnxxxxxxxMMxxMxxMMxMxMxMMMWWWM
**************+***##z##z#zzzzzznxnzzzzzzzzzzzzzzzzzzzzzzx@@@WWWWWWWxnxW@@@@n+nnMMW@W@@@@@WWWWn++++++###zzzzzzzznzzzznznnnxxxMMxnxxMMMMMMMxxxMWWWWWWWWM
************+++++##z######zzzzznnnnzzzzzzzzzzzzzzzzzzznMW@@WWWWWWWxxMW@@@@zzWMMW@@WW@@@@@WWWWn+++++###zzzznnzzzznnnznnnnxxxMMMnnMxxMMxxxMMMMMMMWWWWWWM
***********++++++##########zzzznnnnzzzzzzzzzzzzzzzzzznW@@@@MWMMWMMMW@@@@@@@WWWW@@W@@@@@@@@WWWM#+++###zzzznnnnzznnnnnnnxxxxxMMMnxxMxMxMMMMMMMMMWMW@WWWW
*********+++++++##########zzzznnnnzzzzzzznnzzzzzzzzzzM@@@@W@@MWWWW@@@@@@@@@@W@@@@@@@@@@@@@WWWW#++###zzzzzznnnnnnnnnnnxxxxxMMMxnnMMMMMMMMMMMMMMWWWW@WWW
********++++++++#####+#####zznnxxnzzzzzzznnzzzz#zz#nxW@@WWW@@WWW@@@@@@@@@@@@W@@@@@@@@@@@@@@W@W#####zzzzzzzznnnnnnnnnnnxxMxMMMxxxWWWWWWWWWWMMMWWWM@@@WW
*******+++++++++z####+z####zznxxxnzzzzzzzzzzzzzzznWW@@@WWWWW@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M######zzzzzzzznnnnnnnnnnxxxxMxMxxnnMxMWMWWWWWWWWWMMWW@@@@
*******+++++++##z#####z#z#zznxxxxnzzzzzzzzzzzzznM@@@@@@@@WWW@@@@@@@@@@@@@@@@@@@@@WM@@@@@@@@nz#####zzzzznnzzznnnnnnnnnnxxxxxxxxnxMMMMMMMMMMMMMWMWWWWWWW
******++++++++#zz#####zz###znxxMxzzzzzzzzzzzzzM@@@@@@W@@@WW@@@@@@@@@@@@@@@@@@@@@xzzW@@@@@@Wzzz###zzzzzznnzzznnnnnnnxxxxxMxxxxxxxMWWxWMMMMMMMWWWMMWWWWW
*+**+++++++###zzz#++##zzzz#zxxxxnzzzzzznzzzzzW@@@@@@W@@@WW@@@@@@@@@@@@@@@@@@@@@nzzzx@@@@@@Wz#####zzzzzznnnnnnnnnnxxxnxxxxxxxxxxxMWWMWWMMMMWMMWMMMWWWWW
+++++++#######nzzz#+#zzzzzznxxxxn#zxxMMMnzznM@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@@Wnzz#znWWW@@@Wz######zzzzznnnnnnnnnnnnnnxxxxMxxxxnxMWWWWWMWWWWMWMMMMMMWWW
++++++########xnnzz#zznznnnzxMMnnxMxMMMMnznMWW@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@Mnzzzz#nWWW@@@Wz####zzzzzzzzxxnxnnnnnnnxxxxxMMxxxxnnMMWW@WMWWWMMMMMMMMWW@@
+#+###########xxnnnznnnznnznMMMxnnnnnzznznMWWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@Wzzzzzz#zWWW@@@Wz###zxnz#znnnnxxxxnxnnnnxxxxMMMMMMxnxWMMWWMWWWWWMMWMMWMMMMM
#############zxxnnnnnnnzzzzxMMxnxMnzzzznnxWWWWWMWWWWWWW@@@@@@@@@@@@@@@@#@@@@xMMzz##zWW@@@@@nznznn#z#zxMnnxxxxxxxnnnnxxxMMMMMxxnxMMMMWMWMWW@WMMMMMMMMMM
#############zMxnnnnnnnnnnxMMxnWWMxzzznnxWWMMMMMWWWWWWW@@@@@@@@@@@@@@@@MM@@@@WWnz##zMWW@@@@MMMMnxxnnnMMznxxxxnxxxnxxxxMWMMMMMxnxxMWWWWWWWWMWWMxMMWMMWM
##############MMxnnznnxxnxMMxnMWWMxnnnnxW@WWMWMWWWWW@@@WW@@@@@@@@@@#@@xxW@@@@@MzzzzzMW@@@@@WWWWWMMWMxMnzxnxxnnnxxxxxxxxMMMMMxxnxxxWWMWWMMMMMMMMMMMMMMM
###zzzz#######MMxnnnnnxnzznxnxMWWMMxnxxW@WWWWWMWWWWW@WWWW@@@@@@@@@#@@WWWW@@@WnzzzzzzWW@@@@@@WWWWWW@WxMxnxxnnnnnnnxxxxxxMMMMMMMnxxMWMMMMMMMMMMMMMWMMMWW
####zzzzzz####MMMxxxnnzzzznnnxxWWWMMxxMW@WWWWWWWWWWWMMW@@@@@@@@@##@@@@@@@@@MxnnnnznnM@@@@@@xxM@@@@WMxMMxnnnnnxxxxnnxxnxxxxMMMMnnMWWWWWWWMMMWMWMMMMMMWW
####zzzzzzzzzznMMMxxnzzzzznnnnxWWMMMMMW@WW@WWWWWWWWWW@@@@W@@@#@##@@@@@@@@@WMxxxnnnnxM@W@@@@MxMMWWMWMMWWxxxxxxxxxxxxxxxxxxxxMMMnnMWWWWMMMMWMMMMMMMMMMWW
####z#zzzzzzz#zxMMxxzzzzzznzznxWWWMMMWWW@@@WWWWWWWW@@@@@@@@@@#@@@@@@@@##@@WWWMMMxxxMWW@@@@@WxxxxxMMMMWWWMxxnxxxxxxxxxxxxxxxMMMzzxMMWMMMMWWWMMMMMWWMMWW
####zzzzzzzzz#znxxxnzzzzzznzznM@WMMMWWWWWWWWWWWWWWW@@@@@@@@@@@@WW@@@@#@@#@WWWWWWWWWxxWW@@@WWxxxxnxMMWWWWxnnnnnxxxxMMMxxxxxMxxxzzxMxMMWWWWWWMWMMMMMWWMW
####zzzzzzzzzzznxxxnzzzz#znnnxW@WWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@WMM@@#@@@#@WWWWWWWMnzx@W@@WMMxxnnnxMWWWMWMxxxxxxxxxxMMxxxxMMMMxzzxMMMWWWWWMMMMMMMWWWWWW
##zzzzzzzzzzzzzznnnnnzz##nnnxxWWWWWWW@@WWWWWWWWWWWW@@@@@@@@@@@WWWMW@##@@@@WWWWWMxnzznW@@@WxWWxnnnxxMWMnxxxxxxxxxxxxxxxMMMMWMMMz#xxMMMWWWWWMMMMMMMWWWWW
zzzzzzzzzzzzzzzznnnnzzz##nxxxMWW@@@@@@@@WWWWWWWWWWWW@@@@@@@@@@WWWWWW@@#@WWMWWxxnnzzzn@@@@@@@WnnnnxxxMnznxxxxxxxxxxxxxxMMMMMMMMz#xxxxMMMMMMMMMMMMMMMWWM
zzzzzzzzzzzznnnzzzzzzz###nxxxWW@@@@@@WWWWWWWWWWWWW@@@@WW@MW@@@MW@@WM@WMxMW@@MnzzzzzzzM@@@@@MnnnznxxxxnnnnxxxxxxxxxxxxxMMMMMMMxz#xxMMMMMMMMMMWWWMMWWWWW
zznnzzzzzzzznnnnzzzzzz#+#nxMMW@@@@@@@WWWWWWWWWWWWW@@WnnxMW@@#@@@@@@WMxnM@@@@xnzzzzzzznnMxMxxnnnznxxxxxnnnnxxxMMMxxxMMMMMMMMWMMz#xMMMMMMMMMMMMWWWMMWWWM
nnnzzzz#zzzzxnnzzzzzzz###nxMMW@@@@@W@WWWMWWWMWMxMWWMnnxxMWW@@@@@@@@WWW@@WMMMnnz#####znxxMWWMxxxxxxMMMxxMxxxxxMMxxMMMMMMMMMMWWWz#xMMMMMMWWMMMMMMMMWWWMW
zzznzz#zznnzxnnzzzzzzz##zzxMW@#@@@@@WWWWMWMMWMxxMMnnnxxxMWW@WMMW@@@@@@#x+nxnxxnzzzznnxxxMWWWWMMMMMxzznxMMMMMMMxMxMMMMMMMMMMWWMz#xWMMMMMWWMMMMMMMMxxxxM