;;:::::::::ii;;;;;iiiiiiii*************iiiii*ii*i*ii**++##*iiiiii;;;;;,::::,,::,,,,,,,,,,,,,,,,,
;;;;;ii;;;;i**iiiiiiiiii**************iiii***iiiiiiiiiii++iiiii;;;;;;i,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;iiiiiii**iiiiiiii***********+++*****ii**iiiiiiiiiiiii**i;ii;;;;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,
;;;iiiiiiiiiiiii*************++++######+++++**iiii**iiiiii;;i;;;;;;;;;;;;;;:::::,,,,,,,,,,,,,,,,
;;iiiiiiiii****************+++##############zznz++#+**;:;i;;i;;;::;::;:::;;;;;;;;;;;;;:,,,,,,,,,
*iiiiiiiii**************+++###############zxxxz##nnnz#i,`;;;;:;::::::::::;;;;;;;;;;;;;;:,,,,,,,,
iiiiiiiiii************+#############z####xxn#####++nn+**,`:;::,,:::::::;;:;;;;;;;;;;;;:;:,,,,,,,
iiiiii;iii*********++#########zn###z###zxnz#+##+++#xz***i`.,`    ``,:::;;;;;;;;;;;;;;;;;;:,,,,,,
iiiiii;iiiii*****++##########nn###z###nxz######+++nn++***:  :,      .:::;;;;;;ii;;;;;;;:;:::::,,
**iii,;iiiiiii*++++########nxn###z###xz#######+++zx#++***;`;ii*;;,`  ,:::;;;;;;;i;:::;;;;;:::::,
iiii.`iiiiiiiii;*++#######xxn###z###n#########++#xz++****;iiii+iii;,` ,:::;;;;;;;;;;:::;;;:::::,
ii;. `;;;ii;,`,*+++#####zxxx###z##z###########+#nx++++**++*iii*+iiii:``,:;;;i;;;;;;;;:::;;:::::,
i,`   `::,.``:+++++++#znxxx###z##z#############nx#++++++z****i*z*iiii;`  `,:;i;;;;;;;;:::;;::::,
. `,,,..`  `;**++++#zznxxz###z#zz###########++zxn++++++nn#*****#+iiiii;` ```.,;;;;;;;:::::;:::,,
`:i;;;;;` .i***+++###nxn####z#z#############+#xn++++++znnz*****#z**iiii:.i;;;:..:;;;i;::::::,:,,
+*;;;;;. .i****++###nn#####zzz#############+#xx#+++++zxnnn+++**#z*******;;;;;;;;..,:;i;:::::,,,,
*ii;;;, .i****+##++nz#####zzz###############nx#+++++z#nnnn+++++#n#*******i;;;;;;i:.`.;i;:::,,,,,
iii;;:`,i****+++++z####z##nz##############+nx#+++++z#+znnn+++++#n#********ii;;;;i;;:.`,i;:::,,,,
iiii;.,****++++++########n###############+zx#++##+##++zxxx++++++nz+++++****iiii;;i;;;,`.;::::,,,
iiii.,****++++++######z#nz##############+zx#++#++##+++#xxn#+++++nz++++++#++*iiii;i;;;::``:::::,,
*ii,:***+++++++#z#######z##############+zxz++++#z#++++#xxz#+++++nz++++++#+#+iiiii;i;;::, `::::::
ii::***+++++++#z#####z#n##############+zxz++++#z#++++++xxz#+++++nz++++++#+#++iiii;ii;;::. ,,,,::
i,,**+++++++++z#######z######+######++nxz++++z#+++#++++nx##+++++nz++++++z+#+#*iii;;*i;::, ,,,,,,
..*++++++++++z######zzz####+++#######nx#+++#z#++++z++++nx##+++++nz++++++z+#++#iiii;i*i;::`,,,,,,
`i+++++++++*#z######zz####*++#######nn#+++zz#+++++z++++nx#++++++nz++*++#z##++z*i*ii;**i;:`:::,,,
*+++++++++*#z#######nz###**+#######nz##+#z#+#+++++z#+++zn++*++++n#+#*+###z+++#+iii;;ii*ii.:::...
+++#++++#*+#z+######n###+*+#######nz#+#zz##++++*+###+++zn++*++++n#+#*++z#z++###*iii;i;i*i.;::.``
++#+++##+*#z++######z##+*+######zz###zz#+#++###*#+#z+++zz+#*++++n##+*##z###*##z+ii*;;i;ii`i;:,``
+#++++##*#z+*######z###*+######z#+##z#++##++z+++++#z+++nz+#*++++z##++###z+#*#+z+*iii;i;;:`ii;:.`
##+#++#++#z*###z###z##++#####z###zz#+###+#+##++#++zz+++n###++##+z##+##z####*++z+*iii;i;;, :ii;:`
#+#+*##*##+####z###z########z##z#######++++z+#++#+zz+++n+#+++###z##+##z####++#z*+iiii;i;:`.iii;,
##+*+#++#z+###z####z#####zzzzz#########+++z#++++###z#++n+#+#++#zz#+########++#z++*iii;i;;. ,iii;
#+*+##*#z####z#########znzz###########+#+#z++++++####++n+#+##++zz#+##zz#####*##+++iiiii;;:` .:ii
+**###+#####z######zzz################++#+#+++#+#z+##++z+#+####n#####z######+###++*iiiii;;:.` ``
**+########zz#zzzzz######z############+#+;#+++#+z#+######+++#+zz+###zx######+###+#+*iiii;;;;;;;;
**####z###zn############z##############*,++++#z#z#+##+####+#+#n###+znxz#####+###+##+*iii;i;;;i**
**###zz##zx############nz###########+#+,,z+++z#z##+##+z+##+###n+###nxxn#n#######+##++*i*iii;;;i*
*+zzzz##zxz###########zz##############,.*#++#z+x+#+##+z++#+#+z##+#zzxxn##x###########+**i;**;;;i
*+zzz###xx###########z#z#z###########:.,z+++###n+#+####++++##z+#+zz#xxn##Mz##########++iiii+i;;;
*#zzz##xxz##########zzz#z########z##;..iz++#z#z#;++#+z#+++##z####n###xx##xx###########+i*ii*+i;;
*#zzz#xMn###########z#z#n#########zi...z#++z#z#ii++++z++##+z####z###+xx##xxz###########i*ii*+*ii
*zzzzxMx###########z#zznz######z#z+...;n++##z+#,*+++#z++#+###+zz###z*nx##xxn#######n###i*iii*+*i
+zzzxMxz##########z##zzx######z#z#:.,.zz+###+*#,+++#z#++##z+#nn+###z*zx##xxxz######nz##i*iii*+**
zzzxMxn##z########z#zzxn######zz#*...;x#####;;#,#++zz+###z#zxxz####z**x##xxxn######nn##i*iii*+**
#zxxxxz#z########z##znxz#####z##+,..,zn+###i.;*,#++n#++zzzxnxx#####z;;x#z#xxx######nx##**iiiiii*
+xxxxnz#########z##zzxn####zz###:...*x#+##*..i*,###z+#nxxn#nxx######,:x#z*xxxz#####xxz#**iiii;:*
#nMxxz#z#zz####zz##zxxz#znz####*...:xn###+,..;#:##+##xxn###xxn#####*.;n##izxxz#z###xxz#*iiiii;:;
#nMxzzzz#zzz###z##zxxx#zz#####nni,.*xz###,...:#:##zz######zxxn+###z,.;z#i;+Mxn#z###xxn#*iiiiii;,
zxxxzzzzzzzzz#zz##nxxz#######zxxMx+xn###:....,#iz##+###z##nxxz####+..i#z:,*Mxx#zz#zxxx#*iiiii;;,
zMxnzzzzzzzzzzz##zxxx#####z#zi:i#xMxz##:.....,#*#+####zz##xxx#####:..*##,.;xxx##z#zxxx#*iiiii;;:
nMnzzzzzzzzz#zz##xxxz####zz#+....ixn#z#.......###+#z##zz#nxxx#####..,+#nnxxMxxz#z#nxxx#**iiii;;;
nxz#zzzzzzzzzz##zxxn####zn##,...:zxz#nM#,.....+####z##nz#xxxn####i;#Mn#Mx#izMxz#z#nxxxzi*iiii;;;
xn#zzzzzzzzzzzzzxxxz###zx#z:...,*nnz;:zM*.....+z###*##xzzxxxn####zMMnzz;...#Mxn#n#xxxxziiiiii;;;
xz#zzzzzzzzzz##nxxz###zxzzi....i#xn:..:zn,...,#n##**##xzxxxxz###xMx#;#+....*xxn#zzxxxnzii*i*ii;;
xz#zzzzzzzzzz#zMMn###zxn#+....;ixn;...,*ni,..;#n##,+#zxnxxxnz##zM#,.iz:....;zxnzznxxxnz*iii*ii;;
nz#zzzzzzzzzzzxxn###zxxz#,...:izxi.....:*+;.,+#zz*,##nxxxxxzz##xi...+#.....;+Mnzznxxxx#*ii***i;;
nz#zzzzzzzzzznxxz#znxxzz;...,i*x*......,i*;.:###n,:##xxxxxxz##z*...,z;.....;*Mnz#xxxxx#+*ii*+i;;
zz#zzzzzzzzznMxzznxMMnz*;:::i;x*........,i:.*###*:i#zxxxxxnz#z+....i#......i*xnz#zxxxx#+**i*+*i;
nz#zzzzzzzzzMxnxxMMMnz#i:,,,,n*..........,::###i.;+#nxxxxxzz#z,....z:......i+xnz;+Mxxx#+*ii*++*;
zzz#zzz#zzzxxxxMxxMxz+:i#znxMMxxz+;.,......+##i..:n#xxxxxn##z*....i+.......:zxn*.;Mxxn##*i**++*i
nznzznnnnxMMMMxxxMxnxxWMnxMMMMMMMMWzi#;:,.i##i...i#nxxxxxzzzn,...,z::::,..,:xx#..,Mxxn##****+++*
nnnnzzzzznMxxxxxxxxMMzi:ixMxxxnxxzMMz:++i;##;....##xxxxxnz##+..::*i;;:::,.,iMn:.`.xxxn+#**ii++**
nnnnxnnzzxxxxxxxxxMn;::;MMxz##+;i+iMW#,*+z+:....;#nxxxxxzz:#:,*+*zxMMMMMMnznxii,``zxxn#+iii*++**
nnnnMn#zMxxxxxxMn;+;::,#WMznM+`  ..;xWi:n#,.....+#xxxxxn+,:#,+i:xMMMMxx#;*#xxx+;``+xxx#+iii*+**i
zznMMnzxxxxxxxMz:.,::,`zMxzWMn`   `,;nM*,+:....,#nxxxxx+,.*:*;:xMxMxz*:;..##:*xn.`;xxx#+iii++*ii
:,inMnxxxxxMMM#,..,;,` nMnxWWx.  ..,::x#.:i....;zxxxxxz,.,*;i.nM+Mx+;`  `;*,,,,+:`,xxx#*ii*+**ii
:.,inxxMMxMMM*....,+. `xMnMWWM+.,z,.::;x:.:,...#xxxxxz,..;:;.iMizMzM*    `.,,,:..`.xxx#iii***ii;
+*zxnxMMMMMxz......+.``xMnMWWWzizM, .:,i*.....;xxxxx#,..:::..n+,MnMMz`  ,  `.,+.``,xxn*ii***iii:
,:,,,nxxMMnz+......i; `xMnnWWM*+xM.``.:,*....,nxxzx+...:,,..,n:;WnWWM+.:+    .#,``;xx#*i*+*ii;;,
::*,:#MMnzzzi......,+``nx+#nn#*nMn`  `,.,...,zn#;+*..,:,....;:,*MnWWMx*n*    .+.``*xni*i**ii::;.
#*#;;+Mxzzzzi.......*: +i,#zn#nxMi    `..,,;+*,.;:..::......,,`#MnWWWz*x:    ;;```zx+**i**i:.:;.
:##+,;MMzzzni.......,*`,#zxnnxxMx.  ` `..:::,..:,............. #MnxMx*#n` ` `i.``,xni**i*i;..:;.
:***i,xMnzzni........,:`*MMMMMMx,    `.......................` *Mnzz#zM*    ;:```*x+***i*i:..::.
#+i*+,nxnzzn+,........,;,#MWWMz,  `.,............,,..........` ,n:#nnxx.   .*````zni****ii:..;:.
###**;*Mx#zzz,.........,*;:ii,.,i;i;,...........,i*..........`  i*xMMM;   `*,```,n+*****i;:.,:,`
##z+**;xxzzzz;...........:+##++*:...............;*+,..........```*xMxi   `i,.```#z*****ii;:..,.`
##zn*#,zMnzz++.................................,++#,..........,*:,:i:```:;,..``iz*i*iii,:;:..,``
#znn##.iMxz#+#,....,...........................;#*#:............:i++*i**,....`,z:*iiii,.,;:...``
###nn*.,zxz#zii................................++*+;..............``````....`.#,:iiii,.``,::,```
###+n+..;xx##+;,..........,...................:+*++i.......................`,+, ;ii;,````.,:.```
###++x;..+Mz#z:;..........,..,................i*+*#i.......................:i.``iii,```````,.```
####*zn:.,zx#z*,:,........,..,................*****:......................,,````i;;.````````.```
####+**+;.:nz##..,.............................:;i;.........................`  `;;;.````````````
#####****..:n#z;..........................................................```  `;;;,````````````
#####+**;...;z#+.........................................................````  `;;::``````````` 
######;,.....;##:........................................................```   .,;;:`````````   
#####z#i,.....;zi.......................................................````   ,..::.```````  ``
######n#*:.....:*,.....................................................`````   :...:,`````   ```
z#####znz#:..,..,...............................:,.....;:..............````    :......``   `````
z######znn+*ii,.................................,:....;i..............`````   `:.....`   ```````
z#######zzz,..........................................,...............`````   .....`  ``````````
#######+#zz#,.........................................................`````   ,..```````````````
#z#####++zzz+.........................................................````   `, ``....``````````
zz#####+++zzz:.............;.........................................`````   .``........````````
nz#####++++#z*.............*#;,,..............`.`....................`````  `,...........```````
nz######+++*;#,............:xz++***ii;;;::::::;*i;::,,..``.........`.````   .,............``````
nz####++++#::#i.............n,,` `````,:;;;;;;;;;;;;iiii;;:,,,....``.````   :..............`````
nn##++++++;:+++,............+*.  `` ``` ` ```````````.,,,:;;;iii;.``````   ,:...............````
znz++++++i,+++#i............:nz+;;:`````````` `````````   ````.zn:`.````  `:.................```
znz+++++*,*+++++:............#+.   ````````````````  `````.```.n:`.````   .,....................
zzn#++++,i++++*#i............,;`   ``````````   ```````` `:;;;;;```````  `,.....................
zzn#+++::+++++*++;............,i.  ``````````````````````````,:..`````   ,,,....................
nzz#++i,+++++++i+i:.............:;,.``````````    `    ````.;;.`````````::.,,,................``
nzz#++.i++**+*****;,...............,.``....,,,:,::`````:;::,.````````` ::.,,,,..........,..`````
nzzz+:.++++*+i:*;*;;.....................,,,,,,,,..........`````````` ,;.,,,,,,.......,..```````
nzzz*`;#+++*+i,*;;;i;.......................................`````````,;,,,,,,,,......,.`````````
nzz#:`*#++#*+*,;i;;;i:.....................................`````````,;,,,,,,,,,.......``````````
n###.,+##*##**i;i;;;ii:.......................................`````:;,,,,,,,,.........``````````
n###.:*##*##+:,,i;;;;ii:..................................``````` ,;,,,,,::,,,..,,,.,.``````````
z###`;*##*+#+:,.;;;;;;i*;..................................``````,:,,,,,:::,,...,..,,```````````
z##+`;*##*+#+:,,,;;;;;;i+;...............................`.`````::,,,,::::.,,..,.`.,,```````````
z##i i*##++##i,,,;;;;;;;;+*:...............................````;:,,,,::::,..,..:.`.,,```````````
z##; i*##+###+:,.;;;;;;;;;**;.............................````;:,,,,:::,...`:,,:``.,,```````````
###, i*#####*+i,,:;;;;;;;;;i+i,..........................````;,,,,::::,..`.`,..:``.,.```````````
#++` ;*####+;i*:,,i;;;;;;;;;;*+;........................```.;,,,,:::::`...`````,``.,,```````````
#+i  ;+#####;,:;,.;;:;;;;;;;;;i+i:......................``,;,,,::::::......````.```,,,``````````
++:  :+#####*:,,..:i;;;;;;;;;;;;ii;,...................``,::,:::::::,......````.```.,,.`````````
++.  :+#####+:,,,.,;;;;;;;;;;;;;;i#*;.................``,::::::::::,..........`.````;;:,.......`
+*  `i+#####+:,::::;;;;;;;;;;;iiiii++i:..............``,:,::::::::;.............```.:iii:.......
#;  .*######+;:;,,,,i;;;;i;;;iiiiiiiii*i:...........`,:,,,::::::,;,.............```..;iii,......
#: `i*#######+*;,:;;i;;;;;;;;iiiiiiiiiiiii;,.......,;:,,,,,::::,::.............,,``..,iiii......
#: ,**########+;:i;;ii;;;;;;:;iiiiiiiiiiiii+*i::;;;::,,,,,.:,,,,;,:,............:.....:iii:.....
#, ;**#######+i:,i;;;i;;;;;;;;iiiiiiiiiiiiiii****iiii;:,,,`:,,,;:++*;...........:......;iii.....
#.`***##i####+;,,;i;;i;;;;;;;:;iiiiiiiiiiiiiiiiiiiiiiii:,``,,,,;;*i,::..........:......,iii:....
#`.***##;*####i,,,i;;;i;::::;;:iiiiiiiiiiiiiiiiiiiiiiii;.``.,,i,*i,..i..........:.......:iii....
+`:***##;i####i,.,:i;;i::::::::;iiiiiiiiiiiiiiiiiiiiiii:````.:;;i,...;,.........,:.......;ii:...
+ i***+#;*##++;,,,,;;;;;::::::;:iiiiiiiiiiiiiiiiiiiiii;.`````;,i,....,*,.........:.......,ii:...
i`**+++#i**#**:,,,..:;;;::::::::;iiiiiiiiiiiiiiiiiiiii,.`````;:,.....,**:........:,.......;i;...
.`**+++#i;i+;i,,,....,:i:::::::,iiiiiiiiiiiiiiiiiiiii:....```:.......;ii*i,.......;.......,i:...
 ,+*#++#+:i+:i,,,.......::,,,,,,i*iiiiiiiiiiiiiiiiii;......`.,.......:..,,;;......:,.......i;...
 ;++#+*+#iii:;,,,........:,,,,,,;*iiiiiiiiiiiiiiiii;.......`,:......,,......:,.....:.......;i...
