######[[(|_|*=I)II))I(*=(=^/=()[#I=*I([I):~~||||||
++++====+\|\+II8800#)=I0#:~~~|\\\*(=[I*=+_~~|||||~
+++++=+++^^\|I**==([)(+_::::::___~~~^#~~|~||||||||
**((III][[[[[[[###[^~~__::::__::_~|||][==**(III*~I
@@@@@@@@@@@@@0[##0+~~~_:::~^+|~~_:__~~[((****\~~~~
@@@@@@@@@@@@@8=#[[I__~_~|\=(**+||~_::_~####88888][
@@@@@@@@@@@@@0#\=]#\~+I)*(((***=++|~__:@@@@@@@@@0@
@@@@@@@@@@@@@0@([]@*)00[[I***=====+^|+(@@@@@@@@@@@
@@@@@@@@@@@@@@@*8@0#8[(()*^|^=======*0@@@@@@@@@@0@
@@@@@@@@@@@#0@0@@@#@I*=^^||\||====**8#@@@@@@@@@@0@
#@@@@#8@@#I[@0@@@@00(*=+\|\~|\^*==*8[(@@@@@@@@@@8@
08##[I))*++##I8@@##[(*==^\\\\+=+^+*#I^#[[[[[[][[00
80#I*=~~:~^**=*#[)II(*==+^+=*=*\[[[#I|80@@@@@@@@#[
8#]II*|:::_\\\|***(**=++^\=**=[##8@@#~@@@@@@@@@@[I
)(III+|~:--_|||~+===++|\\||+**0@0#@@[:0@@@0@@@@@[I
|\^^+\|~_:--_~||~=+\^+^|~|^*+_[@0#@@8*8@@@@@@@@@80
~|~~~~~~~__::-___~\\^^^+==*)[8(@0@@@@~#@@@@@0@@@@@
__~~__~~~__::::_~~=||^++0\*](0^@00008_[@@@@@@@@@@@
_______~~________~+||=~~0|=I#8:0@@@8#([@00@@@@@@@@
_______~~_____~~|~|||*==[\||\\:+[[#[[)*(#@@@@@@@@@
________~~_~____|\|\|^_~|^|/^*)###(*++#@@@@@@@@@@@
::::____~~_~~___~\\\|^-::__~(8[#[](^/*]088@@@@@@@@
:::______~~______~||||--:--_|||^^^^\\=^(00@@@@@@@@
::_::____~~~____~~~~~~:-----::~~~|+*[0@@@@@@@@@@@@
:_::::____~~_____~~~~~:-----:~*[#0@@@@@@@@@@@@@@@@
::::::____~~~____~~~~~~---:~=[@@@@@@@@@@@@@@@@@@@@
::::-::_::_~~____~~~__*:~:^(#0@@@@@@@@@@@@@@@@@@@@
:::---:_::_~~_____~~__(_~+I##8@0#[0()8@@@@@@@@@@@@
:::---:__::~~~_____~_~(__I#0#[)]](0*@@@@@@@@@@@@@@
08888###(|:|*=I*(((**=|I*|\++*=]#(^*((I][|~~~|||||
^^++++++^||\=I(8008[*)0#_~~~~|\~+(||8](*+|~~~~|||~
++=====++^^\|[((*(#I)*~::::::::_~|~~I#~~||~|||||||
^++=***(())II]]]][*~~__::::_~_:__~~||#*|^^+=*(**|+
@@@@@@@@@@@@@@#0#]_~~_:::~=*+|~__:__~|[]III))*^^~|
@@@@@@@@@@@@@8#[[#__~~~|+*)(**+\|~:::_*[[[[[####[I
@@@@@@@@@@@@@@)\*8(~\I[)()I***===^|___)@@@@@@@@@8@
@@@@@@@@@@@@@@8*[8[(8@##[(*=======+^^(8@@@@@@@@@@@
@@@@@@@@@@@@@@#]@@0@#I*)*=||+==+====#8@@@@@@@@@@0@
@@@@@@@@@@@0@@00@@08(*++\~||~\====*I0+@@@@@@@@@@0@
0@@@@[#@@8)#@0@@@@@[**=^\||~|^====(08~@@@@@@@@@@0@
0##8[#][(==0#[0@@08I(*=+^\\\+==|\^=@0:8088###[[[#@
88#=*||__|=I**[8]I])(*==+\+**=*=*)((I|I#80000@@@@#
0[][I*::::|^/|\***(**=+^^^****I808@@@~#@@@@@@@@@@]
(I][*+~:--:~||~|=**=+^|\\||+*(0@0#@@@~[@@@@@@@@@@]
|\\+^\~~_:--~||~|=^\^^^|~|^*^_I@@#0@@*[@@@@@@@@@@0
~~~~~~|~_:::-:___~\\\\\^+***#I)@800@@[*@@@@@@@@@@@
_~____~~__:::::_~~+||/^^8)+II#(0000@0==@@@@@@0@@@@
____:_~~__:::_____+|~\+:8*+(#8+#@@@@0I^@@@@@@@@@@@
::_____~___::_~~~~|||+=~8(|*(I~^008[*(**]0@@@@@@@@
:______~~______~\||||^|\==\|__~*)[##]I[@@@@@@@@@@@
::::____~~___:__~^\\|^_:_~_|*800#)+|~|[008@@@@@@@@
:::_:____~_______|\|||:-:::_*(==*((*=*=([#@@@@@@@@
::::::_:_~~______~~~~~:----::_~~|~~~|=]#00@@@@@@@@
_::::____~~______~~~~~:------:~~|^*I[0@@@@@@@@@@@@
:::-::__:_~~_____~~~~~_----:_|)8#0@@@@@@@@@@@@@@@@
:::---__::~~_____~_~_~|__-_\*[80@0@@@@@@@@@@@@@@@@
::----:_::_~~______~__*|~~=([[##00@@@@@@@@0@@@@@@@
::----:_:::~~_________))[#00@@@@@#[#I]0@@@0@@@@@@@
@@@@@@@@#^-~+*(*(((((==)=|^+=**]8(|+=*+#II-~~~~|||
*====\\|||~||]=8@@8[=(0[:~~~~\|~+*|\##]**=:~~~|||~
=+======+^\\|#][][#I[I~-----::::~~~_I8||\^~~~~||||
^^^^^^^^^^+^=*=*=[I|~_:::::__:::_~~||[*_~~~||^|||~
#8800000@@@@@@@@0(~~~_:::~=*\~~__:__~|####[[[#])(~
@@@@@@@@@@@@@@[[#]_~~__~/*)(*=^||_:-:_^=****())II*
@@@@@@@@@@@@@@)+*#=~|(I((II***==+\~_:_)@@@@@@@@@@8
@@@@@@@@@@@@@@[([8(*8@8#[)*======+^\\*[@@@@@@@@@@0
@@@@@@@@@@@@@@#]0@0@8[I]*+|\+=++====[[0@@@@@@@@@@0
@@@@@@@@@@@@@@08@@08(=++^~||~^====*)0*#@@@@@@@@@@0
@@@@0[0@@@[#@@@@@@@[**+^|||~||+===*8@(]@@@@@@@@@@8
08888#I#]*=00#@@@00I**+^\|||\+=\\^=0@I(@@@@@@008#8
00I(*|+_~\*#(*[0#][)**=+^\+=*=*|((III=\I][[[[###8@
0#[I)^:--_\=+|+(*((**=+^\^****I[#[80@[^@@@@@@@@@@@
)[#[*=~---:|||~^=**=+^\\\||+*(#@@88@@[_@@@@@@@@@@8
\\+==|~_:---~||~|=^\\/|~~|\=*~*@@88@@[~0@@@@@@@@@0
\~~~~|~_:::--_~~~|\|\\\\|+|=*=+#@08@@0*#@@@@@@008@
_~____~__::::--:_:|||\\+I8:II)0*@@@@@0:[@@@@0#0@8#
_:__:_~___:::::::_~=~|\|)#:I#*8^@0@000~]@@@8#0080#
:::________:::____~\~|\_([~([##-0@@@88[[80#888#[#@
:::______:_::::~~~~|~|*^*(~~~~~_+I][I)(I#8##[][#[#
:::::_:_~____:::~\~|~||_~|+|++(]#8[(*^=00#[I[][[8#
:::::_:___:___::_~||~||-_|\=I8##]I)=||=[#(]]][0@88
::::::_:_~::::::_~|=[##[#88#0@8^|\^\\^=|*I[80@@@@@
:::::__:_~_::::_|*]#@@0##[[])(I[|\+==*#0@@@@@@@@@@
:::-::_::_~___^I#0@0[(*=+++===*II]#8#00@@@@@@@@@@@
-:---:_:-_~~|*#@@@@0#(**======**)I[[[#8@@@@@@@@@@@
-:----_~~|=(I##8[[[##I****=====*I)[8@@@@@@@@@@@@@@
:~|~_~|\||**(()(***((*====+++++=[[#@@@@@@@0#@@@@@@
@@@@@@@@0*_~~]+*][]III)I)^+=*((]0[^==**(#I*_~~~~~~
[]IIII)(*~~~~[*[#88[*=#[:||~|^||+(||[[[)(*=~~~||||
+++=====+\|\|[)###8([[=--:::::__~~~~(0*+^+\~~~||||
+++++++++^^\|+=+|][=~__::::__:__~|~\|([:~~~||||||~
III[[[[###8888000]~~~_:::_^=\~~_____~~[]]I]]][#]]*
@@@@@@@@@@@@@@8[#I_~~~_~|+)(*=\||~:::_|*=======+==
@@@@@@@@@@@@@@#)*#|~~^**()I***===^|_:__00@@@@@@@@@
@@@@@@@@@@@@@@I=]8I|I00[]I(*=====+^\\=^@@@@@@@@@@@
@@@@@@@@@@@@@@8(#08#@8]#I*^+===+====*0*@@@@@@@@@@@
@@@@@@@@@@@@@@8[@@00[*===\\|~+=====*[0~@@@@@@@@@@@
@@@@0@@@@@0#@00@@@@#(*=+=|\~||+===*[0@~0@@@@@@@@@@
@@@@0II08I*#@8@@@@0[(*=+\\|||^==++=I@@\#@@@@@@@@@@
0#I[([*=^+*##I#@0#[I(*==+++===*~\[##88+(#[[[[[[]][
08I)*~~::|=(*==[)(I(**==+|=***]*#*(][#*(80@@@@@@@@
###[[*::::~^^||+*(#8#]^^^\=*((##0@[@@@*(@@@@@@@@@@
+=(I(|~_:::_|\+*]#[[80#==((()(([#@80@@*=@@@@@@@@@@
\|||\\~~_::|*][][##I((I#I(I]I(**##80@@I*@@@@@@@@@@
|~_~~~~~__^)[88[)*====**IIII(()I##@0@@8~0@@@@I*[@@
_________\(I[]**=======**#)=(]][[00000[-#@@0I*((*#
______~_^I00#(*****===+==(0**##I)@@@@@0\[@0(****(*
_:____~^I008[I****====+++*[[=))=~8@8#((**#[I)(*(*(
::____\I00[III*=======+++=[(|___+([##[]]00[I((((()
::__~^([[I(*****=====+++++++|+#80#(+|~~=##]]II)][)
:_~|=()((*=====***====+\|~_:_=(*=*))*++*=()][[#088
~++\|=+==+^^/\^^++=*=+\~_:--::_~~|~~~~|*]#80@@@@@@
=|~~_~||\||||||||||^\|~:-------_~~|\+*[@@@@@@@@@@@
~___::_~~|||||~~~~~~~___-----:_\)]#00@@@@@@@@@@@@@
::::::::~|||~_____:____~~---~\([#00@@@@@@@@@@@@@@@
__::::::_~~__:::::_:___=/_~~=I]]I0#@@@@@@@@88@@@@@
@@@@@@@@@]*~|*==#@@@@@@@##]II[##@@8######8(=_[[]II
@@@@@@@@@[^:|=*(**(((++[\~+|^+=/*[*|*((**[)*:~~|~|
(***===+^||~|\]=#@@#=)0]:_~~~~~~~|~_=8[](*=^_~~~~|
==+======+/\^|#][I#[[(~:::::::::_||\~*0^~|||~~||||
^+^^^+^+^^^^^++==([\|~_:::_~~~____~~|\)*~~~||\+***
[[##880000@@@@@@8#_~~~___~=(*+|~~~___~~[####[[][((
@@@@@@@@@@@@@@@[##~~+*\|+*))***++\~_::_+==***(I]]]
@@@@@@@@@@@@@@0=*#[**=[[III(***===+|~~~(@@@@@@@@@@
@@@@@@@@@@@@@@0=##8****I8]**======+++=#=@@@@@@@@@@
@@@@@@@@@@@00@@#08(*(((I(*^|\=======*[0\@@@@@@@@@@
@@@@@@@@@8)**I#[I*I[I**++\~|||^====*I0@~0@@@@@@@@@
@@@@@#00I=+==**==*(8[**+^\\|~|^====*8@@^#@@@@@@@@@
@00@0#(*+++=====*#[*(*==+\\\\^==|\^(#@@*]@@@@@@@@0
@8I0#*=======+^+==[0I**=+^\+=*=*\I###[[=+II[[[[][[
@080I*****==++++++*0[=++^\^****[[[]]##0(*@@@@@@@@@
(]0@])(**===+===+^^*#^\\\\||+=*)0@@[0@@]+@@@@@@@@@
==[0[I)*==+====^|/+==\\||~||+*^:8@@#8@@I_@@@@@@@@@
++[#)***======+^^=+^||\\\||=|_^:~@0#0@@#*8@@@@@#0@
_^#[**=======++==\_~|||\\=#I|*[][#0@0@@0~[@@@@[*([
_*[)*+++^^^\|\=*\__~\||\*:0I|([][]00@00#_I@@@[**(*
+I**=+^\|||||^=|_:__~||/+-8(|*##]*@@@@@@*[@0I*((**
**++^||~|||||\~__~__~||+=~#)|=**=~#@#8I))*[[II(*((
~~|||~~|||||~_::_~~~~||^|^+=^\~_~=I##[]()80[]()(((
~__~~~~|||~___:::_~|~||\~:_~~~^[08[I*\~~\]#IIII)I]
______~~~~_::::::__~~~||_-::::^*===***+=*^*(I[[880
___::__~_-:_::::____~~~~:----::__~~~~~~|*[8000@@@@
_:::___:---:__::::___~~_:-------_~~~\=*[0@@@@@@@@@
:::::::::-:--_::::_______-----:_|*[[0@@@@@@@@@@@@@
:_::::::::::::_:::_::___~~---_|*][@80@@@@@@@@@@@@@
@@@@@@@@@0=\~|[I=@@@@@@@@#[[[I##@0@@000000#)+_###[
@@@@@@@@@@++_~]|*IIIII([\~=\^+=^=[)|\*=**(#I*_~~||
#[[]]])))(||_~I=I888I*#]:~~~~~~~~|~~|##[]I*==~~~||
==+======+\|\\*[##8][]\::::::::__||\|=#[\\\^^~||||
+=++++++++^\\=#(*[#*|~__::_~|~_~__~~|^|[:~~~||||||
=**()II][[[##[*=*0||||~_~~=)*=\~~~____~*([[[[[[#8[
@@@@@@@@@@@@]++*#8|~~~~|^*I](**=++|~___~*====+===*
@@@@@@##0@0(+=)[I]]|~+][I][I****===^|~~|#00@@@@@@@
@@@@8*===[*=*)0*I[@+*0@88[)**=========[#=@@@@@@@@@
@@@#===^***=*I*[#0@0@0[[[*=|\=======*)08\@@@@@@@@@
@@]^+++====^=([8#@@@0I*==+~\||\====*(#@0~@@@@@@@@@
@(+++^*===|++^=#@@@@#(*=+^|^~|^=*==*I0@@~8@@@@@@@@
]===**===\=++=+^I@@@[(*=+^\\|^==^|\=*@@@=[@@@@@@@@
[*=***==++===|\^*0##I(*==++^=***/^#@@@@0**8##[[[[]
[I*I*==+===*+^^=II(I(**=+^|****]*I=**((]**#800@@@@
#I*(**===*==++=*+=***=+^\\||\=*][0@@#@@@]*@@@@@@@@
8)**==+===+++=(|~|==^\\|||||\=*^=0@@#0@@I|@@@@@@@@
#I*++^^^^\||\*+~|~|^||\\^||\+\~|:I@@#00@[\0@@@@@@@
[(*\\\||~~~|+=-:_~__||\\\^*[=|^(**0800@@0=#@@@@@08
)=+\\|~~~~|^/:::::__|\||\*=0(^([[#[@@@@08_I@@@@0##
=\\|~~~~|\^_::______~+||^*~@++)#][]0@@@@0|(@@@###8
|~~~~~~~|+__::______~~||=|~0*^(##)|@@@@#8[]#0[[##]
~~~~~~~||\:______~~~~~~|+*=]*~~~|~~*[#8#]I]#8#[[]]
_____~~~~~________~|~|||\~~|\^^^*I#8#]=^|\[0#[II[]
\_:_____::~________~|~||\_::__~^#[[III*\^=*[()]I[[
|~_____:-:_~_:_____~~~~~~_-::::||||\\^\||^|*]]#00@
~~~__~~~_~|~_:______~~~~~_-::::::_~~~~~|+I0@@@@@@@
~_~_____~~~~__:_:___~~~~~:-::::::_~|\*][8@@@@@@@@@
~~_____~~__~__:::_____~~~~:---:_~=I8#@@@@@@@@@@@@@
@@@@@@@@@@+=~|](=0@@@@@@0]I)]([[0@000000880]I_\#[[
@@@@@@@@@@=*_|I~*)II(II[||+|\\+|\(*|=)==*=[][~_~~|
#[[]]])))(||_|(=(#88*([=:________~~~~[8][I**^|~~~~
+++======+^||/=[#8#I[)~:::::::::_|||^\)8+\\\^|~~||
++++++++++^^\|*8\|[*|~_:::_||~~~__~~~||[~_~~~~~|||
==**()II][[[##I+=(^||~___~=I(*^||~~___~\+[[[[[[[#8
@@@@@@@@@@@@@)++*8|~~~~|+*I](***==\~___~=**===+++=
@@@@@@@##0@@I+=*]]]|~+[[II[I****===+||||#8000@@@@@
@@@@@8*=*+]*==*[I[@=*0@80[)**=========I@(]@@@@@@@@
@@@@8=+=^+*===)(#8@0@0#]]*=||^=======*#@II@@@@@@@@
@@@#=++\\*=+++*)#@@00I*===~||||+====*[@@[)@@@@@@@@
@@#+++\^*==^\=^^(@@@#(*=++|^~|\+====*8@@#=@@@@@@@@
@#=++=**==+\=++=\*#@#(*=+/\\\\+==|\=I8@@#~@@@@@@@@
0I*++***==^++==|\+[#](**=+^^+=*=*\I@@@@@0:#88##[[[
0[(=**===++==*\\^*)I(**=+^\+***=]()*****(\*[#8000@
8#(****==+====+^**=***+^\\|||+**]88080@@@^]@@@@@@@
I#**==++++===++**~^=+^\\|~|||^**:#@@8#@@@^(@@@@@@@
I#(*+^^\\^^^||^(|~~+\|\\^\||++|*:=0@0[0@@=(@@@@@@@
*I*=\||||||~~|=__~~_||||\\+(I_|=\^]@080@@#*@@@@@@0
(*=+|||~~~~||^_-:::_~|||\=|##:II)8*00@@@@[-0@@@@@@
[+|||~~~~|\\~::::::_~\\~|)_[#_I[=0|000000[:#@@@@@@
*|~~~~~~||+~:::___:__~|~|^~I#~(I[0:#@@@08#*[0@@@@@
\~~~~~~~|^\_::_::~~__~~~\=\)]|^+=*_|##88#[]([@@@0@
~~~~~_~~||~:__:::_~|~~||||~\\+\^|+*[#8]*=\=0@00#0@
~~~_____~:~:____:__||||~||::__~|(8#[II(^||=]8][88@
________:_|_::______~~~~~~-::::~=+^^+++=++=~=][0@@
______~~~~~__:::____~~~~~_-----::_~~~~~~~^I#@@0@@@
________~~_~__:::____~_~~_-------:_~~|=*I#@@@@@@@@
_______~_~:~~_::::____~___:-----:~=[[#0@@@@@@@@@@@
@@@@@@@@@@*(~|(^=#@@@@0##*\====*I#0[[[]]]II0*):^**
@@@@@@@@@0*=:|**(****\*#=|\|~~\~~\+~_[[**I*]():~~~
***=+=+\\|||~|+)+#@8*[#|---::::::~|||~I0])*==+_~~~
+=++=====+^\\\|#[8#[I^::::::______~~|\\I]~~~||~|||
^^^^^^^^^^\\\||([~|]|~_:::_\=^|~~~___~~|(_~~||||+=
I]][[###8800008*^+*\~~~_~~^(I(*+\\|~_:__\I#8###[[[
@@@@@@@@@@@@@0*++*I_~~~|+*I])***===/|___~\|^===**(
@@@@@@@@#8@@0*++**8*~\[#[II]**=*===++\\(I#@@@@@@@@
@@@@@@#====[*==*][#[*#@88#)===========*80_0@@@@@@@
@@@@@[++=^=*===*(8@@00[(**=^|~\======*I@0~0@@@@@@@
@@@@[+^+\|==+++)]8@0@[*=+=^~||||+====(8@@\#@@@@@@@
@@@[+++\\==+^|=++*@@@I**+^\|~~|^=====*0@@*]@@@@@@@
0@[++++=*=++|=^^==I##)**=+^\\^+==\~*I#@@@)(@@@@@@@
00*=++=*=+=^+++=^|+]#)(*=++\\=*=*=+0@@@@0I+8##[[[]
0@(*=**===++==*\\^=I(**=++^|==**(I*===*()*|[#800@@
#@((*(*=*=+====^^=(***=^\\\|||+**#0@@#@@@#_@@@@@@@
*0)***===+==*=++=(|++\\\||~|||=*|=0@@#0@@#:8@@@@@@
=0(*==++^^+++^\+(|~|\||\\/\|\+|~~:[@0#800#|#@@@@0@
~#**=^/\\||||~|=|_~__|||\\\=]\||*++0888@@@(I@@@@@@
^I*=+\\|||~~||=~--::_|^||^+(8|**][#[0@@@@@^*@@@@@@
I(^\\||~~~||\|:::::__|^~|^=+0|=([[]I000008+|@@@@@@
[=\|\||~||\^_::___:__~|~|+~^0|+*[#I+@@@@8#[*0@0@@@
*\|~~~~~|\+~_::::~~~_~|~|=^=[\|+==\~]#80##[[]00@00
\|~~~~~|^++____:::~|~~|~|\~|\+\^\+*[#8[*=\\[@00##@
~~~~~~~||^|::___::_~|||~|\-::__~^###]II*||^*#]I#00
~~~~~~~~~_~_:::_:___~~~~~~--::-_++\^^+++^+=\|([8@@
______~_:~~~:::_____~~~~~~-----:::_~~~~~~|*[0@0@@@
_______:~~~~___:_____~_~~_:-------_~~|+*([0@0@@@@@
_______~_~_~~__:::____~___:-----:_\I[[0@@@@@@@@@@@
@@@@@@@@@@*(_|=*=*][]III[~|+|\\=|\I]||)=+=+I#I*:~~
##[[[[]III^~_~\I*[##[^(8)-________~~~_I0]]I(*+=_~~
+++++++++^^||\|[*#8#([(~-:---::::_~^~^|(0*+=^+^_~~
++++++++++^^\||(#II#=~__::::_~~_____~~|\(=__~~~~~~
\\\+=****(IIII][*||*~~~_::_|**=/|~~__::_~\*(III]][
00@@@@@@@@@@@@[|^=[~~~~_~|+*I(**=++\~_::_|]I((*=+=
@@@@@@@@@@@@@#+++*#^~~~=*()I](***==+^|~~~+I[[[[###
@@@@@@0[(I#@#++=**#0|\[@8[[I(*======++++#I[@@@@@@@
@@@@@0*====*===([#[@[8@8[#(=\|^===+====)@I*@@@@@@@
@@@@0*+++|====+II[@@0@[*==+^||~|^=====(#@[(@@@@@@@
@@@8*++^|==++\=**[@@@8(*=++\|~~|\====*[@@#^@@@@@@@
@@8*++^|==++\+=^\*000#(*=+\|||||+=+\\+*@@#~@@@@@@@
00*+=+=*===^\=^+=^+]8](**=+^^^===*~|[0@@@8_8@@@@@@
0#(=+=**===^=+==|\^I[I(*==+^|+=*=]+I888##[~(]]][]]
@0)*=(*==+++==*|\^*(***=++^\|++*=[[(*(I[##\)0@@@@@
I0((*(***++====+^=*+=*=^\|||||\=**0@@#8@@@=)@@@@@@
*0(***===+==*=++=(_|+\|\\\|~~|^==:#@@8#@@@\*@@@@@@
+8((==++^+++^\|+(|~~||||\\\\\=|:+:\0@0[00@*(@@@@@@
|#**=^^\\||||~|*_-::-~|||\/=]*|+)*)[0000@@#\0@@@@@
*I==+\\|||~~||=~-::__|+|||*+0I|([(0=@@@@00]-#@@@@0
[*^^^\||||||\~:::::__~+||/=_@=\I#*8|@000@0[:[@@@0@
I+\|\|||||^+::::_____~~~|=~_0*|*###-#@@@@#8][8080@
=\||||~||^=~_::::_~~_~~~|==^]*~||||_^[#00[]I[00008
||~~~~~|^+^____:::_||~|~|\_~~|/\^=I[88[*^\|=08##]8
~|~~~~~|^=|:::__::_~||~~||--:_:~|[#[]I](+|^*I#(]##
_~~~~||||~~_:::_::__~~~~~~--:--:|\||\\^^\\^^~=][0@
:_~~~~|~_-~~::::::___~~~~_------::_~~~~~~|+[8@@@@@
::___~_:-:~~__::_::__~~~~_:-------__~|^*)[8@@@@@@@
:::___:--:~~_::::::________------_|*#[8@@@@@@@@@@@
@@@@@@@@@@*(_|=*=*][]III[~|+|\\=|\I]||)=+=+I#I*:~~
##[[[[]III^~_~\I*[##[^(8)-________~~~_I0]]I(*+=_~~
+++++++++^^||\|[*#8#([(~-:---::::_~^~^|(0*+=^+^_~~
++++++++++^^\||(#II#=~__::::_~~_____~~|\(=__~~~~~~
\\\+=****(IIII][*||*~~~_::_|**=/|~~__::_~\*(III]][
00@@@@@@@@@@@@[|^=[~~~~_~|+*I(**=++\~_::_|]I((*=+=
@@@@@@@@@@@@@#+++*#^~~~=*()I](***==+^|~~~+I[[[[###
@@@@@@0[(I#@#++=**#0|\[@8[[I(*======++++#I[@@@@@@@
@@@@@0*====*===([#[@[8@8[#(=\|^===+====)@I*@@@@@@@
@@@@0*+++|====+II[@@0@[*==+^||~|^=====(#@[(@@@@@@@
@@@8*++^|==++\=**[@@@8(*=++\|~~|\====*[@@#^@@@@@@@
@@8*++^|==++\+=^\*000#(*=+\|||||+=+\\+*@@#~@@@@@@@
00*+=+=*===^\=^+=^+]8](**=+^^^===*~|[0@@@8_8@@@@@@
0#(=+=**===^=+==|\^I[I(*==+^|+=*=]+I888##[~(]]][]]
@0)*=(*==+++==*|\^*(***=++^\|++*=[[(*(I[##\)0@@@@@
I0((*(***++====+^=*+=*=^\|||||\=**0@@#8@@@=)@@@@@@
*0(***===+==*=++=(_|+\|\\\|~~|^==:#@@8#@@@\*@@@@@@
+8((==++^+++^\|+(|~~||||\\\\\=|:+:\0@0[00@*(@@@@@@
|#**=^^\\||||~|*_-::-~|||\/=]*|+)*)[0000@@#\0@@@@@
*I==+\\|||~~||=~-::__|+|||*+0I|([(0=@@@@00]-#@@@@0
[*^^^\||||||\~:::::__~+||/=_@=\I#*8|@000@0[:[@@@0@
I+\|\|||||^+::::_____~~~|=~_0*|*###-#@@@@#8][8080@
=\||||~||^=~_::::_~~_~~~|==^]*~||||_^[#00[]I[00008
||~~~~~|^+^____:::_||~|~|\_~~|/\^=I[88[*^\|=08##]8
~|~~~~~|^=|:::__::_~||~~||--:_:~|[#[]I](+|^*I#(]##
_~~~~||||~~_:::_::__~~~~~~--:--:|\||\\^^\\^^~=][0@
:_~~~~|~_-~~::::::___~~~~_------::_~~~~~~|+[8@@@@@
::___~_:-:~~__::_::__~~~~_:-------__~|^*)[8@@@@@@@
:::___:--:~~_::::::________------_|*#[8@@@@@@@@@@@
@@@@@@@@@@*(_|=*=*][]III[~|+|\\=|\I]||)=+=+I#I*:~~
##[[[[]III^~_~\I*[##[^(8)-________~~~_I0]]I(*+=_~~
+++++++++^^||\|[*#8#([(~-:---::::_~^~^|(0*+=^+^_~~
++++++++++^^\||(#II#=~__::::_~~_____~~|\(=__~~~~~~
\\\+=****(IIII][*||*~~~_::_|**=/|~~__::_~\*(III]][
00@@@@@@@@@@@@[|^=[~~~~_~|+*I(**=++\~_::_|]I((*=+=
@@@@@@@@@@@@@#+++*#^~~~=*()I](***==+^|~~~+I[[[[###
@@@@@@0[(I#@#++=**#0|\[@8[[I(*======++++#I[@@@@@@@
@@@@@0*====*===([#[@[8@8[#(=\|^===+====)@I*@@@@@@@
@@@@0*+++|====+II[@@0@[*==+^||~|^=====(#@[(@@@@@@@
@@@8*++^|==++\=**[@@@8(*=++\|~~|\====*[@@#^@@@@@@@
@@8*++^|==++\+=^\*000#(*=+\|||||+=+\\+*@@#~@@@@@@@
00*+=+=*===^\=^+=^+]8](**=+^^^===*~|[0@@@8_8@@@@@@
0#(=+=**===^=+==|\^I[I(*==+^|+=*=]+I888##[~(]]][]]
@0)*=(*==+++==*|\^*(***=++^\|++*=[[(*(I[##\)0@@@@@
I0((*(***++====+^=*+=*=^\|||||\=**0@@#8@@@=)@@@@@@
*0(***===+==*=++=(_|+\|\\\|~~|^==:#@@8#@@@\*@@@@@@
+8((==++^+++^\|+(|~~||||\\\\\=|:+:\0@0[00@*(@@@@@@
|#**=^^\\||||~|*_-::-~|||\/=]*|+)*)[0000@@#\0@@@@@
*I==+\\|||~~||=~-::__|+|||*+0I|([(0=@@@@00]-#@@@@0
[*^^^\||||||\~:::::__~+||/=_@=\I#*8|@000@0[:[@@@0@
I+\|\|||||^+::::_____~~~|=~_0*|*###-#@@@@#8][8080@
=\||||~||^=~_::::_~~_~~~|==^]*~||||_^[#00[]I[00008
||~~~~~|^+^____:::_||~|~|\_~~|/\^=I[88[*^\|=08##]8
~|~~~~~|^=|:::__::_~||~~||--:_:~|[#[]I](+|^*I#(]##
_~~~~||||~~_:::_::__~~~~~~--:--:|\||\\^^\\^^~=][0@
:_~~~~|~_-~~::::::___~~~~_------::_~~~~~~|+[8@@@@@
::___~_:-:~~__::_::__~~~~_:-------__~|^*)[8@@@@@@@
:::___:--:~~_::::::________------_|*#[8@@@@@@@@@@@