i;;;;;;::::::;;;ii*******************ii;i*++++*+******iii,`    ````                        ````....```.i+####+++*;```````:*+
;;;;;;;::::::;;;i********i*********;..``,;**++****iiiiii;`  ```````                 ``    ```  ````.```:+++++*i:.`````` ``:;
;;;;;;;:::::;;;ii*****i;,.,i*iiii;,``````.,:i***;,..,;ii:`  ````````                ``   ``       ``.``.i*+++i:````.``   ```
;;;;;;;:::::;;ii**i;;:,....,,.....``````````.;i:`   ``.,.        ``                 ```   `        `.``.,,,*++*,.`..``  ````
;;;;;;:::::;;;ii*****iii;iii;:;ii;;:.`.````.`.,````  ````         `` `````          ```             `,.....,i***;:,.`````.``
;;;;;;:::::;;;i****++***************i;:.````...`````````````      `````````        ````    ```      ``.........,,,.``...`...
;;i;;;:::::;;ii*****+*********++**iiii;,``````.```````````````    `````````      `````     `.``` ```````.....````` `````````
;;i;;:::::;;;ii********+++****++*i;;::,.````````...`...`````````````````````     ```       `.``````````  ``.,....```````````
;;;;;:::::;;;ii********+++++++++*****+**i:::,...,::..```      ``````````````````.`````....`.....````..``````.,i*ii;::,......
;;;;;::::;;;ii***++****+++++++++****+++++++**i;;i**;,.```    ``````...........,::::::;;;;ii;iiii;;::;;:,.,:::i*+++++++**iiii
;;;;::::;;;;ii***++***+++++++++++*+++++++++++****++***i;:,,,,,,,,,:;;;;;;;;::;;;;;;;;;;iiii*****iiii***iii****++++++++++++++
i;;;:::::;;;ii****+++++++++***+++++++++++++++++++++++++***iiiiiiiiiiiiiiiiii;;;;;;;;;;iiiiii***********iii****++++++++++++##
i;;::::::;;;iii***+++++++******+++++++++++++++++++++***********iiiiiiii;;::;;;;;;;;;;iiiiiiiiii*****ii;;;;;::;iii;i+++++++##
i;;::::::;;;ii***++++++++********+++++++++++++++++++***++***ii*+****i::..``,::,:;;;;;ii;i;;iiiiiiii;,.````````.....;++++++##
i;:::::::;;ii****+++++++++++*;::;**++++++++++++#+**********+#z#;,.,:;;,...`.....,,,,::::::;;;;:,,,,.```````` ````...:***+###
;::,,,,,,::;iiii****iiiiiiiii;;:::;;iiii;iii;;;*;::::,,:::+;ini````.:ii*+i;:,,,...```````.......,,..;;;:,,,....```.,::,,:***
,..````....,,:;;:;;;;;iiiiii*i*****++++++####zzz#+++++***+z,+#:````ii,``.;:.......`....``.......,,,,;iii*ii;;;::::i*++*i;;;:
,....,,,::;i*++#######znz#zznnzzznxxnnzxMMnnnMMx#xMxn#zzi:+,*+,`.`:i:,:.``iiiii;;:::::,,,,,,,,,......,,,,,,,::::;;ii***+++##
+i:::***ii#xMzzzxxxzzzxxx##zxxz++zxn++*znx**izn#;#nni;#:,,;,,*,.,,;,::``..,#znz++#zz+**#++**+++++##++++***ii;;;:::::;;::::i#
*i..,ii;,,izn;;;+z#;;;#z+::;#z*;;iz#;::izz;;;*#+,+z#,:z::,,.`:,,,:,.``.:;;;+##+:,*z#i:i##*;izzz+#xnn##xxn##xMxnzznzzznnnzzz+
::```::,`.,*+:::i++:::*+*:::++i::i++;::i+z;;;*++,+#+,iM*,,,``,;:,:`.```.,,,.i+i``;+*.`,+*,.,++;.,z#+::zz#;inxn+*nnn#zMMMn###
,:```:::..,*+:::i++:::+z+;;;#z*;;izziii*nn***#xzi#Mn;nMxi,,...;:,,,.:`.;ii*i;*i``;*i.`,*;``.*i,`.#*;..#+i..##*..#z+,,znzz###
;i...i*;::izn***#Mx###nxn##zxxnnnxxxnnnxxxxxxxxMxxxnn+zMn+i.`.:,,:.`.;;i,`.,:z*,.i#*.`,#*.`.+*,`.+*:`.#*;`.#+i..#+i..z#+###n
i*++++++#zznnnnnxxxxnnnnnnzzzzzzzz####++++****i*;;;;+::+xn:`.;,;i:,.`.i.``.``*z###z#**+zz*i*zzi;;zzi::zn*.,zz*,,#zi..zz*+#xW
,,,:::,::;;;;;iii;;;;;;ii;;;;;::::;;;;;;;;;;;;:;,,.;*:;i#;..:;:ii;:,,.;;iii;.;;:;;;;;;ii******++++####znnnznxn##nxz++nxz##xM
```````...,,:::;;:::;;;;::::;;;;;;;i;;;;;;;;;;;i,..innxxM;`.;. ````:;:.;i*++i*,:;``````,,..,,..,,.,,,:;;;ii******++###z#+#zW
`````.,,...,:::;;;;i++i;::::;;;;i*#z#+;,:;;;;;;i,..ixxxx*;,.;.    `;**..:.`,i#**;`    `:;:;*i,:i,    `,i,,**,.;,``...,*++#zM
```.::;i*:,,:::;;;####z+:::;;;;;*nnnnz;::;;;;;;i,..;xxx;.`:,;:    ,;+:` ;i;,`,zz;`     ;+++++**i.    `,+++##+++:`````.*+++#M
```.*##z#:,:::::;:#xxMx*;;;;;;;;ixWMMn;;;;;;;;;i,..:z##..``.;i`  `;:.   `:*i;`+n;``   `:znnznzz*` ````.znxxxnnz,``..`.*+++#n
```.+nnn#:::::::::#MMxx*;;;;;;:;;xMxxni;;;;;;;;;,..:i+#.*i.``,`  ````` ```***:*n;``````:nnzzn#z*``````.zxxxMxxz.`````.*+++++
```.#z#z#::::::,,:#Wxxx*;;;;;::::xMnxni;;;;;;::;,..,+n+ix#+;``      `.;++.:#+*#x;``````:nnnxxzz+` ````.zxnMMxxz.`````.*++***
 ``.#n#zz::::::,,,#Wxxx*;;;;;::,:MWxxni;;;;;;:,;,...zx##n#++i.`` ``,i++++i,##zxx;``````:nnnxxnn+``````.zxnxMxxn.`````.*++***
