..%%88ttSS@@8888888@@SStt88%%.
@@;888888888888888888888888888888;;@@
::@@8888888....:::::::::::::::::::....8888888@@::
..@@888888..:::::::..@@88@@@@@@@88@@..:::::::..888888@@..
@@888888..:::::8888@@SStttttttttttttttSS@@888::::::..888888@
@@888888..:::::8888@@SStttttttttttttttSS@@888::::::..888888@
%8888..::::XXXXX%%tt%%tt%%%%tt%%%tt%%%%tt%%tt%XXXXXX::::..888%%
::SS888::::..SSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SSSS..::::888SS::
tt8888.::::88@@%%%%SSSSSSS%%%%%%%%%%%%%%%%%%%%%%%SSSSSSS%%%%@@88:::..8888tt
tt8888:::..XXSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSXX.::::8888tt
;;8888::::.SSXXSSXXXXXXXXSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSXXXXXXXXSSXXS..::::8888;;
..SS88::::..SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSS..::::88SS..
..%%88..::..@@X888888888888888888888888888888888888888888888888888888888888XX@@..::..88%%.
.@@88..::..88888888888888888888888888888888888888888888888888888888888888888888888..::..88@..
.@@88..::..88888888888888888888888888888888888888888888888888888888888888888888888..::..88@..
..:8888::....88888888888888888888888888888888888888888888888888888888888888888888888....::888::..
....X88::::..888888888888888888888888888888888888888888888888888888888888888888888888888..::::8XX....
..tt@88::....XXSSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSSXX....::8@@tt..
..::SS8::SSSSXX888888888@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@888888888XXSSSS:88SS::..
..;;888%%888888888888888@@@@@@8888@@888888888888888888888888888888888@@8888@@@@@@888888888888888%8888;;..
..::8888:tt::::::::..;;S;;;;;;;;;;XX@@888SS88888888888888888888888SS888@@XX;;;;;;;;;SS;;..::::::::t::8888::..
..:: 88:XX::::::..88 ..::ttXX888XXSSXX88@@@@SS888SS@@@@88XXSSX8888XXtt::.. 88..::::::@::88 ::..
::tt88..:SS::::::%%:: .;;SSXX::::;;SSXXXSS;;::::XXSS;.. ::%%::::::S::..88tt::
::tt88..:SS::::::%%:: .;;SSXX::::;;SSXXXSS;;::::XXSS;.. ::%%::::::S::..88tt::
..::@@88:::;;88::::SSXX%%ttttttttt%%%%%%SSSXX88;;:::::::::::::::;;88XXSSSSS%%%%ttttttttt%%XXSS::::88;::::88@@::..
..;;SS88:::..XX::;;%%@@88888888888888888@@@XXSS::;;::::@@@::::;;;;@@888888888888888888@@XXSS;;;;::XX.::::88SS;;..
..;; 88::.::%%%%;;;;;;XX@@@XXXXXXXXXXXXXXXXXSS::%%::;;ttt;;::;;::SSXX@XXXXXXXXXXXXXXXXXXX;;;;;;%%%%:..::88 ;;..
::tt88..::.....88;;;;;;XX@@@@@@@@@@@@@@@@@@@@SS;;SS;;88;;;88;;SS;;;;XX@@@@@@@@@@@@@@@@@@XX;;;;;;88.....::..88tt::
::tt88..::.....@@;;SS;;XX@@@8888888888888@@@@;;SS;;;;%%:::%%;;;;SS;;@@888888888888888@@@XX;;SS;;@@.....::..88tt::
::SS@@::::...::::XXXX;;SS888888888888888888@@;;@@;;88::...::88;;@@;;@@888888888888888888SS;;XXXX::::...::::@@SS::
::SSXX::::.......XX%%XX;;@888888888888888@@;;XXSSttSS::...::SSttSSXX;;@888888888888888@@;;XX%%XX.......::::XXSS::
..::XX88::::.....::ttXX@@@@;XX@@8888888888@;;XX@@;;SS..::...::..SS;;@@XX;@@8888888888@@X;;@@@@XXtt::.....::::88XX;;..
..::XX88::::.....::ttXX@@@@;XX@@8888888888@;;XX@@;;SS..::...::..SS;;@@XX;@@8888888888@@X;;@@@@XXtt::.....::::88XX;;..
::XXXX::::.......::@@;;@@8@@SSSSSSSSSSSSS8888;;@@%%::.......::%%@@;;888SSSSSSSSSSSSSS@88@@;;@@::.......::::XXXX::
::@@88..::.......::;;XX88;@@8888888888888XX;;%%XX::...........::XX%%;;X88888888888888@;;88XX;;::.......::..88XX::
::@@88..::.........::ttSSSXX%%;;;;;;;;%%8SSSS%%;;::...........::;;%%SSS88%%;;;;;;;;%%XSSSStt::.........::..88@@::
::@@SS88::...........::;;tSSttSS%%SSSS%%S%%tt::::...............::::tt%SS%%SSSS%%SSttStt;;::.........::::88SS@@::
::XX..88;;:..............:;;tttttttttttt;::::.......................:::;;tttttttttttt;::.............::;;88..XX::
..SS%%88;;:..........................................................................................::;;88%%SS..
..tt88XX:::...................;;tt.............................................%%....................::::XX88tt..
;;8888..:...................XX88%%.........................................tt88....................::..8888;;
;;8888..:...................XX88%%.........................................tt88....................::..8888;;
::88..88:::...................88XXtt%%.................................SS88SSXX...................:::88..88::
..SSXXXX:::...................tt888888%SS...........................@tt8888SS%%...................:::XXXXSS..
tt88;;8::...................%%XX88@@888ttSSSS.........tt..::@@%%tt8@@88SSSS.....................:88;;88tt
::88%%8::::...................%%SS%%888888888tt%%tt%%%tt%%88888888@88XXSS.....................:::88%%88::
SSXX;88::.....................%%SS@88888888888888888888888888888888%%.......................::8;;XXSS
::88tXX::::.......................t@@XX888888@@@@@@@@@888888tt@@X;;.......................::::Xtt88::
..SSX 88::::......................tt%%XXSSXX%%%%%%%%%SS@@88XXtt%.......................::::88 XXSS..
::8%%@@..::..........................%%;;tt%%XXXXXXX%%tt;;%%..........................::..@@%88::
::8%%@@..::..........................%%;;tt%%XXXXXXX%%tt;;%%..........................::..@@%88::
%88;;88..::................................%%%%%%%................................::..88;;8%%
.XXXX..XX::::...................................................................::::XX..XXX..
;;@@SS..SS::::...............................................................::::SS..SS@@;
tt88%%..XX:::............................................................::..XX..%%88tt
%%88%% 88.::::.....................................................:::..88 %%88%%
..%%88%%..888::::.................................................::::888 %%88%%..
..%%88SS.;;XX..::::.........................................::::..XX;..SS88%%..
..tt88X;; XX..::::::...............................::::::::..XX ;XX88tt..
..tt88X;; XX..::::::...............................::::::::..XX ;XX88tt..
tt@88%%....XXXX..:::::::::...............:::::::::..XXXX....%%8@@tt
;SS88@@%%.. ;;8....:::::::::::::::::::::::...88;; ..%%@@88S;;
..ttXX88@@SS::. ::tt8888@@XX...XX@@8888tt:: ..::SS@@88XXtt.
::ttXX8888X%%;;::.. ..::;;%XX8888XXtt::
::ttSS@8888@@XXSSSS%%%%%%%SSSSXX@@888@@SStt::
..:tt%%SSXX888888888888888XXSS%%t::..
....::;;;;;;;;;;;;;;;::....