________a88888"888888888888888888888888,
- ________,8888"____"P888888888888888888888b,
-_ _______d88__________`""P8888888888888888888,
-_ ______,8888b________________""888888888888888
-__ _____d8P' ' '__,aa,________________'""8888888888b
-______888b8bd8888888ba,I____________"88888888888,
-______88888888888888888ba8"_________,8888888888b
-______,8888888888888888888b,_________,888888888888
-______( 88888888888888888888,_______,8888888888888,
-____ __d888888888888888888888,____,8___"888988888b
-__ ____88888888888888888888888__.;8_'"""__(88888888
-______8888888888888I"8888888P__,8"_,aaa,___888888 8
-______888888888888I:8888888"__,8"__ `b8d'____(88888
-______Y8888888888I'888888P'__,8) ____________88888
-______`88888888I"__8888P'___, 8"_ ___________88888
-_______8888888I'___888"___,8"_ _ (.__.)________88888
-_______Y8888I"_____"88,__,8" ______________,88888P
-_______`888I'_______"P8_,8 "_______________,88888)
-_______(88I'__________", 8"___]M"""""""M____,888888
-______,8I"___________ _,8(_____"aaaa"___,8888888
-_____,8I'____________ ,888a___________,8888888)
-____,8I'____________,8 88888,_______,888888888
-___,8I'____________,8888 8888'`-===-'888888888'
-__,8I'____________,888888 8888,_____888888888
-__8I'____________,8""8888888 88a____"888888888'
-__8I____________,8'__88888888 888a,__`P88888'
-__8I___________,8I___`8888888888 888a___" P888'
-__(8,_________,8P'_____`88888888888888a___ "I8bma,.
-___8I________,8P'_________"888888888888 88a____""P8ma,
-___(8,______,8d"___________`"8888 888888888a,_______`"8a
-____8I_____,8dP__________ __`88888)_"888888b,________:8b
-____(8____,8dP'__ ___,I______,88888_____"888888,__8,___8)
-_____8,_ __8dP_'___,I________88888___8, _"88888___"8,_,8
-_____8I___8P'___,I__________"88 8'_____`8,_,_8888'_____"8,I8
-______I8,_____',I__ __________"88_______`8,_8888"_______"8I,
-______` 8I____ ,I'_______________________`8_"88'___________"8,
- ______'8I_____(8_________,aaa,__________8__88,___ _________"8,
-______,8I____8I__________88W88_____ _____8__"88_____________"8,
_________/\----\
________/::\___\
_______/:::/----/
______/:::/----/
_____/:::/-----/
____/:::/____/
___/::::\------\
__/::::::\____\________
_/:::/\:::::::::::::::::\----\
/:::/---\:::::::::::::::::\__-\
\::/-----|:
~~~|~~~~~
_\/____|:
---|
____-__|:
---|
_______|:
---|
_______|:
---|
_______|:
---|
_______|:
---|
_______\:
---|
________\
---|
_________\|__|
_____________
_______/::\----\
______/::::\----\
_____/::::::\----\
____/:::::::::\----\
___/:::/~~\:::\----\
__/:::/---/--\:::\----\
_/:::/----/---\:::\----\
/:::/___/-----\:::\___\
|::
----|------|::
----|
|:::|___|-----|:::|___|
\:::\----\-- --/:::/----/
_\:::\----\-- /:::/----/
__\:::\----\/:::/----/
___\:::\__/:::/----/
____\::::::::/----/
_____\::::::/----/
______\::::/----/
_______\::/___/
________~~_____
___________
_____/\----\
____/::\----\
____\:::\----\
_____\:::\----\
______\:::\----\
_______\:::\----\
_______/::::\----\
______/::::::\----\
_____/:::/\:::\----\
____/:::/--\:::\___\
___/:::/----\::/------/
__/:::/----/_\/____/
_/:::/----/
/:::/----/
\::/-----/
_\/___/
__$$$$$$$__$$$$$$$$__$$$$$$$$__$$$__$$$__$$$__$$$$__$$$__
__$$$______$$$__$$$__$$$__$$$__$$$_$$$___$$$__$$$$__$$$__
__$$$______$$$__$$$__$$$__$$$__$$$$$$____$$$_$$$$$__$$$__
__$$$______$$$__$$$__$$$__$$$__$$$_$$$___$$$$$_$$$_______
__$$$$$$$__$$$__$$$__$$$$$$$$__$$$__$$$__$$$$__$$$__$$$__
______________$$$__________$$$$$$$$_$$______$$__________
_____________$$_$$____________$$____$$______$$__________
____________$$___$$___________$$____$$$$$$$_$$__________
___________$$$$$$$$$__________$$____$$___$$_$$__________
__________$$_______$$_________$$____$$$$$$$_$$__________
________________________________________________________
__________$$$______$$$_$$$$$$_$$___$$__$$$$$$___________
__________$$$$____$$$$_$$_____$$___$$_$$___$$___________
__________$$_$$__$$_$$_$$$$$__$$$$$$$__$$$$$$___________
__________$$__$$$$__$$_$$_____$$___$$__$$__$$___________
__________$$___$$___$$_$$$$$$_$$___$$_$$___$$___________
________________________________________________________
_____$$$_$$_$$$$$$$_$$$$$$$_$$____$$_$$______$$_$$______
____$$$$_$$_$$___$$_$$______$$___$$$_$$______$$_$$______
___$$_$$_$$$$$___$$_$$$$$$$_$$__$$$$_$$__$$__$$_$$$$$$$_
__$$__$$_$$_$$___$$_$$___$$_$$$$$_$$_$$__$$__$$_$$___$$_
_$$___$$_$$_$$$$$$$_$$$$$$$_$$$___$$_$$$$$$$$$$_$$$$$$$_
________________________________________________________
_________________________$$$$___________________________
________________________$$__$$__________________________
________________________$____$$_________________________
____________________________$$__________________________
___________________________$$___________________________
__________________________$$____________________________
__________________________$$____________________________
________________________________________________________
__________________________$$____________________________
________________________________________________________
__$$$$$__$$$$$____$$$$$__$$$$$
_$$$$$$$$$$$$$$____$$$$$$$$$$
_$$$$_$$$$_$$$$_____$$$$$$$$
_$$$$_$$$$_$$$$_______$$$$
_$$$$_$$$$_$$$$_______$$$$
_$$$$_$$$$_$$$$_______$$$$
_$$$$_$$$$_$$$$_______$$$$
_$$$$$$$$$____$$$$$$$$___$$$$$$$$$___$$$$$__$$$$$
_$$$$$$$$$$__$$$$$$$$$$__$$$$$$$$$$___$$$$$$$$$$
_$$$$__$$$$__$$$$__$$$$__$$$$__$$$$____$$$$$$$$
_$$$$$$$$$___$$$$__$$$$__$$$$$$$$$_______$$$$
_$$$$$$$$$$__$$$$$$$$$$__$$$$$$$$$$______$$$$
_$$$$__$$$$__$$$$__$$$$__$$$$__$$$$______$$$$
_$$$$$$$$$___$$$$__$$$$__$$$$$$$$$_______$$$$
_$$$$$$$$$$$$$___________$$$$$$$$___$$$$$$$$
_$$$$$$$$$$$$$__________$$$$$$$$$$_$$$$$$$$$$
_____$$$$$______________$$$$$$$$$$$$$$$$$$$$$
_____$$$$$_______________$$$$$$$$$$$$$$$$$$$
_____$$$$$_________________$$$$$$$$$$$$$$$
_____$$$$$___________________$$$$$$$$$$$
_$$$$$$$$$$$$$_________________$$$$$$$
_$$$$$$$$$$$$$___________________$$$
_$$$$$$__$$$$$$___$$$$$$$$$___$$$$$__$$$$$
__$$$$$$$$$$$$___$$$$$$$$$$$__$$$$$__$$$$$
___$$$$$$$$$$____$$$$___$$$$__$$$$$__$$$$$
______$$$$_______$$$$___$$$$__$$$$$__$$$$$
______$$$$_______$$$$___$$$$__$$$$$__$$$$$
______$$$$_______$$$$$$$$$$$__$$$$$$$$$$$$
______$$$$________$$$$$$$$$____$$$$$$$$$$
__§$§$_$§$§______________________§$§$§$__________________
_§$___§___$§____________________§$___§$__________________
_§$_______$§_____________________§$§$§$__________________
__§$_____$§_______________________§$_§$__________________
___§$___$§______________________$§$__§$__________________
____§$_$§________________________________________________
_____§$§____§$§$§$____§$§$§$_____________________________
______§___§$§_____§$§$_____§$§___________________________
__________§$§______§$______§$§___________________________
___________§$§____________§$§____________________________
____________§$§__________§$§_____________________________
_____________§$§________§$§______________________________
______________§$§______§$§_______________________________
_______________§$§____§$§________________________________
________________§$§_§$§__________________________________
_________________§$§$§_________§$§$_$§$§_________________
__________________§$§_________§$___§___$§________________
______________________________§$_______$§________________
_§$§$§$_§$§$§_§$§$§__§$§$§_____§$_____$§_________________
___§$___§$____§$____§$__$§______§$___$§__________________
___§$___§$§$§_§$§$§__§$§$§_______§$_$§___________________
___§$___§$____§$__$§__§$$§________§$§____________________
___§$___§$§$§_§$§$§_$§$_$§_________§_____________________
_________________________________________________________
............................................................................
............................................................................
.....................,,;1vvv;;;,;;;,;;;;;;;vv;;;,,,......................
...............,,;v7LLrv;;;,,,,;;;;;,,;;,,;;;vvcVFAF;;................
..........,,1VU2OC1v;;;;;,;;,,;,,,,,,,,,,,,,;;;vvrt8jBG,............
......,16QFU2L71;;;;;;;;;;,,,,,,,,.,,..,..,,.,,,,;;vWkML...........
.....8NGQOCvv;,,,,,,,,,,,,,,.,,,,,..,,.........,,,;;;v;;;11v,,......
...0ij0221v;;,,............,,,,,,,,,,,,..,,,,,,,,,,,,.....,,;;;vvO1....
.CN#FO1;;,,................,,,,,,,,,,,,,,,,,;;;;;,.........,,;vvJUr..
.FN#2Ov;,...,....................,.,,..,,,,,,,,,.........,...,1LVF0,,
;68GULv,,..,,,,,.,,.......................,...,.........,,,,,..;OtA#6
t00GJ1,,...,,,,,,,,.,,..,.......................,......,,,,,,,,,.;OI6gN
#GUCv,,,,,,,,,,,,,,,,,................,.............,,,,,,,,,,,,,vItt@
U6VLv;;,,,;,,,,,,,..,,,,,,,,,.....,,.,,..,,,,,.....,,,,,,,,,,,;;,,,O68M
W6tv;;;;,,,,,,,;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,,,,;;;;;Wt#I
rQ6Jcv;;,,,,,;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;,,,,;;;;1LJ86t
rL2GL;,,,;,,,,,;;,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,;;;;,,,,,;;;;;;C6#Q
tJVOr,,,,;;;,,;,,,,,,,,,,,..,.........,,,,,...,.,,,,,,,,,,,vvvv;;10M6
O,;;,,,,,;;,;;,,,,................,....,,,......,,,,,..,..,,,;;;;v;;#IUL
;;;,.,,,,;,,;;vvv1v;v;,,;v1,,,,,,,..,,,,,,,,,..,..,,.,,..,,,;1v;7AI..
Crv;,,;,,;,,,;vLF#66$$$NMGWv;;vv,vrrLUA88FFWLOvv;;7Lv..
vrv;,;;;;,,,,,,,,,;;,,,1JJ,;CUQ#V;;;;Ot#WUB$2Q8k21;;;vcJ....
...;v;1v;,,,,,.,,,,,;;,,,,;v111LO1;.,1FLLLC,;;,,,,;;;;,,,,vO;,....
...;vrvvv;;;,,,,,,,,;;vvv;;;,;;,,v,,..,v1;;;vr1;v;;;;,,;,,L1;.......
...;1rv;;;;;;v;;,,,,,,,,,.,,.,,,,,;,,,..,,;;;;,;;,;;;;;;,,;,,vQ,.........
...;1Lvv;,,;;;v,,,,,,,,,,,,,;;;;,,,,...,,;v;;;,,,,,,,,,,;;;CC,.........
.....F1;;;,1v;;;;,,;,,,,;;v1v;,,,......,,;1v;,,,;;,;;;;;;vOJ,,.....11
.....1c1;;;1r1v;;;,,;;;;;;;1;,..........,,,,v;;;;,;;;;vvv;1$$$$$$$
;7A@I2rvvv1v;;;;;,,,,.,,,;CL1,,,...,;;v;;,,,;;;;;;;v;,J@BB$$$$$
$$$$6cGUrvvr;;;vvv;;;,,,,,;;rVU2OLLv;,,,,;;vvv1vM$$@NMg8
B@$#;.m0L;;;11WA#ItOv;;;;vrV11vv1OJLL7CLJ;,$$BB@NjMjj
@B$$W..m82r1rr1vv1OFUUWL7LUQF2F2VLrLJV1.mB$@BiNiiiNN
$B$$$B0...v0ij8F1;;;;;vCVWQ2QOV11vv1OGm;...V@$B@@i@
iB$$$$$N1....CN$0C;;;,,;;;vvv;;;;;;;;;vO#W,.....,;N$B@Niiigj
iBB$$$$$BU......C@$8QrrC1r11vv11LF62,,..........L8$$iii@@@
NBiiB$$$$$$I........,,LAMgjNjjNj8I6AJ;,................;B$B@@@
N@BB$$$$$$6,..............,,,,,,.JIBv,..................,Q$B@@@
@@$$BBB$$$@7.................,1$$$$8J;,..............W$@@@
@N@$B$$$$B$BNr.............,;@BN8BB$$BW,..........G$B@
------------- $$$$$$$$$$$$ ------
---------- $$$$$$$$$$$$$$$$ -------
-------- $$$$$ ------------- $$$$ --------
------ $$$$$ -----$$$$$$--------------------
------ $$$$$ -----$$-------$$---$$-------------- --
------ $$$$$ -----$$$$-----$$-$$--$$$------$$$-
------- $$$$$ ----$$----------$$-----$$$-----$$$-
--------- $$$$$ --$$$$$$--$$-$$----$$$--$$$-
----------- $$$$$ ----------$$----$$---$$$-$$$-
-------------- $$$$$$$$ ----------------$$$$$-
-------------------- $$$$$$$$ ----------$$$$-
---------------------- $$$$$$$$ -------$$$$-
-------------------------- $$$$$$ -----$$$$-
-------------------------- $$$$$$ ----$$$$-
--- $$$ ------------------ $$$$$$ --$$$$-
- $$$ -------------------- $$$$$$ -------
- $$$ ------------------- $$$$$$ ------
-- $$$ ---------------- $$$$$$ ------
---- $$$ ------------- $$$$$$ -----
------ $$$$$$$$$$$$$$$$ -----
-------- $$$$$$$$$$$$$ ------
------------- $$$$$$$ -----
__________________________________$$$$$$_$$$____
__________________________________$$$$$$_$$_____
__________________________________$$_$$_$$$_____
__________________________________$$$$$$$$_$$___
______________$$$$$$$____________$$$$$$$$_$$$$$$
____________$$$$$$$$$$$$$$$$$__$$$$$__$$$$$$$$$
__________$$$$_____$$$$$$$$$$$$$$$__$$$$$$$$$___
_________$$$$______$$$____$$$$$$____$$$$$$______
_________$$$______$$$___$$$$$$$$$_______________
________$$$____________$$$$__ $$$$_______________
________$$$___________________$$$$_______________
________$$$___________________$$$$_______________
________$$$__________________ $$$$_______________
_________$$$________________$$$$$________________
____$$$_$$$$$_____________$$$$$$_________________
___$$$$$$$$$$$__________$$$$$$___________________
__$$$$$$$$_$$$$_______$$$$$$_____________________
_$$$$$$$$$__$$$$____$$$$$________________________
$$$$$$$$$____$$$__$$$$$__________________________
______________$$$$$$____________________________
_______________$$$______________________________
_______________$$______________
_________§§§§________$$$_________$$$________§§§§__________
_______§§____§§___$$$$$$$$$___$$$$$$$$$___§§____§§________
______§§__§§____§$$$$$$$$$$$$$$$$$$$$$$$$§____§§__§§______
_____§§__§§__§§_$$$$$$$$$$$$$$$$$$$$$$$$$$_§§__§§__§§_____
____§§__§§__§§___$$$$$$$$$$$$$$$$$$$$$$$$___§§__§§__§§____
____§§_§_§_§_§_§___$$$$$$$$$$$$$$$$$$$$___§_§_§_§_§_§§____
___§§___§_§_§________$$$$$$$$$$$$$$$$________§_§_§___§§___
___§§__§_§_____________$$$$$$$$$$$$_____________§_§__§§___
__§§__§__________________$$$$$$$$__________________§__§§__
__§§§______________________$$$$______________________§§§__
__§_________________________.$_________________________.§__
______________o$$$$$$$$$$$$$$$o
__________o$$$$$$$$$$$$$$$$$$$$$$$o
________$$$$___$$$$$$$$$$$$$$$$$$$$$
______$$$$______$$$$$$$$$$$$$$$$$$$$$$
____$$$$$________$$$$$$$$$$$$$$$$$$$$$$$
___$$$$$__________$$$$$$$$$$$$$$$$$$$$$$$
__$$$$$_____*______$$$$$$$$$$$$$$$$$$$$$$$
_$$$$$$____________$$$$$$$$$$$$$$$$$$$$$$$$
_$$$$$$___________$$$$$$$$$___________$$$$$$
_$$$$$$$_________$$$_$$$_$$$_________$$$$$$$$
_$$$$$$$$______$$$$___$___$$$$______$$$$$$$$$$
_$$$$$$$$$$$$$$$$$___$$$___$$$$$$$$$$$$$$$$$$$
_$$$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_o$$$$
_$$$__$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$__$$$$$
__$$$__$'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$__o$$$$
__'$$o__$$__$$'$$$$$$$$$$$$$$'$$__$$_____o$$
____$$o$____$$__'$$'$$'$$'__$$______$___o$$
_____$$$o$__$____$$___$$___$$_____$$__o$
______'$$$$O$____$$____$$___$$ ____o$$$
_________'$$o$$___$$___$$___$$___o$$$
___________'$$$$o$o$o$o$o$o$o$o$$$$
______________o$$$$$$$$$$$$$$$$$o
_________________'$$$$$$$$$$$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~##~~~~~~~~~~~~~#~~~~~~~~~~~
~~~~~~~~~~~#~~~~~~~~~~~~~~~~~~~###~~~~~~~~~~~~#~~~~~~~~~~~
~~~~~~~~~~~##~~~~~~~~~~~~~~~~~~###~~~~~~~~~~~~#~~~~~~~~~~~
~~~~~~~~~~~~#~~~~~~~~~~~~~~~~~####~~~~~~~~~~~~#~~~~~~~~~~~
~~~~~~~~~~~~##~~~~~~~~~~~~~~~~####~~~~~~~~~~~##~~~~~~~~~~~
~~~~~~~~~~~~##~~~~~~~~~~~~~~~~####~~~~~~~~~~~##~~~~~~~~~~~
~~~~~~~~~~~~###~~~~~~~~~~~~~~~#####~~~~~~~~~~##~~~~~~~~~~~
~~~~~~~~~~~~~##~~~~~~~~~~~~~~######~~~~~~~~~~##~~~~~~~~~~~
~~~~~~~~~~~~~###~~~~~~~~~~~~~######~~~~~~~~~~##~~~~~~~~~~~
~~~~~~~~~~~~~###~~~~~~~~~~~~~######~~~~~~~~~###~~~~~~~~~~~
~~~~~~~~~~~~~####~~~~~~~~~~~~######~~~~~~~~~###~~~~~~~~~~~
~~~~~~~~~~~~~#####~~~~~~~~~~~######~~~~~~~~~###~~~~~~~~~~~
~~~~~~~~~~~~~~####~~~~~~~~~~~######~~~~~~~~####~~~~~~~~~~~
~~~~~~~~~~~~~~#####~~~~~~~~~~######~~~~~~~#####~~~~~~~~~~~
~~~~~~~~~~~~~~#####~~~~~~~~~~######~~~~~~~#####~~~~~~~~~~~
~~~~~~~~~~~~~~######~~~~~~~~~######~~~~~~#####~~~~~~~~~~~~
~##~~~~~~~~~~~#######~~~~~~~#######~~~~~~#####~~~~~~~~~~~~
~~###~~~~~~~~~~#######~~~~~~#######~~~~~######~~~~~~~~~~~~
~~~###~~~~~~~~~#######~~~~~~#######~~~~#######~~~~~~~##~~~
~~~~~###~~~~~~~#######~~~~~~######~~~~~######~~~~~~~###~~~
~~~~~####~~~~~~~######~~~~~~######~~~~#######~~~~~~###~~~~
~~~~~~#####~~~~~#######~~~~~######~~~~#######~~~~####~~~~~
~~~~~~~######~~~~######~~~~~######~~~~######~~~~#####~~~~~
~~~~~~~#######~~~#######~~~~######~~~#######~~~#####~~~~~~
~~~~~~~~#######~~~######~~~~#####~~~~######~~######~~~~~~~
~~~~~~~~~#######~~#######~~~~####~~~#######~#######~~~~~~~
~~~~~~~~~########~~######~~~#####~~#######~#######~~~~~~~~
~~~~~~~~~~########~~#####~~~~####~~##############~~~~~~~~~
~~~~~~~~~~~########~######~~~####~~#############~~~~~~~~~~
~~~~~~~~~~~~########~#####~~~###~~##############~~~~~~~~~~
~~~~~~~~~~~~~########~####~~~###~~#############~~~~~~~~~~~
~~~~~~~~~~~~~~#######~#####~~###~#############~~~~~~~~~~~~
~~###~~~~~~~~~~#######~####~~##~~############~~~~~~~~~~~~~
~~~#######~~~~~~~######~###~~##~###########~~~~~~~~~~~~~~~
~~~~~#########~~~~~#####~##~~##~##########~~~~~~~~~~##~~~~
~~~~~~~##########~~~########~###########~~~~#########~~~~~
~~~~~~~~############~#######~######################~~~~~~~
~~~~~~~~~~############~~############~###########~~~~~~~~~~
~~~~~~~~~~~~#############~#####################~~~~~~~~~~~
~~~~~~~~~~~~~~###############################~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~####################~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~#########~#####~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~#########~~~#~#####~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~######~~~~~~~#~~####~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~####~~~~~~~~~~#~~~####~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~##~~~~~~~~~~~~~#~~~~~###~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~##~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~##~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~##~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~~~#~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~