::::::::.
:::::.
:::.
:::
::.
::
::
::. ....
::: ...::::::::.
:::: .:::::::::::::. ............
::::::...::::::::::::::::. .::::::::::::::.
:::::::::::::::::::::::::. ::::::::::::::::
:::::::::::::::::::::::::: .::::::::::::::::. ..
::::::::::::::::::::::::::. :::::::::::::::::::.....::::::.
::::::::::::::::::::::::::. ::::::::::::::::::::::::::::::.
::::::::::::::::::::::::::. :::::::::::::::::::::::::::::::
::::::::::::::::::::::::::. :::::::::::::::::::::::::::::::.
::::::::::::::::::::::::::. ::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::. ::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::. =::::::::::::::::::::::::::::::.
::::::::::::::::::::::::::. -::::::::::::::::::::::::::::::.
::::::::::::::::::::::::::. :-::::::::::::::::::::::::::::::
:::::::::::::::::::::::::: :-:::::::::::::::::::::::::::::.
:::::::::::::::::::::::::: ::::::::::::::::::::::::::::::.
:::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
::::::::::::::::::::::::::: .::::::::::::::::::::::::::::::
::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::.
::::::::: .::::::::::::::-. .::::::::::::::::::::::::::::::.
::::::::: . .....:. .::::::::::::::::::::::::::::::.
::::::::. ::::::::::::::::::::::::::::::.
:::::::: ::::::::::::::::::::::::::::::
:::::::: ....::::::::::::::::::::::::::
:::::::: ....::::::::::::::::::.
:::::::: .....::::::::::.
:::::::: .:.
:::::::.
:::::::
::::::.
::::::.
::::::.
::::::: -
:::::::. .-:-
::::::: :----
::::::. ....:::::::::::::::......... +----
::::::. ......::::::..................... ::::::::::::::::::::::::::::::::::::.... ............::::. -----
::::::. .::::::::::::::::::::::::::::::::::. .:::::::::::::::::::::::::::::::::::::::. ..::::::::::::::::: . .------
::::::: .::::::::::::::::::::::::::::::::::. .::::::::.:::::...:-::::::::::::::::::::. ..:::::::::::::::::: .......::::::------
:::::::. ::::::::::::::::::::::::::::::::::. ::::::::. --:::::::::=--::::::::. ..:::::::::::::::::::.......::::::::::::::::------
:::::::: .:::::::::::::::::::::::::::::::::. ..::::... :--:..::::. ----:::::::. ..::::::::::::::::::::::::::::::::::::::::::------
::::::::: :::::::::::::::::::::::::::::::::: ..::::.. --- .... +---:::::::. ..::::::::::::::::::::::::::::::::::::::::::------
:::::::: .:::::::::::::::::::::::::::::::::: ::::::. *--.:: : *---*::::::. .::::::::::::...::::::::::::::::::::::::::::-----
:::::::: :::::::::::::::::::::::::::::::::. ....... .:. .----::::::. :::::::::::.....::::..::::::::::::::::::::::-----
::::::::: ::::::::::::::::::::::::::::::::: ....::.. :-- ----:::::.. :::::::::::......::.......::::::::::::::::::-----
:::::::: :::::::::::::::::::::::::::::::::: .:.::.:.. ...-: . :-+-:::::.. ::::::::::......:.........::::::...::::::::-----
::::::::: .:::::::::::::::::::::::::::::::::: ::.::.:. .. =--:. ::::::::::.. .:::::::::......:.......... :.....::::::::-----
:::::::::: .::::::::::::::::::::::::::::::::::: .:::::.:. :::. -=-::+ ::::::::::::.. .:::::::::.....:::........ :::...:::::::::-----
:::::::::: :::::::::::::::::::::::::::::::::::: :::::::::. :::: :::::::::::::::::.. ::::::::::....::::........:::::....::::::::-----
:::::::::: :::::::::::::::::::::::::::::::::::: ::.::::::::::. .-- .::::::::::::::. :::::::::....:::........::::::...:::::::::-----
:::::::::: .:::::::::::::::::::::::::::::::::::. .::::::::: : :--= .::::: :::::::-:. :::::::.....:::.......:::::::...:::::::::-----
:::::::::: :::::::::::::::::::::::::::::::::::. ..::::::: :----:.:::: ::::::::-- .:::::::....:::.......::::::.....:::::::::-----
:::::::::: ::::::::::::::::::::::::::::::::::: .::::::. ::::--: :::::::.:-. .:::::::....::........::::::.....::::::::::----
:::::::::. .:::::::::::::::::::::::::::::::::: ::::.:::. :::::---- ::::::::--. .::::::::..:.:.......::::::......:::::::::+----
:::::::: ::::::::::::::::::::::::::::::::::: ..::::::. ::::::+---- .:::::::::::-:. .::::::::...........::::::......::::::::::=---
:::::::. :::::::::::::::::::::::::::::::::::-. ::::::. ... .----: ::::::::::::-.. .::::::::..........::::::......:::::::::::----
::::::: ::::::::::::::::::::::::::::::::::--+ :::::::.-::.. .----::::.::::::::::::... ::::::::..........::::: ......:::::::::::----
::::::: ....:::::::::::::::::::::::::::::---. ::::::::::::. :--=-:::::. .::::::::::... .::::::::........::::: .....:::::::::::::----
::::::. .:::::::::::::::::::::::::::=-: .:::::::::::.:::::::::::: .::::::::::... .:::::::.........:::: ::....:::::::::::::-+-
::::::: .:::::::::::::::::::::::::: . .:.::::::.:::::::::::::::..::::::::::::.. ::::::::..........:::::::...:::: ::::::::::-
:::::::. .:::::::::::::::::::::::: :::::....:::::::::::::::..::::..:::::::.. :::::::::...:.....: ::::....:: ::::::::::
:::::::. :::::::::::::::::::::. :-:::::::::::.............::::::::::::::.. :::::::::::::...::::::::....::::::::::::::::
:::::::: . .. .....:::. ::.:::::::::::....:::::::::::::::::::::::.. ::::::::::::::..::::::::...:::::::::::::::::
:::::::::::::-:... .. ..:::::::::::::::::::::::::::::::.. .:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::...... ....:::::::::::::::::::::::::::. :::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::.. ..:::::::---:::::::::... ::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::.. . . :--:. .....::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::: .::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::: ..:::::.:::::::::::::::::::::::
:::::::::::::::::::::::::::::::::. .:: : :::::::::::::::
:::::::::::::::::::::::::::::::::. ..---:. ..:*-:::::::
::::::::::::::::::::::::::::::::. ..:::::::::. --:::::::
::::::::::::::::::::::: :::::: .::::....:::::::::::::::: .-.:::::
:::::::::::::::::::::::: -:::::. .::::::::::::::::::::::::.
::::::::::::::::::::::::::::::::. ::::::::::::::::::::::::::. ::
::::::::::::::::::::::::::-=-::. .:::::::::::::::::::::::::::: .=+. ..
:::::::::::::::::::::::::-:--:. .:::::::::::::::::::::::::::: .*::::::..... ......
::::::::::::::::::::::::::--:: .::::::::......:::::::::::::: .::::::::::::::::::::::::::.....
::::::::::::::::::::::::::--=:: .:::::::::......::::::::::::: .:::::::::::::::::::::::::::::..
:::::::::::::::::::::::::---::: ::::::::::.......:::::::::::: .:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::----::. ::::::::::......::::::::::::-. .:::::::::::::::::::::::::::::::. . .
:::::::::::::::::::::::::::---::: .:::::::::::.:........:::::::-: .:::::::::::::::::::::::::::::::. ..... ...
::::::::::::::::::: ::::::--::::: .::::::::::::::::.....:::::::-- :::::...:::::::::::::::::::::::: :......:.......
::::::::::::::::::: ::::::--::::: .:::::::::::::::.....:::::::::: ::::::.::::::::::.....:::::::::: .::::::..........
:::::::::::::::::::: ::::---:::: ::::::::::::::::::....::::::::- :::::::....:::.......::::::::::: :::::::::::::...::::.
:::::::::::::::::::::::::::--::::. ::::::::::::::::::::...::::::::. :::::::: .........::::::::::::. :::::::::::::::::::::::... :
::::::::::::::::::::::::::=-=-:::. .:::::::::::::::::::....:::::... :::::::: ..........:::::::::::::. .:::::::::::::::::::::::::::. :=-*.
:::::::::::::::::::::::::::---:::. .:::::::::::::::::::....:::::.- ::::::::........:....:: ::::::::. .:::::::::::::::::::::::::::::::---:::::::
:::::::::::::::::::::::::::::::::. .:::::::::.:::::::: ..::::::::: :::::::........::...::::::::::::. .:::::::::::::::::::::::::::::::--:::::::::
:::::::::::::::::::::::::::::::::: ...:::::::...:::::: .::::::::. :::::::......::.....:::::::::::: .::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::: ...:::::::....:::: ::::::::::::. :::::::....::::.....::::::::::::: .::::::::...::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::: ...:::::::......:::::::::::::::. .::::::...:::::....::::::::::::::. .:::::::.....:::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::: ...:::::::......::::::::::::::... .:::::::::::::....:::::::::::::::. ::::::::....::::::::::::.:::::::::::::::::::
::::::::::::::::::::::::::::::::::. ....::::::.....::::::::::::::::.. .:::::::::::: ....::::: :::::::::. :::::::.....::::::::::::...:::::::::::::::::
::::::::::::::::::::::::::::::::::: ....::::::...:::::::::.::::::::.. .::::::::::: ....::: :::::::::. ::::::::...:::::::::::......::::::::::::::::
::::::::::::::::::::::::::::::::::::. ....:::::::..............::::::. .:::::::::::::...:::: :::::::::: :::::::....::::::::::: ......=-:::::::::::::
::::::::::::::::::::::::::::::::::::. :::::::::::::.....:.......:::::::: .::::::::: :::...:.: ::::::::: :::::::...::::::::::::: ....:---::::::::::::
:::::::::::::::::::::::::. .... :::::::::::::::...........:::::::: ::::::::::::::.... ::::::::: .::::::...::::::::::::: ...---:- ::::::::::
::::::::::::::::::::::::::::.::::::::::::::::::::::::...:::::::::. ::::::::::::::.... ::::::::: :::::::.::::::::::::::::::---.*. ::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::..... ::::::::: :::::::::::::::::::::::::::-:... ::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::.......:::::::::::::: ::::::::::::::::::::::::::--.... ::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::.......:::::::::::::: ::::::::::::::::::::::::.:-:.... ::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::........:::::::::::::. :::::::::::::::::::::....:-..:.. ::::::::::
::::---::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::.......::....::::::::. :::::::::::::::::........-::.... ::::::::::
----=::::::::::::::::::::::::::::::::::::::::::::::. :::::::::- .............:::::::. ::::::::::..............:-::::: ::::::::::
-=---+::::::::::::::::::::::::::::::::::::::::::::: .::::::::--::: :::::.........::::::.. :::::::::.............:--:::::: ::::::::::
------ :::::::::::::::::::::::::::::::::::::::::::: .:::::::::-:::..:::::.........::::::.. .::::::::............---::::::::::::::::::::
------- :::::::::::::::...:::::::::::::::::::....::::::::::::::.:::::::::::::..::::::.. .:::::::::........::----::::::::::::::::::::
------ ::::.....:.::::::::::::::::::::::::::::::::::::::::::::::::::::::::. .::::::::::::::::::-=---::::::::::::::::::::
------- ..........::....::::::::::::::::::::::::::::::::::::::::::::::::: .::::::::::::::::::::-::::::::::::::::::::::
------- ....................::::::::::::::::::::::::::::::::::::::::::::. :::::::::::::::::::::::::::::::::::::::::::
------- ...................-:...::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::
------- ................:---..::::::::::::::::::::::::::::::::::::::.. :::::::::::::::::::::::::::::::::::::::::::
-:----- ..........:----...:::::::::::::::::::::::::::::::::::::... :::::::::::::::::::::::::::::::::::::::::::
------- ------ ::::::::::::--::::::::::::::::::::::::.. ::::::::::::::::::::::::::::::::::::::::::::
-------- ------- ::::::::::-+---:::::::::::::::::::::::. ::::::::::-=--*::::::::::::::::::::::::::::
-------- ---------- -------::::::::::::::::::::: ---------::::::::::::::::::::::::::::
+------- ------------ ---------:::::::::::::::::: ------------ :::::::::::::::::::::::::
--------- ------------- -----:=::::::::::::::::: ------------- :::::::::::::::::::::
---------- ---------------- ---=-:::::::::::::::::::: -------------- :::::::::::::::::
-------------- -------------------- ::::::::::::::::::::::::: -----------:--- :::::::::::::
------------------------------------------- :::::::::::::::::::::::::---------------::::::::: :::::::::
---------------------------------------- ::::::::::::::::::::::::---------=:-::::::::::::::: ::::::
------------------------------------ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
------------------------------ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-------------------- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::
:::::::::::::::::::::