..SS@@..8888XX888XX8888..@@SS.
88S..888888888888888888888888888.SS88
::SSXX88888..::::::;;;;;;;;;;;::::::..88888XXSS::
..SS888888..:;;::::::8888XXXXXXX8888::::::;::..888888SS..
88@@8888::;;:::8888SStt;;;;;;;;;;;;;;;ttSS888::::;;::8888@@8
88@@8888::;;:::8888SStt;;;;;;;;;;;;;;;ttSS888::::;;::8888@@8
;8888..;;::::88%;;tttt%%%%%%%%%%%%%%%%%%%tttt;%%88::::;;..888;;
;;88888;;::::88%%tt%SS%%%%%%%%%%%%%%%%%%%%%%%%%%%S%%tt%%88::::;;88888;;
tt@@88.;;::88SS%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%%SS88::;..88@@tt
tt..88:::::SS%%SSXXSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSXXSS%%SS:::::88..tt
;;@@88:::::88SSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSS8::::::88@@;;
..8888::::::8XX888888888888888888888888888888888888888888888888888888888X88::::::8888..
..::88::::::@@X888888888888888888888888888888888888888888888888888888888888XX@@::::::88::.
.8888..::::88888888888888888888888888888888888888888888888888888888888888888888888::::..888..
.8888..::::88888888888888888888888888888888888888888888888888888888888888888888888::::..888..
..;@@88;;::..88888888888888888888888888888888888888888888888888888888888888888888888..::;;88@;;..
....%88::::..8888SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS8888..::::8%%....
..tt888::::..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..::::888tt..
..::%%8;;::..@@XX88@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88XX@@..::;88%%::..
..;;XX8::::..888888888888888888888888@@888888888888888888888888888@8888888888888888888888888..:::88XX;;..
..::8888:::....8888888888888888888888888888888888888888888888888888888888888888888888888888888....:::8888::..
..;;XX88;::....8888888888888888888888888888XX8888888888888888888XX8888888888888888888888888888....:;;88XX;;..
::tt....:....SS888888888888888888888888888888XX888888888888888XX888888888888888888888888888888SS...::....tt::
::tt....:....SS888888888888888888888888888888XX888888888888888XX888888888888888888888888888888SS...::....tt::
..::8888:::......88@@@@@@@@@@@@@88XX@@88@XX@@8888@@@@XXXXXXX@@@@8888@@X@@88@@XX88@@@@@@@@@@@@@88.....::::8888::..
..;;%%88;;:......@@XXXXXXXXX@@@@@@XX@@@@XSSXX88XX;;...........;;XX88XXSXX@@@@XX@@@@@@XXXXXXXXX@@.....::;;88%%;;..
..;;SS88:::........XXXXXXXSS......8888XXX@@XXXX88tt...........tt88XXXX@XXXX8888......SXXXXXXXXSS.....::::88SS;;..
::tt8888::......................::888888@;;888888@@...........@@888888;@@888888::......................::8888tt::
::%%@@..::......................%%8888%%X::XX;;8888...........8888;;XX:XX%%8888%%......................::..@@%%::
::SS88..::......................SS@@88XX%..SS%%@@88...........88@@%%SS.%%XX88@@SS......................::..88SS::
::SS88::::......................;;88SS.......SSSS88...........88SSSS.......SS88;;......................::::88SS::
..::XX88::::........................XX%%.........SSSS...........SSSS.........%%XX........................::::88XX;;..
..::XX88::::........................XX%%.........SSSS...........SSSS.........%%XX........................::::88XX;;..
::XX88..::...........................................................................................::::..88XX::
::@@@@..:::..........................................................................................::::..@@XX::
::@@88..:::..........::;;S............................................................tt::...........::::..88@@::
::@@XX88;;:..........%%tt8XXXX..%%.............................................SS::88X88%%tt.........::;;88XX@@::
::XX::88;;:..........::88%@@888888@@88XX.;;XX%%;;::...........::;;%%SS:..@@8888888888X%%88tt.........::;;88::XX::
..SSSS88:::::........;;@@@ ttXX@@8888@@@@@@@88888888@@XXX@@88888888@@@@@@@88888888..tSSXXtt........:::::88SSSS..
..tt8888..:::........SS888XXSS%%tt..SS88tXX88SS88@@@@8888888@@@@888888X..88SS tt%%XX.XX@@..........:::..8888tt..
;;888888;::..........@@8 XXSS@@8888@@SSS%%SS@@888888888888888XXSS%%SXX@@8888XXSS@@8@@%%..........:;;888888;;
;;888888;::..........@@8 XXSS@@8888@@SSS%%SS@@888888888888888XXSS%%SXX@@8888XXSS@@8@@%%..........:;;888888;;
..@@;;88;::............XttSS8888888888@XXSStt::.. ....;;%%SSX888888888888::@@@SS..........:;;88;;@@..
..SSXX...::::........%%88888 ::88SSttttttttt;;::.. ..::;;;;ttttttt%%XXXXSStt88888..........:::....XXSS..
tt88::8::::...........XX@@@@XX88%%88.88%%:: ;;SSX;;@@88@@XX88@@X;;..........:::88::88tt
..@@SS8::::..........%@@888888@@88@@X@@8888tt 8888@8888@@ SSXX88XXX8888888888888............:::88SS@@..
%%@@:88::::.........tt@@XXXXXX@@@@88888@@8888888888888888888@@88888@@@@XXXX@@@@X..........::;;8::@@%%
::88%SS..::...........::88SS%%%%%%%SSSSSSXXXXXXXXXXXXXXXXXXXSSSSS%%%%%%%%SS88tt...........::..S%%88::
%%@::88;;::...........::88%%tttt;;;ttttttttttttttttttttttttttt;;;ttttSS88.............::;;88:@@%%
::@%%@@88::::.........::::88tt;;;::::;;;;:::::::::::::::;;;;;;;;;;;SS88::...........::::88@@%@@::
::@%%@@88::::.........::::88tt;;;::::;;;;:::::::::::::::;;;;;;;;;;;SS88::...........::::88@@%@@::
t88tt88..::::...........::88SS;::::::::::::::::::::::::::::::;;XX88XX .........::::..88tt8tt
.SS@@::....::::......... 88SS@%%;;:::::::::::::::::::::::;;S88::SS...........::::....::@@S..
::@@SS..88..:::............::S%%@@SStt:::::::::::::;;ttXX@@:88.............::::..88..SS@@:
;;88%%..SS..:::...............88::::XXXXXXSXXXX@@SS::::XX...............:::..SS..SS88;;
tt88%%::888;;::............... ..ttXX88@@@88SStt.. ...............::;8888..SS88tt
%%88SS::@88::::::.............................................::::::8@@::SS88tt
..tt88SS:..SS88;;::::::.................................::::::;;88SS.::XX88tt..
tt@@@tt..tt88..;;:::::...........................:::::;;..88tt..t@@@@tt
tt@@@tt..tt88..;;:::::...........................:::::;;..88tt..t@@@@tt
;;X88SS::..;;..88.;;:::::::::::::::::::::::::::;..88..;;..::SS8XX;;
:%%88@@%%::....8..88..::::;;;;;;;;;;;::::..88.88....::%%@@88%::
..;;SS88@@SS;;:....;;8888XX..888..XX8888;;...::;;SS@@88SS;;.
..;;SS8888XSStt;;::..::.......::..::;;ttSXX8888SS;;..
..;;%%X888888XXXXSSSSSSSSSSSXXXX88888XX%%;;..
:;;tt%%SS@@@@8888888@@@@SS%%tt;::
....::::;;;;;;;::::....