+* + ^..^ -+----
+ - -.- ^*^**^*^+ -
*- .
.----++---..
.-+++++++++++++++++++++++-+-
-++++++++++++---....----+++++++++++++.
--++++++++--. .-++++++++.
-+++++++--. .--++++++-.
.+++++++-. -+++++++-- .---+++++++++++++++++++++-.
+++++++- -++++++++ .---++++++++++-------------..-----------.
+++++++ .-+++++++. .-+++++++++++--. ..-----+--
-++++++ ++++++++ -++++++++----. .--+
+++++- ++++++++ -+++++++++--. -
++++ +++++++. .++++++++++.
++- .++++++- -++++++++-.
+- ++++++++++++++-.
+ ................................................................++++++++++.-.. ...............................................
.-...11111iiiii1ii11ii!663iiiii!333!iiii1azvnoooooonvvzzaau1i!6%%$~*^*^^^$!$$&$%636833!!!!iii1aaazvo;*^^*;viii!33i133!uzz1iv...
.-...ii1111iiiiiiiiii1i3663!iii!333!1avno~~~~~~;;;;;;;;;;;~~~~n1uazn^^^11i!!!38%$$&&&&&&&&&$$%8883iuzznooonvzuiii!363iuza1!i...
.-...1i1iii1iiiiiiiiiiii3863!iii1avo~~~~~;;;;;;;;;;;;;;;;;;n&$6iuvo;*;~~;;;*;;;;;;;;;;;~~~~oonnnnnvvvzzvnooonvauuu1uuazza1ii...
.-...1111iiiii1iiiiiiiiii363uzno~~~;;;;;;;;;;;;;;;;;;;;;;;8##&8!1uzzzvvnn**************^^^****^*^*****;;;;~~ooonnnnnnnnvzuii...
.-...1i1i11ii11iiiii1i1azno~~;;;;;;;;;;;;;;;*^^^^^*;;;;;;;##&&$8!3izvi63iv*;***;;;;;;;;~o~~~~;~;;;;;;**;;;~ooonnnonvvvvzzu1!...
.-...11i11i1iii111avno~~~;;;;;;;;;;;;;;;uvo;*;^^++--*;*;;n$#&&%6izvvvn~;ooo**~o~;;;~vvaazzvvvzvnnvnoooonnonnnnvzazvnnvvvzau!...
.-...i111111uavno~~~;;;;;;;;;;**;;;;;;~11uvo;^;*^++-+u1iii3##&&6!uauaaazazznnu~~*^;^+--+o~~oonvonvaavnnvvnnnnoooz11uuauui!36...
.-...1uavno~~;;;;;;;;;;;;;;;;;;;;;;;;~uuu1azo~~o~o6$$$$$$$&#@##%!avvvnnnnazv81uo;;*^++---+o~;;;;;~~~~ooooo~~~~~~~ozuuuuu1!6%...
.-...~~~~;~;;;;;;;;;;;;;;;;;;;;;;;;;;uzzvvvvu38$$$&$$%83!11uazzzzzvvvnnnoo~~~3azuz~;^^+----~oo;*^*;;;*;~~~~~~~~~~~~ozaauu1!8...
+ .-...~~;;;;;;;***;;**************;;;!81vnonz1!668%%8633!3!uuazzzzzzvvnno~~~;;;~v1zvn;*^++--~~oo~;;~***;;;oo~nooo~;;;;~nauui3...
+. .-.. ;;;;;;;;;*;;********************%%83i!!688$$%%6u6631z~*on**zzzvnno~;;*^^**;;oznn~;*++-+oo~~;~;;~;;~~~niuzzavo-.+~nvauu!...
++ .-.. ;;;;*;*********;;*********;;****u1$$$$$$&&&&$!u16%3!v;;onn~uaavno~~;*^^^+^^^*;avno;*+-+******;***;***;;;;~~~~**~ooonza1...
++. .-...***;;*****;;******^^**^******;*uua1$&&&&&&&&&&$$$&&&6unovi!i1uazno~~;;;*******;ovnvn+++^^^^^++++^^^+^^^^^^^+^^^^*;;~onv...
+++. .-...****^****^*************zo~z111iuuu8$&&&&&&&&&&&&&&&&8uvna8833i1uavnnoo~~~~~;;;;;nvn;^--+^^^++++++++^++++++++++^^^^^*;ov...
++-- .-...*****^^^**^*********^*^*vzza111ii!$$&&&&&&&&&&&&&&&&%izvu$$63!!i1uzzvnnoooo~*;~~;zno^---^^^^^^+++++++++++++^^^++++^**;o...
+++-- .-...*****^^**********^^^^^^^**;zaau138$$&&&$&&&&&&&&&&&&$!az8&&$6iaa1iiuazvvo~vo;~o~~~vno^*^*;nvv*++--++++++++++++++++++++^...
++++-- .-...***************^^^^^^^^^^^^^^^***3$$&&&$&&&&&&&&$1&$&8ua8i1$$$8!uvooonno~~~ooonn~~izvuvvzzvo*^++-++++++++++++++++++++++...
+++++--.-...************;****^^*******^***o1i8%$&&&&&&&&&&!aaau&$$iu6znon!%%%8633!!i1uv~oovvo~uoavo~;*^++++++++++++++++++++++++++++...
-+++++---...**************^^***^^***^**1111u1%%$&&&$&#%!83uavvnu&$8i6no~~~oi!368886336%!zn1vo~v1zvn+^^+++++++++++++++++++++++++++++...
-+++++++...********^^^^^******^^^^^^^^uuuuuu6%$&&&$&#$!!#####&zn&$66oo~~~~~onvvnnnvi8$!z11vo~vz~*^++++++^^++++++++++++++++++++++++... .
-++++++-..;******^^^*^^**^^*^*^^**^***aaaau1%$&&&$$#&##3!!!!i$aoo6!o~~~~v%%uuaa6&%!$$!u3uvo~vo;;**^^+^^+++++++++++^^+^+++++++++++... .--
+++++++-.;;*********^^**^******^*****^^^aau6%&&&&$&&!%3!!!!!6zoooooo~~~o$azvvzai&#&$38iavoonnn~~;*++++++++^+++^+^^^+++++++++++++... ..++
+++++++.;********^**^^^^^*******^^**^^^^~&@%$&&&&&&3&33!!!!%vnoo~~~;;;;6nnnnnvu&6$&8!uznovazvnn+^+^^^+++++^+++^^^^+++++++++++++... ---++
+++++++******^***^*************^^^^^^*$#@@&&&&&&&$i!%3!!!$ano~~;;;**^^zooo~~on88$6iuavvo###aaio^^^^+++^+++^^^^++++++++++++++++... -+++++
+++++++************^^*****^^**^^^^^^$#@##@@#&#&&$uvnnzvno~~~~;;**^^^^^^6ana!oi%3i111a1#&&$8i1o^^^^^^^^^++++++++++++++++++++++...-+++++++
+++++^+^*^^******^******^^^^^^*^^o&##@@@@@@###&@@&oo~~~~~~~~;;;****^^^^^^^;~%6363i!&#&&&&aia~^^^^^^+++^^++++++++++++++++++++..+++++++-
.+++++++^******;**^*;^^**^^*^*^**##@@@@@@@@@@@@$!azvnvo~~~~~;~n~;;;;;;;*;o6@@$838#####&&&8iz~^^^^++^^^+++++++++++++++++++++++++++++-
.-++++^++^;;;;;;**;;*^^********;1#&##@@@@@@@@@$znnoo~~oo@###########1zn~;*;;;$###########8vn~!^^^++^^++^++++++++++++++++++++++++--
.-.++^^+^^^;;~~~;;;;;;;;;;;;~~~~###&$&###@@@@@@zno~~~o&####&$&#@##@@3no;*^+--a&########&&%an~8^^^^++^^^+++^+++++++++++++++++++--.
.-..+^^^^^^^o~oo~~~~oooooonvzzzz#############@@@####&#@@@#############!o~;;~%&&####&&%%$&&3oo%*^^^^^++^^^+++++^++^+^++++++++++-
.-...*^^^^^^^zzzvzzzzzaaaaauuuu&#&#######################&$%688%&#####&&&&&&&&&$$%%$&####&ioa%*^^^++^+++++++++^^++++++++++++-..
.-...z~^^^^^^^auuuuuuuuuuuuuaui##@@#######################&&&&&############6ozvau!3az1###%uz!!^+^^+^+^^^+++++++++++++++++++^...
.-...uu~^^^^^^*uuuuuu111i11i11&@#@##########@@@@@##########################!ouvv6i&1!ui$o!16$z^^^++^^+++++++++++^+++++++++++...
.-...aau~^^^^^^^zuu1111u1111ii&##################3##&&#########&########@##61innzauaa#&&&66%a~^^^+^^++^+++++^++++++++++^^+++...
.-...aaauv*^^^^^^;1uiiiiiiiiiii#############$$#8#&#####################&####a##&&&&&&&&&&%1un*^^++^^+^^^++++++++++++++++++++...
.-...au1111;^^^^^^^iiiiiii!!!!!33###########&$#%#&@#######&##&#########$$#8#$#&&&&&&&&&&&&6a~^^^+++^++^^+^+++++++++^++++++++...
.-...uuu1uua;*^^^^^^niiiiii!!!!!36########@########@@@@@@@##############$#6&$&&&&&&&&&&&&$u^^^^^^+++^+++++++++++^++++++++++^...
.-...uauuuu11v;*^^^^^^1i1i1iiii!!!36%&#############@@@@#@@#@################8####&&&&&&$&in^^^^^^^^+++++++++++++++++++++++++...
.-.. vvzzzaau11;*^^^^^^~i11iii!!33368%%$$$$&######6###@##&###########@######i#######&$$%%v^^^^^+^^^++++++^+++++++++^++++++++...
.-...nnnvvvvvzza~*^^^^^^^1111ii!!336888%%%%$##&&&&&o###&&%%$$$&&$$$$&@#####8#&&$%63!1an*^^^^+^^^+++++++++++^^+++^++++++++^^+...
.-...;onnnoonoo~oo^^^^^+++*au11i!!36866636688$#%$$$$a%&&$$%66$$%%%%#######$%866!1uav~;**^^^^^^+++++++^^^+^^+++^^^+++++++++++...
.-...o~;~~;~~~;;****^^+++++^~nvvvz1i!3333633iua#&$$$%%8%&$%%86i3####$&&&&6zzno~~;;**^^^^^^+++++++++^^^^^^+^^^^^+++++^^++++++...
.-...~~~;;;;;~;***;;;^^+++++++~~~~oonza1ii!!36666##%$$%%%$$$&&&&&&$$$&&%o;;;;*******^^^^++++++++^^^^^^^^^+^^^^^^^+^^++++++++...
.-...;;*;;;;;;;^*******^+++++++^**;;;;;~~~ona1i!!333&###&$$$$$$$&&&$%;^^^***^^**^**^^^++++++++^^^^^^^^^^^^^^^^++++^^^^^^+^++...
.-...;**;;*;;*^******;;*^^+++++++^*********;;;~~~ononzau1i!3!1uo;*^**^^^^^^^^^^^^^++++++^^^^^^^^^^^^^^^^^^^+++^^^^^^^^-----+...
.-...*;^**;**^*******;;*;*+^+++++++************;;*^^^^^^^^^^^^^^^**^^^^+^^^^^^^^^++++^^^^^^^^^^^^^^^^^^^^^+^+^^^+-----------...
.-...*^*^***^^^**^^********^^^+++++++*******^^^^^^^*****^^****^^^^^^^^^^^+^^++^++++++^^^*^^^^^^^^^^^^^+-------------------+-...
.-...^^^^^^^^^******^********^^^^+++++^*^^^^^^^^^^^^***^^^^^**^^***^^^^^++^^^^^^^^^^^^^^^^^++----------------++-------------...
.-... .-++++++++- -++---+----.--.....................................................
.-..............................---+++++++-......................-+++-+--+++-....-...-............+a.u.....................---.........
..-------------------------------++++++++++-----------------+++++++++++++-------+....--..-..-.--+n-~o.-......------.--....;v.u........
+---+-++++ .+++++++++-+++. ................u*u....................u-.u-*v .......
++--++++++ -++++++++++-++- -....~uuuuuuu-.^..................... nuo^u...;o.....
++++++++++++++-++++-++++. .......---.. a. ................u... u..... ....;.
.++++++++++++--++++- ..*.........n;aoao~v- o~.-a..........-....
++++++++++++++ ..........-. .......u..u *n...... ........
+++++++++++++ ...... .. ..-........+;.. .ua . ............
++++++++++++++++ .......... -;;+... v;.... ........ .......
++++++++++++++++++ .......zv......................... ........
^++++++. .+++++++++ . ....*u....... ...............
.++++. ++++++++ -... .............-..
. .+++- .......-..