:::::
::::::::: :::::::::::::::
:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::. .:::
::::::::::::::::::::::::::::::::::::::::::::::.:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::..... ..::::::::::::::::::::
::::::::::: ::::::::::::::::::. .:::::::::::::::::::
::::::::: :::::::::::::::::. .:::::::::::::::::::::
:::::::::::: :::::::::::::::::::. .:::::::::::::::::::::::
::::::::::::::.. :::::::::::::::::::: .:::::..:::::::::::::::::::
:::::::::::::: :::::::::::::.::::: :::::: :::::::::::::::::::::
::::::::::::: .::::::.. .:: .::::. : .::::.::::::::::::::::::::::::
::::::::::. .:::::::. .::::::::. :::::: :::::::::::::::::::::::::::::::::
:::::::: :::::::.: :::::::: .::::::::. ::::::::::::::: ..::::::::::::::::::
:::::::. .:::::::. .::::::::. ::::::::::::.:::::::::::::::::: ..::::::::::::::::
:::::: .::::::: .:::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::
.::::::: .::::::::.::::::::::::::::::::::::::::::::::::::. ::::::::::::::
.::::::: .:::::::::::::::::::::::::::::::::::::::::::::::::. .::::::::::::
:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::
:::::::: .::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::
:::::::: :::::::..::::::::::: :::::::::::::::: .::::::::::::::::::::::::::::::::::
::::::: .::::::: :::::::::: :::::::::::::::::: .::::::::::::::::::::::::::::::
::::::: ::::::: :::::::::: ::::::::::::::::::: :::::::::::::::::..::::::::::
:::::::. .::::::. .:::::::::: ::::::::::::::::::. .::::::::::::::. ::::::::::
:::::::. ::::::: ::::::::: :::::::::::::::::: .:::::::::::::::::::::::
.:::::..::::::: ::::: ::::::::::::::::: ..::::::::::::::::::
::::::::::::::. ..::::::::::::::.
.::::::::::::: .....:::::. .
.:::::::::::::
.:::::::::::::
::::::::::::.
:::::::::::::
::::::::::::
:.::::::::
::::::
.......
..........
...........
...... ....................
....................................--
..................................:---- .........
...............................------------- ...................
.............................--------------- .... ...........................
..........................:=---------------- ....... ..............................
.........................------------------- .........................................
.................. ------------------- .........................................
-------------------- .........................................
------------------------ ......................... ...............
--------- -------------- ..................... ........
-------- ---------=- ............... .......
------ ----------- .......... .......
------ -----------
------ ----------
------ -------