```.#nznz:::;:::::#WMMM*;;;;;;::;xWMMni;;;;;;;:i:...#x#.,:*++i```.:##+*i.`.##zxn;``````:nxnnxnn+``````.zxxxMxxz.`````.*+++++
```.#nnxz::;;;;;;;#Mxxx*;;;;;;;;ixMxxni;;;;;;;;i:,.,izn..:;i*i.``,*;;;:.``.#,;zz:````  :nnzzn##*``````.zxnnxnxz.`````.*+++++
```,#xnxn::;;;;;;;#MxxMi::;;;;;;ixMxxn;::;;;;;;i;,.,izM,:***+;`````;+#**.`,+*,#z:```   :xnzzn##*````  .nxznxnnz.`````.*++++#
```,zxxMn::;;;;;;;#MxxMi,:;;;;;;ixMxxx::::;;;i;i;..,+#M;,;zzi....```i+*::`:n+;zz:```   :xnzzn#z+```   .nxznnznz.``````**+++#
``.,zMxMn:*;;;;;;;#MxMMi:;;;;;;;*xMxMx;::;;;;iii;:,,*+#i..##:.....``.ii..`:++*z#i````  ;nzzznzz+.``   .nxnnnnnz.`````.**+++#
..,;znxxx*#*iii***nxxxxz+++++###nxxxxxzzzzzzznznzz##z#z+,,;;.,,....``::`.`;*;+::,...```,:::;;;;;.```  .i**++###:`````.*++++#
ii*+#zzznnMxxxxnnznnnnnnnzzzzzzzzzzzz##########z+*++++*+i;,,,,,,,...`.``:i*;zxz###+*****iiiiiiii;;;::::::::::::,.....,*+++##
,,:::;;;iinzi;#*:;;iiiiii;ii;::::;;ii;;;iiii;;ii,,:...,+,...,,;**i,..````:zxnxM+nx+::::::::;;;;;;;iiiiiii**+++######+#*;*++#
`..,,::;;;ni:,;#::;;;;;;;;;;;::,:;;iii;;iiii;;;i..:,...*:..,,,:,.,;....``iMzzWMMxxxi..````````    ```````````````...,,,`,i+#
`..,,::;;;zi::i#;;;;;;;iiiii;;::;;iiiiiiiiii;;;*,,,,...ii.,,,,,,,......``+Mz+MMxxMz#+*,``````     ```````````````.```..```:*
...,::;;;;n*;i+ii;;;ii;;iiiii;;;;;i*iiiiiiii;;i*,,,,..,#z,,,,,,,,,......:MW#nMMMMMMx#izzi.,;:``:.`````..``..``.``.```.,...,,
...:;*#+*ini;i*i;i++##+*;iiii;ii*#z###i;;i;ii;i*,,,,.,+zzn:,,,:+++,....:nWWnxMxxMMMxz#xxxz+++i;i,`````,i::**::i,`````.:,,...
...;#zzzzini;i*+*iznnxx*;iiiiiii*xxxMx;::;;iiiii,,,:#nn#xWx;,::;*i,,..;xWWWxMMxxMMxznMMxxxxnnzz+.`````.+####++*,`````.*:;```
..,,xWWWnini;;iii;zWWWWi;iiiiiiiiMWMWx:::;iiiiii:;;#znnxMWMM+:+****,,+MWWWWxMMxxMx#+#nxnnxMxMxn#.`````.zxxnxxn#.`````.+##.` 
.,,:xWMMnini;;;;;;zWMMM*iiiiiiii*MWxMxi;;iiiiii#znxxzxMWWMMWWni*+*:ixWWW@@xxMxxxMx+++#xnxMWxxnn#.`````.#nnnxnn#.`````.+zz*i:
,,:;xWxxxini;;;;i;zWMxM+iiiiiiii*MWxMx***iii*#nnzznzzx@@WMMW@@M+;;zWMn@@@WnMMxxMMn+#xxzMz#Wxxnn#.`````.#nzzn#z#.`````.#nznzz
,::;xMxxxini;;;;;izWMxM+iiiii;;;iMWMMx**++#znzz##zzMnM@WWWWWWMx@Mx@Wi#W@WMWWMxxMMz+xWWznMMWMxxx#.`````.znznnzz#.``````znnxnn
,::;xWMMxini::;;iizWWMM+iii;;:::;MWMWMnnnnz######zxWxW@WWWWxW@W@MnW@nW@@@WxWMxxMM#zWWWx#xMWMMxx#.`    .zxnnnnn#.```  `znxMxn
,::;xMxMxini:::;iizMMxM+iii;::::;MWMnz###+####zzxzW@W@@WWWWnM@@@WxW@@@@@WnnMMxxMx#nWWWM+#zMMxnn#.`    .zxzzn#z+.``   `zxxxnn
,::;xWxMxini:;;;iizMMxM*iii;::::ixMxzzzz#++#znxMWx@@@@@WWWxzx@@@@W@@@@@Wz#nMMxxMx#xWWWW#+#MMxnn#.`    .zxzzz#z+.```` `#znxxn
,::;xWxMxini;;iiiizMMMM*iiii;;;iixWnzxWWWn+#MWW@@W@@@@@WWWnzx@@@n@@@@@Mz##nMMxMMx#xWWWW#++#nMnn#.`````.znzzz#z+.``````znznxn
,::ixMMMxini;iiiiinMMMM+iiiiiiii+MMzMW@@WMz*xWWW@@@@@@@@WMz#x@@M*W@@@Mzz##nMMxMMM#MWWWW#++++zxxz:`````,#zzzzzz+,``````zxzzxx
;ii*zzzzz+n+*****+#####++++++++++znzxWWWMMx+nMMWW@@@@@@@@n##M@@@W@@@Wnz###nMMxMMM#xWWWWz++++++z#:.....,:;;;:;;;,`````.#nzxxx
,,,,:;;iiin*iiiiii;:::;;iiiiiiiii+nzzxMMMxxnxMxMW@@@@W@@Wn#zW@@@@@@@xzz###nMMxMMM#xWWWWMx#+++**##:,...........```....,;i*nxn
;;;;i*****x+++++++*****++++######xnzxMMxxxxxxxxMWW@MzzW@WWxx@@@@@@@Wnzz###nWWMMWM#nWWWWWWM#+++**+#,.,,.......`````......:xxx
nnxxnnnnxxWxxxxxxxxxMMxxxxxxxxxxxMnz#znxxxxxxxxxxMMMMMW@@@WW@@@@@@@xzzz###nWWWWWM#zWWWWWWWx++****+n#++++++++*******i****#xMM
nxxxxxxxxxWMxMMMMMMMMMMMMMMMMMxxxiii;**#nxxxMMMMMMMMMMM@@@@@@@W@@@@Mnzzz#znWWWWWM#+MWWWWWWWn++**+++n#######+##++++++++#zxMxx
nnnxxxxxxxWxxxxxxMMMMMMMMMMMxxxxn+zx*:;*znxMMMMWxxxMMMMW@W@@@@W@@@@@MxxnzzxWWWWWM#+xMWWWWWWWxnnnx+*+nzzz####+++++++++++xMMnn
+###znxnz+Mz#zzzzznxxMnn####++zx#:.;...;##+####ziiixMz+zWWWW@@W@@@@@@@@@WWW@WMWMz+#nnWxzMWWWWWWMxz++xnzzz######+++#+++znxMxn
;i;*nzznnixi;iii**nxnxx#iii;;*;+;:i*::,.;ii***i+,,:zx#iinWWWWW+n@@@@@@@@@@@@WMWM#+znnMni+xMWWMn#++#xW#,,,,,::::::::,.,zxMWMx
iii*MMMWx;xi;iii**nWWWM+*ii:i*,+z+*;,i.``.*iii;+,,,zx+ii+WWWWW+x@@@@@@@@@@@@WMMWz#xnnMx#zznxz#+++zMWW#....,,,,,,,,:.`.#nxxxx
;iiiMWMWx;xi;iii**nWWWW+*ii;#i,z#zi,,.,::`*iiii+,,:zx*ii+MWWWWWW@@@@@@@@@@@@@WMWMMnzzMMnzznz+++zxWWWWziiiiiii;i;;;;.`.#nxxxM
;iiiMWMMxix*iiii**zWMMM+*ii+,*izz+i...;,,;*iiii+,::zx*i;#MWWWWWW@@@@@@@@@@@@@WMWWWxzzMMzzzn#++xWWWWW@nzzzzz#z#zz###i..znnxxx
iiiiMWMMx*x*iiii**zWMMM+*i**.*i#**+i;;*i+iiiiii+:;:zx*iiznWWWWWW@@@@@@@@@@@@MMWWWWMnzxMzz#n+**xWWWW@Wnzzzzzz#z#####+;.iiiii*
;iiiMWWWx*x+i****inWWMM+*i*i.*xnzxMMMniiiiii**i+:::zx++zz#MWWWW@@@@@@@@@@@@WnzMWWWWxzxMzzzn***nWWWW@Wxxxxxnnnnnnznzz#:i:::::
:;;iMWMMx*x+**i*iizWWWW+***i**+i+MWMWxi;iiii**i+:,:zxxzz##MWWMW@@@@@@@@@@@@xz#nMWWWMzxMznzn*i*#WWWWWMMWWWWWMxxxxxxM+i,ni::::
::;iMWMMx*x+***ii;zWWWW+***++n***MWMWM;;;iii**i+:,:zxx##+zWWWi*@@@@@@@@@WMnz###nMMMMnnMz#+z*ii+WWWWMznMMMMMx+++++zx,``ni::::
::;ixWMMx*x+**ii;:zWWWM+***i*****MWMWM;;iii***i+:,:zxx#++nWWWMM@@@@@@WMxnzzzzzzxMMMMxzn+**+#ii*MWWWn;+nnnnnz:::,,iz, `ni::::
:;;ixMMMx*x+**iii;zWWWM+********+MWMWxiiii****i+:,:znn#+#MWWW@@@@@#@WMMMxxnnnxxMMxxxn#z**+*#i;ixWWW#;+xMMMx#:::,,iz, `ni::::
;ii*nxxxx+x+***iiinxxxx#********#nnnnn********i+:,:nxnn#zWWWW@@@@@##@@@Wxzz##z;+nnzz#i+**i:i*;inMWW+;+xMxxn#:::,,iz,``ni::::
iiii******M#***i******************************i+:,:nxnM#MWWW@@@#@@@@@@@xzz##z*:inn+i**+i:::;*:;zMWW*;+xMxxx#::,,,i#,`.ni::::
iiiiiiiii*W#*****************iii**************i+:,:nnxWnM@W@@#@@@@@@@@Mzz###z*:;nz;,;**:::::*:;zMMMi;+xxxxx#::::,i#,`.xi:::;
iiiii;;;;iW#**************iiiiii*************ii+,,:nzW@MM@@@@@@@@@@#@@xzzz##;.i#nz;..*i,,,::i:;nMWM;;+xxxxxz:,::,i#,`.+;:;;;
*iiii*iii*W#*************ii;;;ii**iiii*******ii+..iznW@WW@@M*x#@@@@#@Wnz##*:,.,#nz;`.*i,..,:;,;nMWx;;+xMxMWz,,,,,iz,`.ii*zzn
**ii;#####W#****iii******i;;;;i*iii;ii********i+.,z#M@@@@@@@xW@#@@@WMnzz#*:,...inz;``*#*****i,;xMWx++zxxxxxz+****#z,`,**+nnx
**ii;*i;;iM#***iiii******ii;;;i*iiiiii********i+,+zzW@@@@##@@@@@@WMnnnz#*;,,,.,in#:..*#*#i#+*;+MMWnz+nxMxxxn++z**#z,.*zznxxM
**iiii;;;iM#i***iii******iiiiii**i*ii**********#ixnx@@@@@#@#@@@@@@WWMxz+i:,,,,;;n#;,.*+;+:#i::iznx#+;#xMxxxnii+::+n+*nxMMMMM
##+++#+++#Mn#################################zznxnMW@@@@@W@@@@@@@WMnzz#i;::,,,**nz+ii#z+z*z+;*nxxxnn#nxxxxxxzzz+#zxxxxxMMMMM
xxxxxxMMWWMMxxxnnzxxnnnxxxxxxxxxxxxxxxxxnnnnnnnxMx@@###@@zx@@@@Wxzzz##*i;::,,:#############*,ixMWM#zzzzzzzzzz##zxxxxMMMMMMMM
xnnzzznxMMMMz###*********++++*********ii*******nxW#######@@@@@Mnzzzzz+*i;::::i#znnnnnnnnnnzi,*MMxxnnnnnxxnnnnxxxxxMMMMMMMMMM
#znxxxnz+*iii**i;;;i***++++++*iii***iiii;;**i**xx@#######@@@Wxnzzznnnnz#;::::+#+***+#znxxxni:#x*.;nnxxxxxxxxxxMxxMMMMMMWWWWW
nz#**i****iii*i;;;;i**********i;;;*i;;;;::i*ii*MW@########@WnzznxWWWMxx+::::;#znnnzz####zzn+*i,  `*xxxxxxxxxxxxxxxxxxxxMMMMM
zzznnnnnnnnzznnnnnnnnxxxnnnnnnz##znnznxxnnxxnzn@#########@MnnxMW@@@@Mxx#;:::;zxnznxMMnnxMMxx;     .znxxxxxxxxxxxxxxxxxxMMMMM
MMMMMMMMMMMMMMMWWWWWWWWWWWWWWWMxxMMWWWWWWWWWWMW@########@MxMW@@####@WMxzi;::;nMMMxMMMMMMMMMx#`    `#x#xMxxxxxMMMxxMMMMMMMMMM
xMMMMMMMMMMxxMMMMMMMMMMMMMMMMMMxxxMMMWMMMMMWWMW@#######@WM@@@#@@#@@@WMxzi;::;zxMxxxMMxxxxxxnz,    `*z,znnzznnnxxxxxxxxxxxxxx
MMMMMMMMMMMMMWWMWWWWWMMMMMMMMMMMMMMMMWMMMMMWWWW@#######@@@@###@##@@@MMxn*;::;nMMMMMMMMMMxxxxx*` ``.:+.+#+++#zxxxxxxxxxxxxxxx
MMMMMMMWWMMWWWWMWMWWWMMMMMMMMMMMWWWWMMMWWWWWWWW@############@@@@@@@@MMxn+;;:;xWWMMMMMMMMMMMxxz..,`,``.#+++#zxMMMMxxxxxxxxxxn
MMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMWWWWW@##@@#####@@WWMMW@@@@WMMx+;;;ixWWMMMMMMMMMMMMxx#*;i:;;+z#zznxMMMMMMMxxxxxxnnn
xnnnnnnnxxxxxxxxxxnnnnnnznnnnnnnnnxxxxxxnnxxxxM@@WxW##@@WMxnzznnx@#@WWMx#;;;ixxxxxxxxxxnnnnnnzzzzzzzz###zznnnnnnnzzzzzzz#+++
+**ii***+++++##+++++***iiiiiiii***+##+#+;;z##+#MMnx@@WMxnznnzznnW@@@@WWMziii*z+++++++++***i;;;;;iiiiii;iiiiiiiiii;;;;;;;:::,
*i;i;;;;i**********i;::,,,,:::;;;;i*****,,+*****nxxxnnzzzzzzznnW@#@#@@@Wn***+#*****iiiii;;:,,,,:::;;;;;;;;;;;;;:,,,,,,,,,,,,
ii;;;;;i***********i:,,,.,,,::;;;;i*****.,******MxzzzzzzznnnxM@@######@@M#++#+****iiiiii;;:,,,,::;;;;;;;;;;;;;;::,,,,,,,,:::
ii;;;;;i***********i:,,,,,:::;;;;i******..*****znzzzzzzznMW@@#########@@@Mxnn+****iiiiii;;;:::::;;;;;;;;;;;;;;;;::,,,,,::::;
iii;;ii************ii;:::::;;i;;ii*+***i``****nnzzzzzzzzM@@############@@@M++*****iiiiiii;;;;:;;;;;;;;;;;;;;;;;;;::::::;;;;;
*iiiii***************i;;;;;iiiii******ii``***nnzzzzzzznx@@@@@#########@@@@n*******iiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;
****ii****************ii***************i``**nnzzzzzzznM@@@@@@#########@@@W#*******iiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*************iiii**********************i``izxzzzzzzzzxMMxxMM@@#########@Wz********iiiiiiiiii;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;
************ii;;ii*******************iii` *WnzzzzzzzzznxMW@@@########@@Wz+********iiiiiiiiii;;;;;;;;;;;::,,,:::::::;;;;:::::
***********i;;:;;i********************i;`,M@nzzzzznnxW@@@############@Wz++*******ii;;;iiiiiii;;;;;;;;;;:,,,,,,::::::::::::::
**********ii;:::;i*****************ii;;: #@@nzzzzxMW@@@#############@Wz++*******ii;;;;iiiiiiiii;;;;;;;;:,,,,,...,,,,,:::::::
**********ii;:::;i*****iiiiiii*****i;;i:.M@@nzznM@@@@@@############@@z+++********i;;;;iiiiiiiiii;;;;;;;::,.`````..,,,,,,,:::
***********i;;;;;i**iiiiiiiiiii*****iii:.W@WzzznW@@@@#############@Mx#++**********iiiiiiiiiiiiiii;;;;;;;:.```` ```...,,,,,::
*******iiiiiiii;;iiiiiii;;;;;;;i*****i*:.WMnzzzzx@@@@##@########@Wxnxz+************iiiiiiiiiiiiii;;;;;;:.````````````...,,,,
****iiiiiii;;;;;;;iii;;;;;;;;;:;i******,.Mn#zzzzzx@@@@@########@Mnnxxxz#*************iiiiiiiiiiii;;;;;;,...```````````....,,
*ii*iiiii;;;;;:::::;::::::::::::;****i*,`nz#zzzzzzx@@@#######@Wxnnnnnzzn+************iiiiiiiiiii;;iii;;:,,...```............
iiiiii;;;;::::,,,,..,::::::::::;;******.`zzzxnzzzznM@#######@MnnnnxMMnzn#************iiiiiiiiiiii;iii;;;;;:::::,,,,,,.......
ii;iii;:::,,,....```..::::::::;;;******.`+zzMWnzzzznM@#####@xnnxMW@@@Wzn#*************iiiiiiiiii;;iii;;;;;;;;;;:,,,,,...,,,.
;;;;ii;:,...```````..,::::::::::;******``*zzM@WnzzzznW####@xnxW@@@@@@Mzzz***********iiiiiiiiiii;;;;;;;;ii;;;;;;:::,,,,,..,,,
;;;;;ii;,.`````...,,..,,:,,:::;;i******` *zzx@@WnzzznM@@@@MnM@@@@@@@Wnzzz********iiiiiiiiii;ii;;:::;;iiiiiii;;;;;;;;:,,,,,,:
;;;;;iiii:..,,,.....,,,,:::::;;i*******` iz#x@@@WnzznnWMWWnnnxxxMWWWxzzzn#iii*ii;::::::;;;;;;;;::,::;iiiiiiiiiii;;;;;;::::::
;;;;;i***i;:,,..,,,,,,:::;;;;ii********` izzx@@@@MnzzzxMWWxxxxxxnnnnnzzzznz*i;,...,,:::::;;;;;;::,::;iiiiiiiiii;;iii;;::::::
;;;;i****iii:,,,,,,,:;;;;;iii***+*****i  inzn@@#@@MnzznxW@@@@@@@WWMxnnzzzzzn*.```...,,,::::;::::::::;iiiiiiiiiiiiiiii;;:::::
;;;ii*****ii*iii;;;ii**iiii*****++****i `*nzn@@#@@@MnznnW@@##@###@@@@WMnzzzzz#:.````..,,,:::::::::;;iiiiiiiiiiiiiiiii;;;;:::
iii*****************+++*****+++***+***;  #nzn@@@@#@@MnznW@@##########@@@Mzzz#zz*.````...,,,::::;;;;iiiiiiiiiiiiiiiiiiii;;;;;
;ii*******************++*+++++++**++*+; .MnznW@@###@@xnnMW@########@@@@@Mzzzzz#z:..`````..,,,::;;;iiiiiiiiiiiiiiiiiiiiiiiiii
;;i******************++++++++######+*+; *xzznW@######@xnxzM@########@@#@Wnzzzzzz#;,,.`````..,::::;;;;;iiiiiiiiiiiiiiiiiiiiii
;;;i*****************++++++++++++++**+:`zzzznW@#######Wnx#zM@######@@@##@Mnzzzzzzzi:,..``..,,,,:::::;;;;;;iiiiiiiiiiiiiii***
;;;ii**************++++++++++++++++**+,,nzMnnM@@####@#@nx##zM@####WMMMWWWWxzzzzzzzz*::::::,,,,,,:::::;;;;;i;ii;;;;iiiiiii***
;;;i*****iiiii******+++++++++++++*****,*nnWxzx#@###@##@nx#++zW@###@Wxnnnnnnnnzzzz##ni;;:::::,,,,,::::::;;;;;;;;;;;;iii******
iiii*****i;;;ii*****+++#####zz####+i*+.#zx@Wnn@@###@#@Mnx++++zW@####@WxnnnxWWnzzzz#n+;::::::::,,,,::::::;;;;;;;:::;;ii******
i***+***i;;;;;i***+++++++++++++++*ii;i.nzM@@nnW@####@@xzn++***n@######@@W@@#@xzzzzznxz;,::::::::,,,,::::::;;;;:::::;;i******
*+*++***i;;;;;i**++++++++++++++++*ii;i.nzW@@xzx@####@Wnzn++*ii*x@@@######@@##@xzzzzn++*,,:;;;;::,,,,,:::::;;;;;::::;;i******
++*++***i;;;;;i**++++++++++++++++**i;i.zzW@@WnnW###@WMznn++**ii+W@@#####@@@##@@Mzznz***:,:;;;;;;:::,,,,:;iiiii;;::;;;i******
+++*****ii;;;i**++++++++++++++++++*iii`#nn@@@xnM@##@Mnzx#++*****zW@######@@#@#@Wznx#*+zi:;;;i;;;;;::::;i*****ii;;;;;i*******
++++++***iii***++++++++++++++++++++**i ,nzx@@Mzx@#@Wxzxz#++***+++nW@@@#@@@@####WMW@n*###*iiiii*iiii***********iiiiiii*******
##+++++*******+++++++++++++++++++++**i  inzM@Wzn@@xxznn#+++++++++#zxMWWWWW@@##@@@#@Wz#++#+++********************************
#++++++++++++++++++++++++++++++++++++i  `*nzMWnn@xznxx#++++++++++####zzzzzM@@@@@@@@WMz++#+++++++++**************************
+++++++++++++++++++++++++++++++++++++i   `nnnMnnMnnxxxn#++++++############x@@@WMMMWWn#++#++++++++++++***********************
++++++++++++++++++++++++++++++++++++#;   ,nnzzzzzznnznxz##################zM@WMMMxzz;++#z#++++++++++++************++****++++
++####++++++++++++++++++++++########z:  .zzznnnzzxxzzznx##############zz###zMMMxz#x+:znn##+++++++++++*******++++++++++++++++
++++++###+++++++++++*****++++##++++++,  :z#x@@WWW@@xzzzx###################n+i+++n#*+Mxn##++++++++++**********++*+++++++++++
*+++++++++++++++++++**iii*+++++##++++,  ,n#M@@@@@#@Wnznn#################nz*i+++zz++xWMx##+++++++++***************++**++++++
*++++++++++++++++++*iiiii**+++++++++#:  `#znxnxxW@@@xnx##################n+znzznn++zWMnz##++++++++***iiiiii*******++***+++++
+++++++++++++++++++*iiiiii*+++++++++#,   :Mnznxnnnxxnxz#################z+;*+#z#+++Mx#####++++*i;::::::,,,,,::;;;i******++++
+++++++++++++++++++*iiiii**+++++++++#,  `i+*++#zxnzzzxz############zzzzzzn+#######xMz#####++i;:,,....,:,,,...````.,,:;iii***
+++++++++++++++++++**iiii*++++++++++#.`.+nzz#++#nxMMMMz#######zzzzznnnnnnMWWWWWWWWWxzzzzz#+*;::,,...``,,,,...````...,,:::;ii
++++++++++++++++++++**i***+++++++++#zi*nz#++#znn#+xMMWnzzzzzznnnnnnnnnnnnnnxxxxxxxnnnnnnzz#*;::,,....`.:,,,...````..,,::::::
++++++++++++++++++++++**++++++++###zni;;*#zznz+++#xMMWnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz#*;:,,,.....::::,,..```...,,,::::
+++++++++++++++++++++++++#######zznM*;;i***##++++n@@@Wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzz#*;::,,..,,,:;;::,,..```..,,,::::
+++++++++++++++++++++++++##zzzzzznnx*****++++++zM@@@@Wxxxxnnnnnnnnnnnxnnnnnnnnnnnnnnnzzzz##+*i;:,,,,,::;ii;;;::,```...,,,:::
++++++++++++++++####+++#####zznnnnnMn#++++++#nMWW@@@Wxnnnnnnnnnnnxxnnnnnnnnnnnnnnzzzzzz#####++i::,::::::;i;;::,,,,...,,,::::
+++++++##+++++++#####+######zzznnnnxWWMMMxMMMWMxnxxxnnnnnnzzzz##zzzzzz##zzzz##################+i;,,,,,,,:;;:::,,..``...,,,::
+++++++++++++++#####+++########zzzzzz#znnnnnn##nnnnnzzzzz######################################++i;:,,,,,;;;:::,,..``..,,,::
++++++++++++++######+++#############i:;;iiiii;iz#zz#############+#+########################++++++++*;::::;;;;;:,,,..``.,,,,:
+++++++****++++#####+++#######++++*+,`````````,##############+++++++######################++**++++++**iiiiii;;;:,,,,``,::,,,
+++++******++++######++########++*i*,         .#############+++***+++####################++*i***++++++**i**i;;;::,,.` `,:,,,
#++++******+++#################++*i*.         `#+###########++*****++####################+***iii***********iii;;::,,`````...
##++*******+++#################++*i*`         `++###########++*****++###################++**iiiii***************i;::,``````.