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