::::::::
::::::::::::: :::::::::::::::::::::
:::::::::::::::::::: :::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::. .:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::: ::::::::::::::::::::::::..... ::::::::::::::::::::::::::
::::::::::: :::::::::::::::::::::::: .:::::::::::::::::::::::::
::::::::::: :::::::::::::::::::::. .::::::::::::::::::::::::::
::::::::::: ::::::::::::::::::::::. ::::::::::::::::::::::::::::
:::::::::::: ::::::::::::::::::::::::::. ::::::::::::::::::::::::::::::
:::::::::::::::: .::::::::::::::::::::::::::: :::::::..:::::::::::::::::::::::
:::::::::::::::::: ::::::::::::::::::::::::::. ::::::: .:::::::::::::::::::::::::
:::::::::::::::::: .:::::::::::::::::. :::::: ...:::::::::::.:::::::::::::::::::::::
:::::::::::::::::: .:::::::::.. :::: .:::::. .:::::::::::.::::::::::::::::::::::::
::::::::::::::: .:::::::::. .::::.::::::. .:::::::::::::::::::::::::::::::::::::::::
:::::::::::: :::::::::::.. :::::::::::. ::::::::::: .:::::::::::::::::::...:::::::::::::::::::::::
:::::::::::. ::::::::::: :::::::::::. .::::::::::::: :::::::::::::::::::::: ..:::::::::::::::::::::::
:::::::::: :::::::::: .:::::::::::. . ::::::::::::::: .::::::::::::::::::::::::. ..:::::::::::::::::::::
:::::::: .:::::::::. ::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::. .::::::::::::::::::::
.:::::::::. .:::::::::..::::::::::::::::::::::::::::::::::::::::::::::::::::. .:::::::::::::::::::
:::::::::: ::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::::
.::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .::::::::::::::::
:::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::
:::::::::: ::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::. . ::::::::::::::::::::::
::::::::::. :::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::::::::::
:::::::::: :::::::::.:::::::::::::::: ::::::::::::::::::::: ...:::::::::::::::::::::::::::::::::::::::::::::::
::::::::: :::::::::: .::::::::::::: ::::::::::::::::::::::. ...:::::::::::::::::::::::::::::::::::::::::::
:::::::::: :::::::::: . ::::::::::::: :::::::::::::::::::::::: .:::::::::::::::::::::::::::::::::::::::::
:::::::::: :::::::::: :::::::::::: :::::::::::::::::::::::: :::::::::::::::::::::::...::::::::::::::
::::::::::. .:::::::::. ::::::::::::: ::::::::::::::::::::::. .::::::::::::::::::::: ::::::::::::
::::::::::. :::::::::: ::::::::::::: :::::::::::::::::::::: :::::::::::::::::::..::::::::::::
::::::::::. ::::::::: :::::::::: ::::::::::::::::::::::: ::::::::::::::::::::::::::
..::::::::...:::::::::: ::::::::::::::::::::: .::::::::::::::::::::::::
.:::::::::::::::::::: .::::::::::::::::::::::
.::::::::::::::::::: :::::::::::::::::::
::::::::::::::::::: .::::::::::..
::::::::::::::::::: .....
::::::::::::::::::
.:::::::::::::::::.
::::::::::::::::::
:::::::::::::::::
::::::::::::::::
:::::::::::::
...:::::::::
.:::::::
.:::
.........
............
..............
....................
......... ............................
...............................................
..............................................------
.........................................:---------- .............
.......................................*------------------ ... .........................
.....................................-*-------------------- ...... ................................
....................................----------------------- .......... .....................................
............................... ------------------------- ........... .........................................
....................... ------------------------- .......................................................
------------------------- .......................................................
-------------------------- .......................................................
-------------------------- ................................ .................
------------ ------------------ ............................ ...........
----------- ----------------- ...................... ........
--------- -------------- ................. ........
-------- -------------- ............ .......
-------- *------------- .....
-------- -------------
-------- ------------
------- ---------
------- -----