`+*#*+**++i;:;,,,.....,..,;,,,,,;i+iiiiiiiiiiiiiiii,.......`.;...............,;....:.......:i...
.++#i***+*;:;:,,.....,....,:,,,,;ii*iiiiiiiiiiiiii:.........`;.........,,......:,..,,......:i...
i+#*i***+;::;,,,......,.....:,..;iii*iiiiiiiiiii;:.........``;`.........,.......::..:......,i...
#+#;i***i:::;,,,,.....,,.....,..;iii**iiiiiiiii:,...........`;..........:........::.:......,i...
##+;i***;;;;;,,,.....,,,,....,:,;iiii*iiiiii;:..............`;.``.......:.........,::.......i...
##i;i**;;;;;;,.......,,........;*ii;;i*ii;:,................`:.```,,....:..........:;.......i...
#+;;i*i;;;;;;,.......,,,........,*i;,.,,....................`,,```:`..`.,...................;...
#+i;**;;;;;;;,.......,,,..........;*:`.,....................`.:``,,````.,`..................;...
++i;*i;;;;;;;:.......,,,...........:i,`.....................`.,,`,.````.,`..................;...
++ii*;;;;ii;i;......,,,,,..........,;*:.```....................;```````.:`..................;...
++iii;;;;i,,,:......,,,,,,......,*+*..:;i;:,.................`.;````````:``.................;,..
*+ii;;;;;:...,,.....,,,,,,......+***.......:;................,,;````````:`..................:,..
i+*i;;;;i,....:.....,,,,,,......#***;........:..............,:.;.```````:`..................:,..
i+i;;;;;;,....,,....,,.,,,......+****:........:............,;``,,```````:``.................:,..
;*i;;;;;:......:....,,,,,,......+*****,...`...;`...........;..``:```````:``.................:,..
;*i;;;;;,......,....,,,,,,,,...,+*****;...i:``;`.........`;...``,,``````:`..................:,..
;;;;;;;,........,..,,,,,,,,,...;+******..;:;.`;`..........;...`..:``````:`..................:,..
;;;;;;,.........,..,,,,,,,,,..,+*******:.*:i.`;`.........,,...`..:``````:`.............,....,,..
;;;;;,...........,,,,,,,,,,,..i+*******i.*:*..;...............``;.``````:..............;....,:..