.,                                      `:                   :`                                                          
           i+                                      ,n                   x.                         .. `,                            
           *+                                      ,n                   x.                         +* :n                            
   .# ,# ,+inxx, ,xx: #+M#   `z` z`  .znMi#M+ `zM#`,n i+ iMn.   .zM+    M#M#` *Mn. ,xx#::* .# ,xM;;WW+M@* iMn..n`                   
   `M`*W`*+iM,+#`x::x`M*.M,  `M` M.  .W,:@i,M.i#.n;,n:x.,x.*#   +*.x,   M+.x;,n.*z ni,M;i# ,n x;:M.#+`;n`,x.+#`:                    
    z:zz:z:i+ ,n,M::M.M. z:  `M` M.  .x `W` n,`,;z*,MM: *#:;x   `,;x;   x. i#`.;+x`M  #;i# ,n.M::M,** :n *#:ix                      
    i+n:+x`i+ ,n:Wzzz.M. z;  `M` M.  .x `W` n,:M+n+,#W; +xzz+   in*x;   x. ;z.M+#x.M  #;i# ,n,Wzzz,+* :n #xzz+                      
    ,W+`xn i+ ,n,M` ` M. z;  `M` M`  .x `W` n,z; ++,x,M.*#  `   n, z;   x, ++i# :x`M` #;;# :x.M` ` +* :z *#  `                      
     W; n+ i+ ,n zz*n`M. z;   n##@`  .x `W` n,*x+W+,n *#.M+#+   #n#Wi   Mx+W,,M+xx #n+W;.M*xx zn*x`ix,.W;.M+#+.z                    
     :` ,. ,, `: `i*. ;` :.   .*i;`  `;  ;` :``i*,:`: `; .*i`   `*i:,   ;:+:  :*,; `i*z: :+:: `i*, `*: i; ,*i``;                    
                                                                                   +::M.                                            
                                                                                   ,nx;                                             
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
,,,,,,,,,,,,,,.......................:*i:...:;;;;iii;i****i:.................................................................,,,,,,,
:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:+zz+i***+++#####+##zzz#i,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::
:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i*i***++##+#####+++#zz+:.,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,;i**++++############++#z#:...,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;i**++###########znzzz#++##:..,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,;i*+########zzz##zzxnnzzz#*++,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:;*#zz########zzzzz#nnnnnnz+*#;,:*....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:;*#zzzzz######zzzzz##nxxnnn##++,iM.....,..,,,,...,,,,,,,,,,..,,,i:,,i,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:i+#zzzz#######zzzzzz*znnnnnz##*;iM.,,,.,,,,,,,,,,,,,,.,,,,,,,,,,W;,;W,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:i#zzzz######zzzzzzzz+*znnz##zz+;iWnWn,.ixMn,.;MWzM,#*.,x:,*MM#,x@M#M@x::nMx:,,,,,,,,,,,,,,,:::::
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,;*#zzzzzzzzzznnnnzzzz#*+#z#+##z+;i@;:x#,Mi,x+.M#:+@,n+.,W:;W;;Wi,Wi,iW:,x#:zn,,,,,,,,,,,,,,,,::::
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,;*#zzzzzzzznnnnnnnnnnz+*+#+++##+,iM..*x.,;*nz:@,.:@,n+.,W:#xiix#.W;.;W,:@ii+W,,,,,,,,,,,,,,,,::::
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,:;+###zzzzzznnnnnnnnnnz#+*++*+++i.iM..iM,nn+xz:W,,:@,n+.,W:zMzzn*.W;,;W,;@zzzz,,,,,,,,,,,,,,,,::::
:::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,:i+####zzzzzznnzzzznzzz##++****+:.iM..+x:@,.#z,@:.:@,z#.,W:+n..,,.W;.;W,:@:.,,,,,,,,,,,,,,,,,,::::
:::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::;*+#########zzzz#zzzznzzz##+**i*,.i@z+Wi,Wz#Wn.zx+x@,*W+n@:,Wz+Mi.xz::@+,zM+zz,,,,,,,,,,,,,,,,,:::
:::::::,,,,,,,,,,,,,,,,,,,,,,,::::i+#################znnzzzzz#+**i..:i*#i..:#+;*.,+#*W,,*#**,.:##i,.;#;,*#,,*z+,,,,,,,,,,,,,,,,,::::
::::::::,,,,,,,,,,,,,,,,,,,,,,:::;*###zz##zzz##zzzzzznnnnnnnzz#+*i....,..........+i:zx,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
:::::,,,,,,,,,,,,,,,,,,,,,,,,::::i++zzzzzzzzzzznnnnnnxxnxxnnz*i*ni...............ixMn:.....,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
:::::,,,,,,,,,,,,,,,,,,,,,,,,:;i;i+zzzznnnnnnnnxxxxxxnnzz##+i:,;z,...............,,,,........,,,,,,,,,,,,,,,,,,,,,,,;;,,,,,,,,,,::::
:::::,,,,,,,,,,,,,,,,,,,,,,,,:;ii+znnnnxnnxxxxxxxxxnz#+***ii;::;n*...........................,,,,,,,,,,,,,,,,,,,,,,:ii:,,,,,,,,,::::
::::,,,,,,,,,,,,,,,,,,,,,,,,::;i+znnxxxxxxxxxxn#******ii;;;;:::ixi...........................,,,,,,,,,,,,,,,,,,,,,,;i*;:,,,,,,,:,:::
::::,,,,,,,,,,,,,,,,,,,,,,,,::*+nnxxxxxxxxxnz#z*;:::;;i;;:::,.,;M:...........................,,,,,,,,,,,,,,,,,,,,,,;*i;:,,,,,,,,::::
:::,,,,,,,,,,,,,,,,,,,,,,,,::;#nnxxxxMMxxnnzznMMxz*;;;;::::::*#*z............................,,,,,,,,,,,,,,,,,,,,,:i+:;,,,,,,,,,::::
:::,,,,,,,,,,,,,,,,,,,,,,,,:i+nxxxxxWWxz#+*ii+zxMMMzii;:::;*xMnn;................................,,,,,,,,,,,,,,,,,:ii::,,,,,,,,,::::
:::,,,,,,,,,,,,,,,,,,,,,,,:i#nxxxMMxWxz++i;i#MWWMMnzz#*i*+nMn+:i.................................,,,,,,,,,,,,,,,,,:i:::,,,,,,,,,,:::
:::,,,,,,,,,,,,,,,,,,,,,,,:*#+i#xMnzxz+**iii+zxM*nn#***i+nxxz#;,.................................,,,,,,,,,,,,,,,.,;;,:,,,,,,,,,,,:::
::,,,,,,,,,,,,,,,,,,,,,,,,,....;#nz#z*iiii;::;;*##+i:,:;M@Wxzz;..................................,,,,,,,,,,,,,,,.:i:,:,,:,,,,,,,,,::
::,,,,,,,,,,,,,,,,,,,,,,,,,,...,**++#;;;i;:::;;i*+i;:,,;xxM+#n:........................................,,,,,,,,,,:i,,:,:::,,,,,,,,::
:::,,,,,,,,,,,,,,,,,,,,,,,,,,,..;***+;::;;:,,:::;::::,,:z##+::.........................................,,,::,.,,:::,::,:;:,,,,,,,:::
:::,,,,,,,,,,,,,,,,,,,,,,,,,,...:iii::,:;;::::::::::,,,.i##*;;........................................,:,::::..::;,,:,,:;,,,,,,,,,,:
:::,,,,,,,,,,,,,,,,,,,,,,,,,,....;,,,,::;;;;;;;:::::,,,.,;ii;:........................................,:;i**i;.;;;,,;,:::,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,.,....,,..,:;;i;;;;;;;;;:,,,.:;;;;:.......................................,:i*;;*ii:;:;::;,,:,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.,:;;iii;;;;;;;;::,,.;i;;;:...................................,...,;*;..;i;::,::;:::,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,...in+.,:;iiii;;;;;;i;::,,.:**i;:...................................,,,,;i;...,:::,,,:;,:;,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,nWM,,;;iiii;++;::i++;,:,;#+*;,...................................,::;*:....,,,:.,,,:,,;,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,..;MW@*:;iiiiiizzi;iznnn**;*nnxi....................................,;i*+:...,:,,:,,,,:,::,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,..,+xW@x:;iiii;inz#znzzxWWWz*xMM:....................................,i*+*...,:::,,,,,,,:;,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+znM@Wiiiiiiii*##+*i**znzi;#M+......................................i*i;::::::::,:::,,::,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,.inzxM@@x;i*iiii*+##******+izn#,...........................,,.........,;;:;;::::,:::;,,,:,,,,,,,,,,,,,,:
:,,,,,,,,,,,,,,,,,,,,,,,,,,,.:znMMW@@zi*****+z##nxxMMxz*nni.....................,:::,.............,:;::::::,,:;::,,,:.,,,,,,,,,,,,,:
:,,,,,,,,,,,,,,,,,,,,,,,,,....#nxMW@@@ni*+++##*iiii**i:,+#,...................,i*ii;;;,............,;::::::,,:;:,,::;,,,,,,,,,,,,,,:
:,,,,,,,,,,,,,,,,,,,,,,,,,...*MWMW@@@@@n+++++++*iii*+*;:*i................,..:i***;::i;,.,..........,:::::::,:;:,,:;;,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,..:zMWMW@@@@@#x#++++++++#nxn*;i...................,**i*+:::ii:,...,....,..,:;::,::,::,,::i:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.,+zxMMMMWWMW@@Mn#++++++MMx+i;n*.................,**i*#*::;i*i,....,,::,,..:;;::,,::,,::;i,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.:nnnxMMW@@@@@@@@M#+***ixW+;:i@M+:,,,.........,,.;***+#:,:;i+*:...,:;i;,,,.,;;;:,::,,,:;ii,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.,#nxMMMW@@@@@@@@@Wz+*ii#M*i;x#W@Wxx+.........,.,***++i,,:ii++:..,:;i*;::;..;i;:::,,,:;i*;,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....:nMWWW@@@##@@@@@@@n#++##+*n@@WWWMWn,..........i***#+:,,:;*++;.,:;i****;;..:*i;;:,,:;;i+,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....,zxWWWWWW@@@@@@@@@@WMxxxMMW@@WWWMWM;.........:+**+#i,,,;i+##i,:;i*****+*:`.:i;:::::;i*i,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..:#MxWWMM@@@@W@@@@#@@@######@WW@WWWMWM+........,****++:,,:ii#zzi:;*i;ii***+*..,;;;:::;i*+:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,..,;#xxMWWMW@@@@@@@@@@@@@########@@@@@WMWMn........;+**++i,,,;i*zz#;:**i;;i*+i*#,..;;;::;i*++,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,.,+xxxMWWMW@@@@@@@@@@@@@@@@@#####@@@@@WWWMz.......,**i*+#:,:;;*+zz+;i*i;;;*+*;*#:..;:;i;ii+#*,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,.,zxxxMWWW@@@@@@@@@@@@@@@@@@@@@@@#@@@@@W@@W*....,..;+*i*#*:::;ii#nz*i+i;;;i*+*i*#:.;i;;ii***+i.,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,.,+nxnMW@W@@@@@@@@@@@@@@@@@@@@@@@WW@##@##W#@M,.....,**ii*+;:::i*+nn#i+*;;;;i*+*i*+:.+i;i;i*+++;,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,.*nxxW@@@@@@@@@#@@@@@@@@@@@##@@@@@@WWW@#WW@WW;....,i*iii++:::i+*znz**+;;;;;*+++i**,.#*i;;;i**+;,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,izxWW@#####@#####@@@@@@@@@@@@@@@@@@@WMWWWWWWMi....:+*i;;+i::;**+nn#++i;;;;i++++i+*,.*+ii;;ii*+:,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,.;zx@@@#@@@@MMW@#######@@@@@@@@@@##@@@@WWWMMWWx,...,*+i;;i+;:;*+*znz++*;:;;i+#+#+*+i,,,#+i;;ii++,.,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,.,zxW##@WMn+i.,;;zW@@#####@@@@@#@@##@@@@@WWWMMMx::..;+*ii;*+::i#++nnz#*;;:;;i+++#**+:;::i#+iii*+xi.,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,*xW@##@i.`.`.,``,;+n@@####@@@###@##@@@@@WWWWMMn::`,++iiii+*::*#*znn#+;;:;;i++*#++**:*;.:zz+++##+:.,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,.;nW@#@Wi,`.``:``,,`.,*W@@#######@@##@@@@@WWWMMM+...++***i;*i,;+*#nnz#i;;;;i*#++++*+;;*i:,:+#+###:`,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,#W@#@M; `.,`:.`,,``,:,;M@@###@@@@####@@@@@WWMMM+;,i+++#+::i;,*i*znnz+;;;;i*+#+++++*,;*i;:,..,,,.,.,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,in@##Wz` `,.`,`.;..,,```,zW@@@@@@########@@WWWMx,..**+++:,:i;:*;#nnz#i;;;;;*++++##+::ii;;::,:::;;,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,.,zM##@@;```..,;;;,...``.:::*zMWWnM@########@@WWMz.,;*++#;,:;*;ii*znnzi;;;;;i+######*;:ii;::::::;;:,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,.iM@##@n.`..:;:.........:.``.,:*i.,*xWW@@##@##@WW*,:i*#+i:::i*i*i#nnz+;;;;;i+##++zz+:;;ii;:,,,::;;,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,.n@##@@;``.;,.``.,:;iiii,``,,:;:..:;i;i+x@@#@@Wni.`;i+#+::::*****znn#i;;;;i*+#*+#z#i,:iii::,,:::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.:W@#@@@.``:..`:;;:,.`.....:;..,..;,`.,,;+*+znn+...:**#+*::;;+++i#nnz*;;;;;i*##++zn+,,;;;;::,,,:::,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.+@##@@W``..`,;:..```.......```..;,`.,:;:...,;;;:,,*i+##;,:;i+#++znn#i;;;;i**####nz:;:i;;::,,,,:::,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,.:z@##@#n`..`,:.``.,;;;;:::i;.,;:;..::.````.;:,````;**##+:::;;++i+nnn*i;;;i*++#+#nni:*:i:;;,,,,:::,.,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,.*x@##@#+`.`.,``.;;:,..`````..:.`..,:````.::.`````.+**##i::;;i##+znn+i;;;ii*+##*zx+:;+;*+;:;,,,,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,nW@##@M,.``.`.;;.``..........`...:;`.:;:,.``.,:,:i+*+#*;:;;ii#z#nnz*;;;;i*++#*#xn;:i*;;*#;;*+++*:,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:M@##@@z```.`.:.```,:ii;;::;:i;,i;,`.;:.````,:,```***+++::;ii*#znxn+i;;ii**+##+zx+;;*i#;:;+*:,:::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,*@@##@#z``.``:.`.:i;,.`.`````..,....;....,::,````;***+#*::;*i#zzxx#*iii*+++#z+#xni*ii;i#;::;;:;i,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,#@###@#n..``,``,i:.``.`.,:,..`....,;,.:;i:.```.::**i*+#;::;**zznMz+iii**i*+##+zz#i+i+i;;+i:,i**;,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,n@##@@#x..`.``::.`..,;ii;:,,:;;;;*;..::....`,:,.;*ii*#+::;i*+znxx#*ii*+ii*+#*#zi+**ii#i::i+*;,;,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,n@#@@@#x,`.``:,.`.;i;,......`...:..`.,...,;;:.`,**ii*#i;;;i+#zxMz*ii*+i;*+#z+z*i*+i#i;+*::,;*;;,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,n@@@@@#z.```,.`.:i,.`....,:ii:...,,:i:;ii;,....i*iii*#;;i;**znMn+iii**;;*+z#zn**i+;*#;:i+i::;::,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,x@@@@###`.`..`.;:.`.`,;ii;:,,,.::*i,:i:,,....:i*i;;i+*:;;*++zxx#*iii+;;i++z###**;++;i+;::i++i:,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,.:M@@@@##z.`..`.;,``.;i;,.``.....,i:..:,,,,:iii:i*i;;*#i:;i+*#nMz*ii*+i;i*+#z#*#*#:;+*;;+*::::i,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,.;W@@@@##z,`.`.;.`.:i:......,::;ii;::;::i*i;,..:*i;;;*#;;;*+*zxx#i;i+i;ii+#zzz+#*#+;;*+;:;+**i;,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,.*W@@####x,.``:.`.i:.``.,;ii;,..,,:*i++i:.....,iii;;;+*:;i+*+xx#+;ii*;;;*##z####*++#i;i+i:::;i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,.+W@@####M,.`,.`.i,...:i;,.....``.,,:;,,...:;***i;;;i+;:i++*zMn+iii+ii;;*#z###z+*ii;+*::i+*ii;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,.zW@@@###W:...`.;.`.:i:.`....,:ii;,:i:::;;;:::**i;:;i+:;*+*+xx#*;i**i*;i++##z+zi#ii:;i+;::;*i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,xW@@@###@i..`.:...;;.....:ii;:,...i+i;,..:;;i*i;:;i+*,i+*+zMz*i;i+ii*ii++#+n*zi*#*+i:;**ii*;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,:M@@@@####+,.`:``.i,``.,ii:..````...:,..,;*++**ii;;i+;:*+*#Mx+i;;i*iiii*##+#ziz*;*+;*+;:;i*i:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,;M@@#@@###+,.,.`,;...,i;......,:;;;:;;i*+*i:;**i;::i#;;+++zM#*;;;**iiii+zz*z#;+z;;*i:;*****;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,iM@@@####@#:..`.:.`.;;.```.:i;;,....,i+*;,ii**+*::;+#;*#*#Mn+i;;*+*****z#zi+#ii+#i;**;;;iii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,iW@@@#####z:,`.:``.i,.`..;i:........,+z#i**i;ii;,;i##i++*xx+*;;i*#i**++zzz++z#i*;*+;;*+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,#W@@@#####n,,`,``,;.``,;;,.``..:;i;;:;i+ii*ii;;;:;i+#***zMn*i;i*++i+###zzz++*#*ii:i+i;;ii:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,nW@@@@####x:,..`,:.`.;;.....:i;:.....,++**i;;;;iiii*iii#Mx#i;ii+#+*+##znz*i**i#i*i;;*++*i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:x@@@@######:.,`.,``.i,.``.;i:..```.,,:#+**i;;;;ii***;i#xWz*;;;*+#**#+zzz#:,:;i*#i++*;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:M@@@@@####z,,``,``,;.`..i;,.....:ii;:,i#**;;;;;i*iii*+zWx+i;i*++#i+#zzz#+*;,,,:;**i*++*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,iW@@@@#####x,,`,``:,``.;i..`..:ii:.....,#+*;;;;ii*****i*##+;;i*+##i#z+zz#*z#+;,,,,:iii;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,.+W@@@@#####W,;..`,,``,i,....;i:......,:;++*;;;;ii********iiii*++#**zz#xz+*z#*i;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,.#@@@@@#####@,,``..``:;.``.i;,.`.`.:ii;:,*+*i;;iii*******iiii*+##z*#z+xn#+***i::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,.#@@@@######@,,..,``:,``.;;.``..:ii:.....;z*;;iiii***+**iii*****+#+ni*xn#+**ii::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,.#@@@#@#@###@,,,.``,.``,i,.``,;i:......,:in*i*iiii******iiii****++++,:nz+***ii::,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,n@@@#@#####@,,,,`,.`.;:``.,i;..`...:ii;,:#+;##+*******iiii****++++;,in#*iiii;;;;:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,n@@@@######@:,,;:``.;.``.;;...`.:ii:,....i*;+**++##+*i;;ii***++++*:,in#*iii;;;:;:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,x@@#@@######+,,:;`.:```,i,.`.,;i:......,:**i+****+nxnz+*ii*++++++i,,*n+iii;;:::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,M@@#@@###@##z,,,+,,```;:..`.;i,.....:;i;;#+i**ii*+zz##zzz##+++++*:,,*n+*i;::::::;::::::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,:,,,::
,,,,,,,,MW@##@###@###,,,i+``.;,`..;i.....,;i:....,ii**i*++#+****+#####++i:,:;z*i;;:,,::;:,:::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,:,,,::
,,,,,,,:M@###@######*,,,:+,.:...,i:....:*i,.....,,i+**i++*z+***i***+++#+;:::,.:;;:::::;;:,,::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,:,,,::
,,,,,,,iM@@##@######i,,,,i*:.`.;i....;i:.``..:;;.`+n+***i+z+*iii**+++++*::,..``:;::::;;;:,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,::
,,,,,,,+M@@#@#######;,,,:;#,`.i:...:*,.....;*;.``.izz+*i*z#+*iii*++++**i..``.``.;::::i;::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::
,,,,,,,zW@@#@######@i,,,i**:.;,`..i;.`..:ii:.`.:ii:+i++*#n#**ii*+++*;;,```````.`:;:;i;;::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,::::::
,,,,,,,nW@##@#####@@i,,,.*##:...,i,...,i;...`,:,:,;...::+i**ii*+*;i,.````````...,*ii;;i::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::::::
,,,,,,,z@W###@####@#;,,,.,+ni`.:i....i;..`..,..;,,*.;.:`:.;,;.,,,:,:,.`````.`...,*ii;i;::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::::::
,,,,,,,x@W@#######@@:,,,,:;ii.::...:i,....;:..:,:+:,;.:..;.:.;.:...,:,````.......*+ii;::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::
,,,,,,,x@@@########W,,,,,,;++;:...;;....ii.`.,,i**.,:,.:`;`;`,:.;`,....`.........+#i:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,n@@@#######@W,,,,,,:**i...i:...:i,``,:.::+,.,,,.:`:.:..;`;,,,.,.`.......,.**::::::::::::::::::::::::::,,,,,,,,,,,,,,,::::::::
,,,,,,,nW@@@@@@@@@@W,,,,,,,i##:.i,...i;.``;i.,::i...,,`:.,,,:.;.,;.;;::......,,,.*i::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
      .   .             .               `.               ``                                                                         
      *   *             *               `i               ;.                       `  ``                                             
      *   *  ``  ```    *``   `` ``.`   `i``  `.  ``.    ;,``  ```` ``` `  `  `` .+.`;:` ``                                         
      z***# ;ii;`zi*,   zi*: *i*,,#i+`  `zi+..+i+`i*i*   ;+i+`.*i#,,*iz`*` * ii*.;#;.**,:*i;                                        
      *   *`*  *`i `*   *  *,: `*,: ,:  `i .;i` ,;i` i`  ;, `i*` ;,*  i`i` *`zii* *  :, #ii#                                        
      *   *`*  *`i  *   *  *,; `*,: ,:  `i `i;. ::i` i.  ;: .;i` i,*` *`i` *`* `` *  :, *` `                                        
     `i   i :**,`;  i   i  i i**`,: .:  `; `;`***`;` ;`  :+**``**+,.**z`.**+ :**. ii `+,.**:                                        
                                                                   `` *`                                                            
                                                                   ,**i