;;;;;;;;;::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
;;;;;;::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
;::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,...,....,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,...,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,,,,,,,,,,,,,,,,
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.,......................................................,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................,,,,,,,,
:::::,,,,,,,,,,,,,,,,,,,,,,,.................................................................,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,......................................................................,,,,
:,,,,,,,,,,,,,,,,,,,,,,..........................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,..............................................................................
,,,,,,,,,,,,,,,,,,,,.,............................................................................,,
,,,,,,,,,,,,,,,,,,.,,...............................................................................
,,,,,,,,,,,,,,,,,,,,................................................................................
,,,,,,,,,,,,,,,,,...................................................................................
,,,,,,,,,,,,,,,,,...................................................................................
,,,,,,,,,,,,,,,.....................................................................................
,,,,,,,,,,,,,,......................................................................................
,,,,,,,,,,,,........................................................................................
,,,,,,,,,,,.........................................................................................
,,,,,,,,,...........................................................................................
,,,,,,,,,...........................................................................................
,,,,,,,.............................................................................................
,,,,,,...................................................```....``...```.`..........................
,,,,,.................................................```````````````````````.......................
,,,,..............................................`````````````````````````````.....................
,,,...........................................````````````````````````````````````..................
,,.........................................`.`````````````````````````````````````.`................
,,.........................................``````````````````````````````````````````...............
,........................................``..``````````````````````````````````````````.............
........................................``````.;.````````````````````````````````````````...........
.....................................````````,#n:``````````````````````````````````````````.........
...............,:....................```````.+zn.``````````````````````````````````````````.........
...............zxzi.................````````:+z*```````````````````````````````````````````.........
...............ixzz+.................``````.i+z:````````````````````````````````````````````........
...............:zz+ni.......,..,,,.......`,i*#z,`````````````````````````````````````````````.......
...............:z#++#.......ii;i;;:;:,,..:**+#+.``````````````````````````````````````````````......
...............:z#*++;.,ii:;+++#*ii*++i;***++#*.````````````````````````````````````````````````....
...............:#++++#i:+##*##zzn+#*+z#+#++#+#;````````````````````````````````````````````````.....
...............,+++++##+nnzz#nxnnzzz+xnzn##z#z:..,::,.``````````````````````````````````````````....
...............,*+*+#z#znx#+nz#nzn##+nxznnznx#:,;i;;**;``````````````````````````````````````````...
................i+++##zzxn##n#nnn##+#zxxzxxMxi.:i+i:;*+;``````````````````````````````````````````..
................:++++#zzxzz#nnn+**+++znMxxWW+.`,;*:;****,``````````````````````````````````````````.
.................;#+*+#znz##xM+i***##+nxWMWM+..::i:;;i++*.``````````````````````````````````````````
.................,+#+##znznzMxn#****z*#nWWWx;,,;::,i*;*#+:``````````````````````````````````````````
..................;++#+#xxnzz#z#****#n+zMWWn:;;` `.,;;+##*.`````````````````````````````````````````
..................;*z#+zzz##+#+*i*+##xn+zMMni+.` `..,:+z#+,`````````````````````````````````````````
.................:*+z+z+i**;:::;;**+#zz#+nxMn+.` `.,,:*zz#;`````````````````````````````````````````
................,i*z+zi;;;;   `.,;ii+z#zz+xWM#,...,,:i+#zz+.````````````````````````````````````````
................;*z##ii;::,    .:,:;i+#zn+nMMx:...,,:i#+#z#:````````````````````````````````````````
...............,izzz;ii;;:,`  `:;;::;i*#z#+xMM#..,,,:*z++z#*,.``````````````````````````````````````
...............:+##;i*+i*i;..;**i;;;;i**zz#zMMM+++ii+znz*#z+,.``````````````````````````````````````
..............,i+ii***i*#+*;*##+***;;*##nnz#xMMMxx*#MMxx#+z#**,`````````````````````````````````````
..............:***++ii*+#znzz##++***i*znMMn#nMMxxz:#xnnnn*z#+nn:````````````````````````````````````
.............,;+#**##*i+znnnnz##+++##+#nxMMx#MMMxxzzz#znx*+#+zMx.```````````````````````````````````
.............,;z+i*#n**+znxxnz##zzzz#+#zxMWMzxMMMMzzn#znx+*++#MM#```````````````````````````````````
.............:;#***#z**+znxxnz##znnz#+zMMMWMxzMMMMxnnxnxM+i++zxMM:``````````````````````````````````
.............:;+zz*++**+nxnnn##znxnn##xWWWWMxnxMMMxnxxnMM*i*+nxMMz``````````````````````````````````
.............:;*+nz*i**+znxnz#+zxMMxznWWMMWWMnnMMMMMMxnWW#*++xxMWM.`````````````````````````````````
.............::i;;#****+nnnnzz#zMMMxnMWWMxMWMxxMWMWMnnM@Wxz++MxMWW*`````````````````````````````````
.............::;;;i**i*+nxxnn##nMWWMxMMxMxMWMMMWMMMnnxW@WMz#+xMMWWx`````````````````````````````````
..............,:;:i**i*#nxxnzz#nMWWMMMMxMxMMWMMWWMMxxWW@@Mn#+zWMWWMi````````````````````````````````
...............,:,i*i**+nxxznzzxMWWMMMMMMxxMMMMWWMMMWWW@@Wn##+MWWWWMi```````````````````````````````
..................i*i**#nxnzzzzxMWWWMMMMMxnMMMxWWWMWWWW@@Wnz##zWWWWWM;``````````````````````````````
..................;*i**+nz####zMWWWWWMWMMxzxMMxWWWMMWWW@@Wnn#z#xWWWWWx:`````````````````````````````
..................;+****::::i+zMWWWWWMWWMxznxMxWWWMMWWWW@@xnznznWWWWWWx:``````````````````````````..
..................;**+;,,,:;i*+nWWWWWMWWMxzzxMxWWWMMWWWWWWMMnnznMWWWWWMz````````````````````````.`..
..................;**i:,:;iii*+zxWWWWWWMMx##MMxWWWWMMWWWWWWMxxxnWWWWMMMM:```````````````````````....
..................;**:;;:,:;*+#nnxWWWWWMMx##MMxWWWMMMWWWWW@WWMMxWWWWMMMM#```````````````````........
..................;*;i;i*++**+zxnnMWWWWMMx##MMxMWMWMMWWWWWWW@WWWWWWWMMMMn;`````````````````.........
..................;*;*+##n##+zxxxnnMWWWMMx##MMMMMMMMMMWWWWWW@@@WWWWWMMWWWx,````````..````......,,,,.
..................i;*+*i#z#+++xMMxznMWMMMx##xMMxMMMMMWWWWWWW@@WWWWWWMMWWWMx,................,::::::.
................:**i+*;:+z#+*inxMMxzxWWMMx##xnMxMMMMMWWWWWWW@@WWWWWWMxWWWMM#,,..,..,,,.....,::::;:,,
................*+:***:,+z#i;#nxMMMnnMMMMx#nnzxMMMMMMMWWWWWW@@@WWWWMMnWWWWMx;,,,,,,,,,,:,,.,:;;;;::,
................,.,#ii;;+#*i*#znMMWMnnMMMxnz#zMzxxMMMMMWWWWW@@@WWWWMxMMMMMMMz,,,..,.,,,,,,:,:;;;;;:,
..................,#;;i*++**+#nxMMWMMnxMxzzznMxMxznMMxxxMMMWWMMxxMMMWWMMMMMxx*.,.......,,,,,::;;i;;;
..................,+;,i*++*++zxMMMMWMxxxzz#zMxnWMxznnnMn####zzzzzzznMMMMMMMxxn.`.......,,,,,.,,:;iii
..................,+;.;*+**+#zMMMMMMMxMnz##zxnMMxMxMxnn####++########xMMMMMxxxi``.`````...,.....,;ii
,,..,,............,z;:;****+##xMxxMMMxWxn##zxzxxnxWWWxxz##+##########zMMMMMxxxz.`..``...,,,,..,:,:;i
:,,,,:,,...........*;:;i*ii*++nMxxMMMxMxn##nnnznxnMMWMnz############zMMMMMMxxxxi.,....,,:;*;::i;;i:;
;;:,:;:,,....,..,,,:;;ii*i*+++zxxxMMMMMxz##nzzzzxnxMWWnzz#zzzznzzzzzMWMMMMxxxxxzi:...,::;;*;**i::i;i
ii;:;;:::,,,,:,,:;::iii****++*+nnMMxMWMxz##z#zzznxnMWWxnnnMMMnnnnxMWWWMMMMxxxxxx#+i,,,:;;i*i*i::;i*;
iii;;;::;;;:;i;;iii;**i****++**#nMMxMMMn##zz##zznxnxWWMMMxxMMMxxxxW@WWMMMMxxxxxxz#++i::;i*+*;::i+##i
ii*iii;;;iiiiiiiiiii**i****+***+nxMxMnnzzzzz#zzznnzxMWMxMxzxMMMMWWWWWWMMMMxxxxxxn##+++i;;+zz;;i#nnn#
iiiiiiiiiiiii;;;;;;i+*;ii**+*+ii#nxxMzznznz##zzznnnnMMMxxxnxMMxxMWMWWWWMMMMxxxxxxz##+++*i*zn**+nxxnn
iii;;;;;;;;;;;;;;;;i#*;iii*ii**zznnxnnnnnnz##znznznnxMMxxxxMnMMxxWnxMWWWMMMxxxxxxzz##+++++##**xxxznn
;;;;;;;;;;;;;;;;;;+*+*i;;iiii*xWWxnxnxxxnnz#zzzzznnnxMMxnnxM#xMxxMMMxMWWWMMMxxMxxn#####+++#z*+xxnznz
;;;i;;;;;;;:::;::;n##+*;;iii+zMWWxnnxxxnnnnzzzzznnnzxMMxnnnxnnMMxxWxxMWWWMMMMMMxxxz######+++*#xnnznn
;:;;::::::;::::::;zzxx+i;i*#znW@@MnnxxxxnnnzznnzznznnxxnnnxxxMxMMxMxxMMWWWMMMMMMxxn####++###+*znnnnn
;;;;;:;;;;;;;;;;;;#znMx+i*nznxW@WMnzxxnnxnzzzzzzznznnnxnnxxxxMxnMMMMMMMWWWMMMMMxxxxz####++####znnnnn
iiiiiiiiiiiiiiiiii+nzMMz#+MnnM@@WWxnxxnnnnzzzzzzzzzznnnnnxxxxxxzxMMWxnWWWWWMMMMMMxxn#+##++++#zzxnzz#
iiii;i;;;iii;iiiii+nnMWxz#WMxW@@WWxnMnnnnzzzzzzzzzzznzznnxMMxxMxMMMWxMWWWWWWWWMMMMxx#+++#######xxzzz
i;;;;;;;;;;iiiiiii+##xMxxnWMMWWWWMxnMxnnnzzzzzzzzzzznzznnxxMxxxMMzMWWxMWWWWWWWMMMMMxz+++#####z#zxzzn
iiiiiiiiiiiiiiiiii*++zxxnxWWMWWWWMn*xMnzzzzzz#znnznnnnznnxxMxMxxMzxMWxxWMWWWWWWMMMMMx#++##z#####xnnn
************ii**ii**++nxnMWWMMWWWMn;#Mnzzzzzz#znnnnnzznxxxxxxxxxMxxMWMMWMWWWWWWMMMMMMz#####zz##znnnn
**************i**i*ii+zzxMWMMMMMMMz*zMn#zzzzzznnnnxnnnzxxxxxxxxxMMWnMMnxWMWWWWWWMMMMMx#+####z##znnnn
****************iiiiii+zxMMMxxMMMM+ixM###zzzznnxnnnnnznxxxxxnxMMMMWzxMxMWMMWWWWWWMMMMMz+####zz#zzxnn
*****************i*i*i;+nMMxznxMMM;;MMi*#zzzznnnnnnxnnnxxxxxxxxxMMMxxMMnWMMWWWWWWMMMMMn#####zz##znnn
******************ii*i:izxnzznnxMz:*Mn;*zzzzznnnnnnxnnnxxxxxxxxxxMMMMxxzMWMWWWWWWMMMMMx######zz##xxx
**i*****ii*iiiiiiiiii*izznnnnznMM*:nM+;*#zzzznnnnnnnnnnxxxxxxxnnxxxMWnxxMWMMWWWWWWMMMMMxz#####z##nxn
*iiiiiiiiiiiiiiiiii**+#znnnnnxMMM,:Mxi;*+zzzznnnnnnnnnxxxxxxxnnnxxxxMxMzMWMMWWWWWWWMMMMMz####zzzzznx
**************iii**i**zxMWWWWWWM*.iM*;;*+zznznnnnnnnnnxnnxxxxxnnxxxxMWx#MMMMWWWWWWWWWMMM##z##zzzz#nn
**********************+###++++i:,..,:;;i*zzznnnnnnnnxxxxxxnxxxnnxxxxxWxxxMMMMWWWWWWWWWWxzzzz#zzzzznn
*******************i****:,,,,,..,...,;;i+zzzznnnnxxnnxxxxxnxxxxnxxxxxMMzxMMMMWWWWWWWWWWxz#zz#zzzzznn
******++***********i**+i:,,,,..,,.,..:;;i#zznnxnnxxnnxxxxxxxxxxnnxxxxMn#MxMMMMWWWWWWWWMnzzzzzzzzzznn
***i*********iiiiiiiii+i:,,,.,.,,,,,,:;;*#znnxnnnnnnnxxxxxxxxxxnnnxxMMxMWnxMMMWWWWWWWWxnzzzzznzzzznn
***********iiiiiiiiiii+;:,,,,,,,,,,,..:ii#znnxnnnnnnxnnxxxxxxxxnnxxxxMMnMxxMMMWWWMMMMxxnz#zznzzzzznn
****i*iiiiiiiiiii**i**+::,,,,,,,,,,.`.,;i+znnnnnnz#+znnnnnnxxxxnxxxxxMnzMWMMMMWWWMMMxxxnz#znnzzzzznn
+**i*****i*****iii*****:::,,,,,,,,,...,:;*zzzzz#i;;ii+nnnnnxxxxxxxxxxM#xxMWzMxWWWMMMMxxnn#znzzzzzznn
************iiiiiiii***;:::,,,,,,,,...,::i+##+i::;;iii+nnnxnxxxxxxxxxMMxxMxnMxMWWWMMMMxnn#nzzzzznznn
*+*iii*iiiii;;;;;ii;i;;:::::,,,,,,.....,:;*+i:,::;;iiiiiznnxxxxxnxxxxMMzxxMMMMMWWWMMMMxnnzzzznnnnznn
*****iiiiii;;;;i;;;;;;;:::::,,..,,.,,..,:;i*;::::;iii;iiiznnnxxxnxxxxMnzxxWxMxMWWWWMMMMxnzzzznnnnnnn
*++**ii****iiii*ii***ii:::::,,,,,,,,,,,,::ii:::::;i;;;iii*znnnnxxxxxxxxnxxWzxMMMWWWWWMMxnzznzzzznnnz
+++*iiiiii**iii*i*****i;::::,,,,,,,,,,,.,:;;:::::;;;;;iii;*znxxnxxxxxxMMnxMxMMMMWWWWWWMxnzznzzzznnzn
++iiiiiiiii**ii****ii*i;::::,,,,,,,,.,,,,,:;:::::;;;;iiiiii+nxnnnnxxxxMMzxWxxMMMMWWWWWWMnnznzzzzzznn
++*iiiii**ii********i*i;::::::,,,,,,,.,,,,:::,::::;:;iiii;i*#nxnxxxxxxMMzxxzxMxxMWWWWWWMxnzznzzzznnn
+z+i**ii*****++*+#+**i;;::::::::::,,,.,:,,,:,,:::;;:;iiiii***#nxxnxxxxxMxMzxMMxxMWWWWWWMxxzznnzznnnn
*#z+**ii**i****i***iiii;:::::::::::,,,::,,,,.,:::;;;;ii**ii*++#nnxxxxxxxMMxMMMxxMMWWWWWWMxnznzzznnnx
*+nn*iiiiiiiiiiiiiiiiii;::::::::;:::,,,:,,,,,,::;;;;;iii*i***++zxxxxxxxxxxxMMMxxMMWWWWWWWxxxzzzznxxx
+*#z#+**iiiiii**iiiii*ii:::;:;;:;:::,,::,...,,,:;i;;;ii**ii**++zxnxxxxxxxxxxMMxxMMWWWWWWMxxxnzzzxxxx
**+++*iiii*iiiiiiiiiiiii;::;;;;:;:::,,,:,,.,,,:;;i;;;i****i***zxxxxxxxxxxxMMMMMMMMMWWWWWMMxxzzznxxxx
+#z*+*ii**i**ii**i***iii;:;;;:;;;;::,,,,,,,,,::;;ii;ii******+#nxnxxxxxxxxMxxMMMMMMMMWWWWWMMnzzznxxxx
xzz***i**iiii*ii*******i;;;::;;;;;:::,,,,,,,,::;;;;;;ii****+##nxxnxxxxxxxMxxMMMMMMMMWWWWWWMnzznxxxxx
Mn***ii*iiiiiii*i**iiiiii;;::;;i;:::,,,,,:,::::;;i;;i;iii*++#nnxxnxxxxxxxMMMMMxxxMMMMWWWWWMxznxMxxxn
nxz**ii*+**iii******iiiii;;;::;;;:,::,,,::;:::;;ii;;i;ii*+++zzxxxnxxxxxxxxxxxMxxxxMMMxWWWMMMnxxxxnnz
#xx#***+***iii*******i*iii;;:;;;::,::,,,:;i;:;;;;iiiiii***+#znnxxnxxxxxxxMxxMMxxxxMMMxWWWMMxxnxxnnnn
+#nn+*+++*****++***++**iii;;;;:;:,,:,,,::i*i::;iiiii;i**+++znxxnnxxxxxxxMMMxxMxxxMMMxxWWWMMxxnxxxnnn
#++nz+#nnz++######zz##z*iii;;;;;;:,,,,,::;i;,:;iiiiii**+*#znnxxnnxxxxxxxMMMxMMxxxxMMxnWWWMMMxMMxxnnn
#**+*+#nzz#zzzzz#+++*+*iiii;ii;:;:,,,,,::;i;,::;iii****++#nnxnxxnnxxxxxxxMMxMMMxxMMxxxWWWMMxxnxxnnnn
##+**+#++##++++******ii*iiiii;::::,,,,,:;;i;::;iii*****+##nnxxxxxxxMxxxxxxMxMMMMxxxxxxMWWMxxxnxxxnnn
*++*+*++++++++*******ii*;iiii;:::;,,,,:;;i**;;ii;***+i*#zzxxxxxxxxxxxxMMxxxxMMMxxxxxxxxMWMxxxnnMxxnn
+*+z++++++*++++#*iiiiiii;iiii;;:;;::,:::i*+#*i**++*+++znnnxxxxxxxxxxMxMMxxxMMMMMMxxxxnxMWMMxxxnMMxxn
**+##+****iii*z#iiii;;;;;iiii;i;ii;:,::i++#z#***+*+##zxxxxxxxxxxxxxxxxxMxxxMMMMMMxxx#+xxWWMMMxnMMMxn
i**i***ii**ii*++*i;;;i;;;+iiii++*ii;;;;*##znn+*+#+##znxxxxxxxxxxMMMxxxxMxxxMMMxMMxn#i*nxWWMMMxxxMMMx
***ii*iiiiiii;;ii**iiii;i*i;;i*#+**iiii*#znnnz+#z#+#znxxxxxMxxxMMMMxMxMMxxxMMxMMxn+i*+nxWWMMMMxnMMMx
**++++++++#++*+zzzz###+:i*iiiii**i*++*++znnnnnzzznnnnnxxxxxMxxMMMMMxxxMMMxxxxxMxn+****zxMWWWMMxnMMMM
nnnxnxMMMnz##+*++*iiii;,;+*i;ii*i;*+#z#znnnnnnnnznnnnnxxxxMMMxMMxxxxxMMMMxxxxxxz++****#xWWWWMMxxxMMM
##++++xMMx*ii***iiiiii:,i#+i;i**i;i+nxnnnnnnnnnnzznnnnxxxxMMMxxxxxxxxMMMMMxxx#**ii****+xMWWWWMMxMMMM
#+++++#xMMn+iiiiiii;;;:,*n+i;;;iiii*#xxxnnnnnnnnnnxxnxxxMMMMMxxnxxxxxxMMxxxx+iiiiiii**+xxMMMMMWWWMMM
#####++#xMx#iiiiiiii;;;;*Mzi;;;;;;i+izxxnnxxxxxxnnxxnnxxMMMMxxxnxxxxxxMxxxxx#iiiii*****nMMMWWWWWWMMM
zzz##+++nxx#iiiiii*i;;i*nWni;;;::i;*i*nxnnxxxxxnnnnnxxxxxMMMxxxnxxxxxz++zxMnz**iiii*i**zMMMWWWWWWWMM
#z#+++*izMMx#z+iizxz**+nWWzii;;:::;*+;#xnnnnxxxnxxnxxxxxxxMMxxxnxxxn#ii+#nxnn+*+*i**i**#xMMWW@@@WWMx
zzzz##+*zMMMxx#*zxMMxznxxM*ii;::;;i**ii+zxxxxxnnxxnnnnnxxnxxxxnznxn+;i*#nxxnx+**iii**ii*xMMWW@@WWWMx