##+###+##z###+##z####zz##*iiiiiiiiiiiiiiii;;ii;;;;i;;ii;::;;;;;:;:::::;;;ii;i;::::::;i;ii;::::;i;:::::;;::::::::::::::;:::::**ii**::,:::;:::::,,,,,,,:
#*i*i+iiiz+*+*i;#ii#++#+**iiii*iiiiiiiiiiii;;i;;;;;:;ii:::::::::::::::;;i;i:;:::::::;;;iii:::::::::::::::::::::::::::::::::;##ii##;,.:,,:,,,,,,,...:,,
zz#zz#zz#zzz##++##+#+zz+*****i*ii****ii*iii;;i;;;;i;iii;::;;;;:;;::::;iiiii;i;;;:::;;iiiii;:::::::::::;;::::::::::::::;:::::i*ii**;;:::::,:,,,:,,,,,,,
####z###++#+##+#####+##*iiiiiiiiiiiiiiiiii;;;;;;;;;;ii:::::;;:::::::::iii;i;;:::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,,,,:::,,,,,,
###zz###+#z##++++#++###*****ii*ii*ii*ii*ii;;;;;;;;;;ii:::::;;:::;;::::ii;;;;;;;:::::;;;;;i::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,::,,,,,,,
*+#######zz#z#########+i*iiiiiii;iiiiiiii;;i;;i;;;;;ii;::::;;;;;;:::::iii;;;ii;;:::;;;;;ii::::::::::::;;::::::::::::::;:::::;::::::,,,,,,,,,,,,,,,,,,,
iiii**+++##+########++iiiiii;iii;iiii;;i;;;;;;i;;;;:;;::::::;;;:::::::;i;;i;;i;:::;;i;;;ii:::,::::,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
******##+#++######z###****i*ii*i;iiii;;i;;i;;ii;i;;:;;;::::;i;;:::::::;ii;i;;i;;;;;;;;;iii;:::::::::::;;:::::::::::::;;:::::::::,,,,,,,,,,,,,,,,,,,,,.
iiiiii*#**iii*+zz####*iiiiii;;i;;iii;iiiiii;;;iii;;::::::::;;iiiii;:::;i;;i;;;;;;::,,:::::::,:::::::::::::::::,:::::::::,,,:::,:,......,,,,,,,,,,,,,,.
**ii*i*****i*+MMMxMMMn*i*iii;ii;;iii*#######*;;i;;;::::::::*xMMMMx#z:::i;;i;;;;;::. ```   ,:,::::::::::::;;;;;,*i;:::::,:,::::::`,::,,;..,,,,,,,,,,,,.
iiiiiii*iiiiizMMz;*xMM*iiiii;;i;;;ii+######+#:ii;;;:;;;;:::#xxzxxx#@::;iii;;ii;;::  i**:  `:,:::::::::;;:;;;;;,ii;:,,,,,,,,::,,,.;;:::ii`....,,,,.....
iiiiiiiiiiiiizM#ii*#xM*iiiii;;i;;;;;+;:+#+::+:;i;;:::i;::::+zxz#xx##::;i;;i;ii;:::  ***i; `:,::::::::::::,,.,,,,,,:,,:,,,,,:::,,.:.:::::....,,,,..,,..
**i**i**i**i*nM#**+zxM*i*iii;;i;;;;;i`*;+i;,i;iii;;:ii;::::+zxn#zx##::i;i;iiii;;::  *iiii `:,:::::::::;;:i*,*i:;i;:,,,::,,,:::,,:*,+*ii+..............
iiiiiiiiiiiiizMx#++#xM*iiii;;;;;i;;;i,n:+;z;;:;;:;;;;::::,:*zxnz#n##::ii;;;;i;::::  *:::i `,,:::::::::;;;**:*,;,ii,,,,:,,,,:,:,,:+,+i*;#..............
iiiiiiiiiiiiizMz#+++nM*iiii;;;;;;;;;+,,***,.+::::;;::::::::i+xnz#n##::;i;;;;i;::::  *:;:i `,,::::::;;;:::*+:i;*i;+:,,::::,,:,::,:+,*+zi#..............
iiiiiiiiii;;izMM#*+nMM*iiii;;;;ii;;;+########:;;;;;:;::::,:i*zxzzz#@,:;ii;;ii;:;::  *iiii `,,:::;;;;::::,*+:*,;,++,,,,:,,,,,,,,,:+,#ii*z..............
iiiiiiiiii;;i+MMMnxMMniiiii;;;;;;;;;*#######+::::::::::::,:;*+zz###x,:;i;:;;;:::::` ,,,,. .:::::;:::::,::i+:++*+#i:,,:,,,,,::,,:.i:####;..............
iiii*ii*ii;;ii+zznnz#**iiii;;ii;;iiii******i;;::::::::::::::;****i+:::;i;;;;;;:::::,....,,::::::;:::::::::;:ii*i;::,,,,,,,,,,,,:,.`````...............
;;;;iiiii;;;;;;ii*+*iiiiii;;;;;;;;;i;;;::::::::::::::::::::;:::::::,:::i;::;;::::::::::;;::,,,:::::::::,,,:,,:::::,,,,,,,,,,,,,:,,,,..................
;;;;;;ii;;;;;,::::i:::;iii;;:;;;:;;i;,,.,,..,::::::::::::,::,,,:,,...,:i:::::::::::,,,,,,,:,,:::::::::::.,,,,,,.,.,,,,,,,,,,:,,:,..,..................
;;;;;;;;;;;;i;i*****i*iiii;;:;i;;;;ii;::;;:,:::::::::;::;;ii;;;;::::::;i;;:;;;::::;;;;:::::,,,,:;::::::,,:::::::,,,,,,,,,,,,,,,:,,,,,,,...............
i;;;;;;;;;;ii;;iiiiiiii;;;;;:;i;:::;i:::::::::;;:,::::::;;i;;;;i;::::::i::::::;::::::::::::,,::::::::::,,::::,:,:,,,,,,,,,,,,,,,,,,,..................
i;;;;;;;;;;ii;;*****i*;;;;;;:;i;;:;;i::::::::;ii;;::;:;;;;iii;;;;;::::;i;::;i;;::::::::::::,,::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,..................
iiiii;;;;i;ii;;iiiiiii;;;;;;:;i;:::;i::::::;;;i;;;;:::;;;;iii;;;;;;;::;;:;;ii::,,,::::::::,,,,::::::::,,,,,:,::,,,,,,,,,,,,,,,,,,,,,..................
ii;;;iii;;;;i;;iiiiiii;;;;;:::i:::::::::,:::::;i;;i;;;;::;;i;;;;;;;;;:;;:;;;;::,,:::::::::,,,::::::::::,,,:::::,,:,,,,,,,,,::::,,,,,,.................
iiiiiiiii;;;i;;iii**ii;;;i;;:;i;;;;;;::,:;;;;;iii;ii;ii;;;iiiii;;;;;;;;;;::;;;:,,,,:::::::,,,,::::,::::,,,:::::,,,,,,,:::::::,,,,,,...................
;i;;;;i;;::;ii**++*ii;;;ii;:::i:::::,````` `:;;ii;;;;i;::;;ii;ii;;;ii;;::::;:::,,,:::::,::,,,:::::,::::,,::::::,,::,::::,,,,,,,,,,,,..................
;;;;;;ii;;;;i+;;:+ii;i;;;i;;:;;:::::.       `;;ii;;;;i;;;;;ii;;;;;;;ii;;:::;::::,,::::::::,,,::::::::::,,:::::::::::::::,,,,,,,,,,,,..................
:;;;;;;i;;;;i#ii;+i:ii;;;i;;::;:::::`        ;;iiiiiiii;;;;iii;;;;;;;i;;;::::::,,,:::::::,,,,,,:::,,,,,,:::::::::,,,,,:,,,,,,,,,,,,...................
::::::;;::::;#;::+iiii;;;i;:::::::::`        ;;;;;;;ii;;;::;;;ii;;;;;i;i;::::::,,,:::::::::,,::::,,::::::::::,,,,,,,,,:,,,,,,,,,,,,,..................
:;;;:;;i;::;;+###;iiii;;ii;;::;:::::`        ;i;iii;iii;;;;;;;iii;;;;;;ii;:::::,,,:::::::::,,,::;::::::::::::,,,,,,,,,:,,,,,,,,,,,,...................
::::::;;:::::#nnn#;ii*;;i;;:::::,:::`        :::;;;;:ii;;:::::;;ii;;;;;iii;;:::,,,:::::::::,::::::::::::,,,::,,,,,,,,,:,,,,,,,,,,,,...................
:::::::;:::::#+;*#;*;*;;ii;:::::::::`       `::;;;;;;;i;;;:;;:;;iii;;;;iiii;:::,,:::::::::::::::::::::::,,:::,,,,,,,,,:,,,,,,,,,,,,...................
::::::;;;:::;+zzz#;*;+;;ii;:::::::,,.       `:;;;;;;;;i;;;;;;;:;iii;;;;;iii;;:,,,,,::;:;;;::::,,:::::,::,,,,,,,,,,,,,,:,,,,,,,,,,.....................
:::::::::::::;#zz+*i*i;;i;;:,:::,,,:,```````,::::;;;i;;;;;::::::;;;;;;;;;iii;:::,::::::::::,,::::,,::::,,,:::,,,,,,,,,:,,,,,,,,,......................
:::::::::::;;;;i;iiii;;;ii;::::::,,::;::;;:;::;;;;;;i;i;;;;;;;:;;iiii;;;;iiiii:::::::::::::,,,::::::::::,,:,,,,,,,,,,,:,,,,,,,........................
:::::::::::,:,,,,:,:,,::i;;:,:::,,,:::,,,:,:::::::;;i;i;;;;:::::;;;;;;;;;;ii;i;:,,,,::,::::,,,::::::::::,,:,,,,,,,,,,,:,,,,,,,........................
:::::::::::::::;::;;;:::i;::::::,,::::::::::::::::;;i;i;i;;::::::;;;;;;ii;iiiii;,::::::::::,::::::::::::,,::,,,,,,,,,,:,,,,,..........................
:::::::;::::;;;i;;ii;;;ii;;:,:::,,::;:;:;:;;::;;;;;;iiiii;i;;:::;;;;;iii+iiiiii;:,:::,,::::,::::::::::::,,,,,,,,,,:,:::,,,............................
::::::;;::::::;;;;ii;;;i;::,::::,,,::::::::::::::::;;;;ii;;;:::::;;i*;::*iii;iii::::::,,::,,,,::,:,,:::,,::,,,,,,,,:;:,,..............................
:::::;i;:::::;;i;iii;;ii;;::::::,:::;;;;::;;::;;;;;;ii;i*;i;;:::ii++#i:,;i;ii*iii::::,,:::,,::::::::::::,,:,,,,,,,::;;,,,.............................
:::::;i;::::::;;;;ii;;;i;::::::,,,::::::,::::::::;;;;;;iii;;:;;;i+##z*;::;;;;iiii;;::,,,,::,::::::::::::,,,,:::;*iii::,...............................
:::::;i;::::::;;;iii;;;i;::::::,,::::::::::::::;;;:;;i;i+i;;;;;i+**#z+;::;;;;iiiii++::,:::::::::::::::::,,,:::;iii;;:,,...............................
::::;;i;:::::;;i;iii;;ii;;::,::,:::;;;;::;;;;;iii;;;ii;i**;;;;;i#::+z#;:;;;;;iiiii++ii:,,::::::,:::,,:::,,,::;iiii;;;,................................
::::;:;::,,:::;;;;ii;;;;:::,,:,,,,::::;:;;;;:;;;;:;;;;;;**;;i:,;+ii+#+;::;;;;i;iii*+i+;:::,,:,::,,,::::,,,,::;i;ii;;;,................................
;;;:;;;;::::;;;;;iii;;;;;:::,::::::;;;;;ii;::;*##+++iiii*#**:..:*#++#*;:;;iiiiii**+*i++;,::::::,::,,,::::::::ii;i;::;:,...............................
:;::::::::::::;;;;i;;;;;:::,,:,:::::i:;;;,...,*####*:*i*#+*:,..,i*#++i;:;;ii;;;iii+ii+#*:::::::::::::::::::::;;;;::::;:,,.............................
:;::::::::::::;;;;i;;;;::::,::,:::::;;;i,....,*####+:i::ii;:,,,,:iiii;:;;;;;;iiii*+ii+#+:::::::::::::::,,::::i;;iii:,:::,,,...........................
:;;:::::::::;;;;;iii;;;;;;::::,::::;;;;;,....,i#z#zz+i::;;;;,,,,,:::;:;;;;;;iiiii+**i+##i:::,,,:::,,,:,,,,:::;;iii;:::;;:,,,..........................
:;;:,:::,,,::;;;;;ii;;;;:::,,,:,:::;;;;;,.....:+####i;::;;;i:,,,,,:,:;;i;;;;;i;ii+iii*#+#;,,,,,,,,,::::,,,:::;;i;;;:::;;:,,,,,........................
:;;:::::::::;;;;iiii;;;;::::,,:::::;;;;;:.....,i#+#*i;:;;:;i;;::::::;;;;;;;;iiii*+i*i*#++*:,,,,::,,::::,,,:::iii*i;;;ii;;:::,,,.......................
:::::::::::::;;;;;i;;;;:::::,,:::::;i;;;;,,...,:;;;;::;;;:;:;::;;;;;;;;;;;;;;iii+*iiii+##z:,,,,,:,,,,,,,,:::;iiiii;;:ii;;:::::,.......................
:::,,,::::::::;;;;i;;;:::::,,,::::;;;;;;;:,,,.,,,::,::;;;::;;;;;;;;;;;:;;;;;;iii+iiiii++##*,,,,:,,,,:::,,,::;;;;;:::,::::,,::,,,,,....................
,::::::::::::;;;;iii;;;;::::,,::::;iii;;i;:,,,,,,,,:;;;;;;;;;;;;;;;;;;;;;;;;iii*+ii*i*#+zz+;,,,::,,,,,,,,:;;+##+#i:::::,,,,,,,,,,.....................
:,::,:::,,,::;;;;;ii;;;;:::,,,,:::;;;;;;;ii;:,,,::::;;;;;;i;;:;:;i;;;;;;;;;;;ii+ii;ii*#+##+i,,,,,,,,::,,,::i+##+*::,,,,,,,,,,,,,,,,...................
:::::::::::::;;;;iii;;;;::::,,:::;;i;;;;;i;;;;;:;;;;;;;;;::,,,,,:::;;;;;;;;;;ii+iii*i*#+##++:,,:::,,,,,,,:;ii**ii;;::::::::::::,,,,...................
::::::::::::;i;:;;ii:;;:::::,,:::;;ii;;;iiii;;:;:::::;;,,,,,,,,,,:::;;:;::::;i**;iiii++###++:,,,:,,,,,,,,,,,,,:;;;;i;ii;::::;;:::,,,..................
,::,,,:::,,::;;;;;ii;;::::,,,,::;;;ii;;;;ii;;;;;;::;::,,,,,,,,,,:::::;;;;;;;;i*i;iiii+++##++;,,,,,,,,,,,,,,,,,:;i;;;;;i;;:;ii;,,,:,,..................
::::::::::::;;;;;;ii;;::::::,::;;;;iiiiiiiiiiiii;;;;,,,,,,,:::;:;i;;:;;;;;;;i**;iii**#z##z##i,,::,,,,,,,,,,,,:;iii;;;;;;;::i;::,,,,,..................
,::,,,::::,:;;;;;;i;;;::::,,,,:;;;;ii;;;;ii;;;;;;;;,,,,,,:;:;;**++**;:;;;;;;;*;;iiii*##++#+#+;:,,,,,,,,,,,,,,:;::;;;:,:,:::;:,,,,,,,,.................
::::::::::::;;;;;iii;;:::::,,::;;;;ii;;;;ii;;;ii;;:.,,:::;i*++*i;;;:,;;;;;;ii*;i*ii*++##+#+###+;:,,,,,,,,,,,,;;:::;i;::::::;::,,,,,,,.................
::::::::::::ii;;i;ii;;::::::,::;;;i;i;;:;;;;;;;:;:,,::;i****;:,,,,::;i;;;:;;**;iiii*+#####+#####*;,,,,,,,,,,::;:::;i;:::::;;::,,,,,,,.................
,:,,,::::,,:;;;;;;i;;;::::,::,:;;;;:;:::::;:::::;,,:;;i;::,,,,,,,:::i;;;;;;i*+++*ii+++#++++++++#++;:,::,,,:::;;::,:i:;:::,:;;:,,,,,,,.................
::::::;;::::;i;;;iii;;:::::;::;i;;;;;;;;:;;;;;;;;,:i;:,,,,,,,,,:;;iii;;;;;i*+*###+*#+###++*+#+#####*;:::::;;;;;;;;;i;::::,;i;;:,,,,,,.................
::::::::::::;;;;;;i;;;:::::i::;;:;;;;;;;;;;:;;:;;,::,,,,,,,,:::;;i;;;;;;;;i*ii+*##+#+##++*iiii*#+##++;:,,,,:;;:;;;;i;:i;:,;;;;:,,,:,,.................
::::::::::::;;;;;;ii;;::::i+::;;:;:;;;;;;;;;;;:;;:,,,,,:::::;;i*ii;;;;;;;i*+:iii++##+##+++***i**++#+#+i:,,:;;ii;ii+*;;;;:::;;;;:,,::,.................
::::::;;;::;ii;:;;ii;;;;:i##;:i;:;;;;;;;;;;::::;;;;;;;;;;;;;*i*i;;;:;;;;ii+i:i*i+#+#+###+++*iii***++###+:,:;;i**+##i;;;;;i;:;;;:::::,.................
::::,::;:::;ii;;;;;i;;;;:i##;:;;;;;;;;;;;;;;;;:;;;;i;iiiiiiiii;;;;;;;;;;;i+i;i++++i#+##+++++iiiiiii*+++#+i:;;;*+#+*;;:;;iii;;;;;:;;:..................
:;:::::;:::;ii;;;;ii;;;i;*##;:;;;;;;;;;;;;;;;;;;;;;;;iiiii;i;;;;;;;;;;;ii*+i*++###+#+#z###++****i***+#+##+i;;;i**i;:::::::;ii;;;:;::..................
:;:::::::::;ii;:;;;i;;;i;i##i:;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*i;+#+###+#+###+#++++*iiiiii**+#*;;;;;;;:::::::::::;;;;;::,..................
;;;::;;;:::;i;:::;ii;;;;;*#+i:;;;iiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*:i***+####++####++#+**iiii***++i;;;iii;::::::::,:::::::::,..................
;;;;;iii;;;i;;:;;;ii;;;ii*##*;;;iiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;iii+i,*ii*######+###z###+#+iiiiiii*+i;;;ii;i;::::::,,,,:::::::,..................
ii;;;;ii;;;;;;;;;;ii;;:;ii*++;;;;ii;i;ii;;i;;i;;;;;;;;;;;;;;;;;;;;;;;i;*+;,*ii*+#++#+++###+##++++++iiiii*i;;;i;;;;:::,,,,,,,,:,,,:,,..................
i*i;;;ii;;i;ii;iiiiii;;;i*+++;;ii*ii*iiiiiiiiiiiiiiiiiii;;;;;;;;;;;iiii#+*;+**+##*##++++####z###+#++++i*+ii;ii;;i;;;;::::,,::::::::,..................
;ii;:;;;;;i;iiiii;ii;ii**+#+#i;iiiiiiiiiiii;ii;ii;;i;;i;;;;;;;;;;iiiiii*;++++#+#+i###+##########+##+#+++*i*i;i;;ii;;;i;:::::::::::,,..................
;;;;::;;;;;;;iiiiiii;ii*+#++#i;iiiiiiiiiiiiiii;iiiii;ii;i;;i;;ii;iiiii;ii*+#+#++i*+#++++++++#######+++++*+#iii:;i+ii:;;;;::::::;;:,...................
;i;;;;ii;;;iiiiiiiii*#####++z*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiiiii*##z##*+####+###++++#z#zz###+###z*ii;;i+#+*ii;;;;ii;;;;;:............,..,...
;;;;;;;;:;i;iiiiii+#++++#+i*++iiiii;i;iiiiiiii;ii;ii;ii;ii;ii;iiii;;iiiiiii++#+##+##+#++##+++###+##+##+##+#+ii::;ii##++**i;;;;;;:;,.........,,,,,,,,..
;;;;;;;;;;;;i;;i+##++++###+++#*ii*ii*iiiii*ii*iiiiiiiiiiiiiiiiiiiiii*ii*ii*+*#+#++##+#z#+#+++#+#++###z##z++#**;::ii*++####+++ii*;;:.......,,,,,,,,,,..
i;;;;:;;;;:;;;*#####+++####+*#+iiiiiiiii;iiiiiiii;ii;ii;ii;iiii;;iiiiiiiiiiii*###+##+####z+++###+########+##++:::;;;;iii*##+#+#*;;:.....,,,,,,,,,,,,,.
;;;;::;;:::;*##+++++++++#++#**+*iiiiiiiiiiiiiiiiiiii;iiiiiiiii;i;iiiiiiiiiiiii*+++##++####+++#+#+++++++++++++*::;;::::;;iiii++++i;:...,,,,,,,,,,,,,,,,
ii;;;;;;;**#z#+++##+#+#+z#+z#**#+*ii*iiiiiiii*ii*iiiiiiiiii*iiiii*ii*ii**i*ii**#+##z##############+###++++##+i;:i;:::::::;;iiiiiii:,,,,,,::,,,,,,,,,,,
;;:;;;;:;*#++*+++###+#++##+##+ii++iiiiiiiii;;i;ii;ii;ii;iii;;;ii;iiii++*++****i+++##+++###+++###+++#*++*+###+*::;::,,,,,,,::i;;:;;;:,,,,,:,,,,,,,,,,,,
;;;ii;;;;i*#+#+++++#++#+##+##+#i*#+**ii*i**ii*ii*i**ii*i*i;iii**i**++*+#++++++++#+##++++##+++z#z+++###+;;i++++;i;;;;::::,,::;;;;ii;;:::::;:,,:,,,,,,,,
:;;i;;;i;i;*########++####+#z##+i*++*iiiiiiiii;ii;ii;ii;;;;iiiii**+++*+#+++++#+######++###+#####+#+###+;,::::;;;*;:;;;;::::;i;;;:;i;;;;;:;:::::,,,,,,,
;;;i;;;;iii*++*#++##++++++++###++ii*#*iiiiiiiiiiiiiiiii;iiii*i*+++++++*+**+++++++++#++++##++####++++##+;,,,,,:;;**i;::;;;::;:;;;;;i::,:::::::;::,,,,,,
iii;;iiiii**##++###++++###++##z##+*i+#+*i**ii*ii*i**iiiii*i+#+##+#++#+**++##+z#++#+#+###zz+#z#z#+###z##i::::::;;i+#+*ii;;;;;iii*iii:;:::::::::;:::::::
;;iii;;ii*+i+++#+##+######+####+##+iii+#**iiiiii*i*i;ii**ii++++#++++#+++*i*++#++####++++#++##++#+++###+i,,::,:;::;*##+**iii;i***ii;::,:::,,,,,:,,,,:::
i+++iii*+#+i++#++####+++#+##++####++*ii+#+#++**++iiii*++++++++##+#++#++#+++++#+++++#+###########+++###++::::::;:::;i*+##+#++#+##+*;;::::::::::::,,::::
;###+i*###+i##+#####++######+########+iii*++##*iiii+++#+##+##+##+#++##+#++####++####+####z######+#+###++::::::;:::::;;*+####z##z*;;;::::::::::::::::::
i++++*##++*i+++##+#++++++++#++#++#++#++*;;iiii;;i*+++++++++++++++++++++++++++++++++#+#####+#+++#+++###+*:,:,,:;::::,,::;i*++#+++;::::,::::,,:::,,,,:,,
+*##++#++#+i#####++##z#+##+##+###z######*iiiiii*#+##+##+##+##+##+##+##+#++#+*#+++#+###z##z#z#++###+####+::::::;:::::::;::;*i*ii;;;;;;;;;;:::::::::::::
#+ii+i*#+#+i+#+#+###+#+###+####+###+#+##+*i**i++#+##++#+##+#++##+#++##+#+*+*;#++#+##+#####++#*##+#+###++:::::::::::::::;:::;;;;;;;;;;;;;:::;::::::::::
+#++#+++**+++#++###++##+##++++#+#####+##++++++++#++#++++##++++##+#++##+#++#++#++++########+++*+###+###++:::::::::::::;;;;;;;;;;;;;;;;;;;;::;;;::::::::
+#++***ii+####+*+###+#####+######z#########+##+##+##+##+##+#####+#####+#+#####+++##z##z###+##*#z##+###++::::::;:;;::;;i;;;;ii;;;;ii;;;;ii;;;;;:::::;::
#+iii;;*+##+++++++++*+++++*++++++#+++++#+++++++++++++++++++++++++++++++++++++++++#+#++#++++++*+#++*+++**::::::::::::;:;;;;;;;;;;:;;;;;;;;;;;;;;::;::::
#*;;;;;+####*i;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;ii;;;;i;;
++;;ii*#+##i;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*++*iiiiiiiiiiiiiii;;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;ii;;;;i;;
+#+#+++#+++;;;,,,,,,:;ii;:,,,,,:;iii:::::::;iii;::::::;iiii:::::::iiii::::::+*+*i;::::::;iii;:,,,,,,::::,,.``````.,,,;znz#zn#:,,,.``````.,,;;i;;;;;;;;
i***++####*;;,..,....:ii:..:,,:i,ii;,,::,,,,iii,;:ii*,,;ii:;:::;:;:ii:::;:,,*++*;,.,:,,i:iii,,.:.,,.,::::,  `:;.  .,,xM*.:.+Wz,,. `,i;.` ,,:iii;i;iii;
;;;iiiiiii;;;..`.....:ii,,,,,,;+,ii:,:ii,,,,ii;,i;*++`.:ii,*;#::;*:ii:::*;,,,;ii;....,,+:;ii,,.:.,:.,::::, .+###; `,,Mi.``.`*x,,``*+**;: ,,,;;:;;;;i;;
;;;;;;;;;i;;;........,ii,;;....,,;;:,,,,,,,,;i;,,,,,,,,:ii,,,,,,,,:ii:,,,,,,,,ii;:i,,,,,,;ii,,.:i#,.,::::, ##iiii``,,n..`,``.n,,`.+##+*; ,,::;;;;;iii;
iiii;ii;;;;;;........,ii,::,....,;;:,,,,,,,,;i;,,,,,,,,:ii,,,,,,,,:ii:,,,,,,,,ii;:;,,,,,,;ii,,.,;;,.,::::,`z+**;;.`,,#,``;``,#,,`;*n+n#i,,,::;;;;;iii;
;;;;;;ii;;;;;........,ii,.,.....,;;:,,,,,,,,;i;,,,,,,,,:ii,,,,,,,,:ii:,,,,,,,,ii;,,,,,,,,;ii,,,.....,::::, z#;i;;``,,z``,,```z,,`:+#nn#*.,,::::::;;i;;
ii;;;iii;i;;:........,ii,.......,;;:,,,,,,,,;i;,,,,,,,,:ii,,,,,,,,:ii:,,,,,,,,ii;,,,,,,,,;ii,,,.....,::::, ;zz#;: `,,M;`:.``;x,,`.i*+#i; ,,::;;:;:;;i;
;;;;;;ii;;;;;........:ii,.......,;;:,,,,,,,,iii,,,,,,,,;ii,,,,,,,,:ii:,,,,,,,,ii;,,,,,,,,;ii,,,.....,::::,  :#i,` .,,Mx;.,.:Mn,,` :;;i;. ,,:;;;;;;:::;
;;;;;;i;;;;;;:......,;ii;,,....,:;;;,,,,,,,:iii:,,,,,,:iii;,,,,,,,;ii;,,,,,,,;iii:,,,,,,:iii:,,,...,::::::.      `,,,*MMz#zWMi,,,`  ,`  .,,;;;;:;;:;;:
i;;;;;i;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i;ii;;;:;;:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;ii;i;;;;;
ii;;;iii;;;ii;;i********+**;;::::::;;**++++*+++++*++++++++++**++*+**+*******++++++++++++***++*******;;;;;;;;;;;;;;::::::,,,,:,,,,:::,::::ii;;;;;;i;;;;
;;;;;;ii;;;;i;:;#+######+*i;;;;;;;;;;i+#++#++#++#+##++#+##+##+##+#+++####++#+#+##++#+#####+#+###+++i;;;;;ii;;;;ii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
i;;;;;;;;;;;i;;;*###+##**i;;;;i;;;;;;i##########################+###+++#++###z#####z#####z##+++#+++;;i;;;;i;;;;ii;;;;;i;;;;;;;;;;;;;;;;;;;i;;;;;;:i;;;