....::^^^^^^^^~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!7777777777777?JJJJYYYYYYJJ???JJJYYY5555PPPPP
...........::::^^^^^^^^^~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!77777777777777777??JYYYYJJJJJ?7?JYYY55555PPPPG
:::::::::::^^^^^^^^^^^~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!777777?7777777!!!!77777??77???7?JJYJ55555YPGGGG
^^^^^^^^^^^^^^^^^^^^^^~~~~~~~~~!!!!7!!!!!!77777777777777777777!!~~~~~~!!7?J??777!7!77??J?JJJYYY5PPPP
^^^^^^^^^^^^^^^^^^^^^~~~~~~~~~!!!!!777777777777777777777!!!~~~^~~!!!7?YYYY???77??777!!!!!77??JJY5PPP
^^^^^^^^^^^^^^^^^^^~~~~~~~~~!!!!!7777777777??????????7!~~~~~~~!!!!7?J??77777????????J??7777777?JY5P5
^^^^^^^^^^~~~~~~~~~~~~~~~~~!!!!!7777777777????????7!~~~~!~~!!!7!7??77777777?77777JYY5J?7?777777??JJY
^^^^^^^^^~~~~~~~~~~~~~~~~~~!!!!777777!77777777777!~~~!~~~!!777!??7777777777777?JJY5YY?7J?7??JJJJJJJ?
^^^~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!77!!!!~~~!!!!!!777777?777777??77777???JY5YJJ7J5??J?5YYJJY5Y
~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!7!7!!!!~^~~!!!!777?77777777?77??7777???J5PY??Y?!YY7YJJYPPJJYJY
~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!7777!!~~~!!!!!7??77777?7??7?????7???JJJY55J??YJ!?J??J?JJ5PYJYJJ
~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!7777!777!!!~~!!!77?????777??J?????J?7?JJJJYYYJ??J5Y7?????7J?YY5JJYJY
~~~!!!!~~~~~~!!!!!!!!!!!!!!!!!7777777777!!~!!7????7????????J?????JJ??JYJJYYJJJ?J5Y??J?JJ??JJ5J55J5YJ
~!!!!!!!!~~!!!!!!!!!!!777777777777777777!!!!7??J?77?J?JJJ??JJJ?JJYJJJYYJYYJYYJJ5YJJYJJJ??JJ5YJP5Y55Y
!!!!!!!!!!!!!!!!!!!!7777777777777777!!!!~!7???JJ?JJJJYYYJJYJYJJJYJYJYYJYYY55YYYJJY55JYYJJJ5YJYP55Y5Y
!!!!!!!!!!!!!!!!!!!777777777777777!!!!!!!??JJJYJJJJJYYYYJYYYJJJ5YYYYYYYYY5P555JY555Y55YYYYYYYPP55Y55
!!!!!!!!777777777777777777777777!!!!!!!!7?JJJYYJYYJJ555JYYYYYY5P5YYYYY55PPPPP55PPP55P55555YYY55555PP
!!!!!!!!!77777777777!!!!!!!77777!!!7!!!7JJJJYYJJJJY555YY5Y5Y555P55P5YPPPGGPPPPGGPPPPPPP55YJJJJ5555PP
!!!!!!!!!!7777777777777777777??7!7!!!!7JJJYYYYYYJYY5555P555PPPPPPPGG5PGGGGGGGBGGGGGGGPPPY?77??Y5GPGP
!!!!!!!!!!7777777777777?7?????7777!!77?JY5555555Y55PPPPP5PPPPPGGPBGP5PGBBBGBBBGBGGBBGPPY?777??YPGBGG
!!!!!!!!!!!7777777777777?????????777??JY55Y5P555PGGGGPPGGGGGGGGGGBGPPGBBBBBBBGBBGBBBGG5?777??JYGGBGG
!!!!!!!!!!777777777777777777?777777??JY5555P5YYPPGGGGGGGGGGGGGGGBBGGPBBBBB##GBBGG#BGG5J?7777??JPGBGB
!!!!!!77777777777777????77?77777?7???Y555555Y5PGGBGGGGGGGGBBGBBBBBGBGB#BB#BGG#GPB#BGP???7!77??J5GBBG
7777777777777777777??J??????JJJ?7?JJYY555PGPPPGBBBBBBGGBBBBBBBBBBBBBBB###BGPBBPP##BPJ???77777??YPGBG
???7?????????7??????JJJJJJJJYJ?7?JYY555PPPGPPGBBBBBBGBBB#BBBBBBBBBBBB####PPGGB5G##GJ7????7777?JJYGBG
??????????????????????JJJJJJ??7?JYYYPPP55P5GBBBBGGBGBBB#BBBBBBBB#BBBB###BGBGB#BB##GY?7777777??JJYGBB
??????????????????????JJYJYJ???JYY555P55PGGBBBBBGGBBBBB#BBBBBBB###BB####BBBB#######GP5YJJJJJJJJYY5GB
???????????????????JJJJYJJYJ7?JJYY55555GBBGGBBBBBBBBB#BBBB#BBB##BBB###BGGGGGGGGGGBBBBBBGGPP5YYYYY5PB
???????????????JJJJJJJYJJYJ??JJY5Y55PPGGGGGBBBBBBBBGBBBBB#BB#####B###BGGPP5555555PPPPPPPPPPP5YYY55PB
???????????????JJJYJYYJJJJ??JJJY5Y5PGPGPPPGBBBBBBBGGBBBBBBB####BB##BBBGP5YYJ????JY5555PP55555YYY5PPP
???????????????JJJJJJJJJ?J?JJJJYYY5PPP55PGBBGBBGBBBBBBBBBB####BB##BBBBBGPYYJJ????JYY55P555YYJJJJYPPP
????JJJ?????JJJJJJJJJJJ?7?J??JJJJYY5Y5PGGGBBBBBBBBBBBB#BB####BB###GPPPPGBBGPP5555PPP5YYYYJJ??77?Y5PP
JJJJJJJJJJJJJJYYYYJJ??JJJJJ???JJYY5Y5PPPGGBGBBBBBGBBBBBB#BBBB####B5YYJYPGGGBBGGGGP55YYJJ???77!!?Y55G
JJJJJJJJYJJJJJYYY555YYYYYJ?77?J55Y55PPPP5GGPGBBBGBBBBGBBBBB#####BPJ???JJY55555555YJJ????7777!~~7?Y55
JJJJJJJJJJJJJJJY5555P55YYJ???JYYYYPPPP55PPPPGGGGGGBGGBB##B######G5J???7??JJJJJJJ??7777777!77!~~!7?JY
JJJJJJJJJYYYYYY55555YYY5J?JJJJYY5PPP555PPPPPGGGGBGGBBB##B######BG5J??????7???777777777777!!!!~!!!77?
YYYYJJJYYYYYY555555YJYJJJJJJJJYYPP5P5Y5PGPPGGGGBBGGBBB#######BBBGPYYJ???777!!!!!777777!!!~~~~~^~!!!!
555555555555555555YJYYJY5JJJJY55GG555PPGGPGGGGBBBBBBBB#B#######BGP5JJ??77777!7!!77??7777!~^^^^^^~!!!
PPPPPPPPPPPPPPPP555YYYYYYJJJY55PP5YPGPGGGPGGGGBBB#BBBB####BB##BGGP5YJJ??777777777?JJ?777!!~~^^^^~!7!
PPPPPPPPPGGGPPPPP555YYYJJYJJYPP55PPGGGGGGGGGBGBBBBBBBBB###BB#BBGGP5YYJ?????7777777Y5YJJYJJ??77!!!!!7
5555PPPPPGGGPPPPP5PP5JJJJYJY555PGGGGGGGGGGGBBBBB#B#BBB####BBBBGBGP55YJJ?????7777!77J5PGBBGP55Y?7!!77
7????JJJYYYY55555YYJ???JJYYY55PGGGGGGGGBBBGBBBB#BB#BBB###BGBBBBBGGP5YYJJ????777!!!!77?JY5PPPJ7!~!!77
!!!!!!!!!7777777777777?JYYYYPPPPGGGGGGBBBGGBBBB#B#B#BBB##BBBBBBGGGPP5YYJJJJ??777777777777?J?!~~~!!7?
!~!!!!!!!!!!!!!!!!!!!!77J?Y55PPPGGGGGBGBBBBBBBB#BBB#BBBBBBGGB#BGGPGPPP5YYYJJ??????????JJJ777?7!777JP
!!!!!!!!!!!!!!!!!!!!!!!JJJ55PPGPGGGGGBBBBBBBBBB##B###BBBBBBBB#BGGPPGPP5555YYY5PGGGGGBBBBBGPGGBGPYYB&
!!!!!!!!!!!!!!!!!!!!!7?JYP5PPPPGGGBGBBGBBBBBBBBBBBB#BBBBBBBB##BPGGPGPPPPP5P55P5PPPPPPPPPP5YY5Y5PG#&#
~!!!!!!!!!!!!!!!!!!!7?Y5PPPPPGGGGGGGGGBGBBBBBBBBBBBBB#BBBB###BGPPGPGPPPPGPPPP5PPPPPPPPPPPPP555G#&&&#
~!!!!!!!!!!!!!!!!!!7J5PPP5PPPPPP55P5PGGGGBBBBBBBBBBBBBBBB###BBGGPP5GGPPPPPPPPPPPPPPGGGGGGPP5G#&&&&#&
!!!!!!!!!!!!!~!!!7?Y5555Y5P5J??7!77JJJ5PGBBBBBBBBBBBB#B#B##BBBBPPP5GGPGPP55YYYYJJJJJJJ????JG&&&&&#&&
~~~!!!!!!~~!!!!77JJJJJJ?77!~^:^^~!~!!!7JPBBBBBBBBBB#B######BB#BGGPPGGPGGGGP5YYJ???777?777JG&&&&&#&&#
~~~~~!!!!~!!!!7?JJJ?77!~^:::^^^^^!~!!77JPGGBBBBBBBB#####B#B###BGPPGBGGGBBPPGPP5YYYYYYJYY5#&&&&&##&##
~~~~~~!!!!!!77?77!~^:::::::^~~~~^~~~~!75PGGBBBBBBBB###########GPGGBBBBBBJ^~?5GGGGGGGBBB#&&&&&#####&#
~~~~!!!!!!!!~^::...........:::~~~!~!!75PPPGBBBBBBBB#########BBGGGBBBBBBP^:::~YB#GGB####&############
!!!!!~^::................:...::^^~!~!5PGGPGGBBBGBBB######BBB##BGGB#BBBBGY::::?GG5GB###########&##&&&
!!~^:..................::::::::.:^~7YPGGGPGGBBBBGBB###B#B####BBGGB##BBBGG7::^JGJ!GB#########&#####&&
~^.....................::.::::::^~~75P5Y5PGBBBBGBBB##BB#######BGGBB##BBGGPJ:^?P?!PB#################
.......................:........:^:7555Y5PGGBBGBBB#BB##B######BBGBBB#BBGPPPJ:!P?!PBB################
................................:::^JP55PGGGGGGBBBBB######B####BGBBBBBBBG55P?^JP?GGG#&##############
................................::::^Y5YYPGGGGGGBBBB#####BB#####BGBBBBBBGP55P?!PPBP5################
..............................::::::.~55Y5PPGGGBBBBB##BB########BBBBBBBBG55Y5PJYB#P5####&###########
.............................:::^^::::J5P5GPPGGGBBBB##B#########BBBBB##BG5YYY555P#G5B#&##&##########
....:::::::......::.........::::^:::::7YPPPGPGGGBBBBB#BB##B########BBB#BG5YJJY55GB#BBB&#############
:::::::::::::::::::::::..:::::::::::::!?YP5YGPGGBBBBBBBB##B#########BBB#GYJJ?JJYPB##B#&#############
:::::::::::::::::::::::::::::::::::..:~?J5PJYPPPGBBBBBBBB####B######BBBBBY7?77?Y5GB#################
::::::::::::::::::::::::::^:::::.:...:~?7555?5PPGGBBBBBBBB##B#######BGBBBG7!777JY5G###&##&##########
:::::::::::::::::::::::^:^:::::::....:~77YY57?PPPGGBBBBBBBB#########PGBBBBJ~!!7??YPB####B###########
::::::::::::::::::::::^^^^::::::::::::~!!?55?~JPPPGBBBBBBBB#########GG5P#B5?!!777J5GB###G###########
::::::::::::::::^^::::^^^^^::::::::::^~!77P5J^!PP5YPGBBBBBBB#######BBG?Y##P??~!!7?JPGB##############
:::::^^:::::::::^^^::::^^^^::::::::::^^!!7P5?^^JG5?JYGBBBBBB#######BBP?P##G77!~!!!?JPG##############
:::::^::::::::::^^^::::^^^^^:::::::::^^!!!55?::!GG?77JGBGBBBB######BB5YB#BP?!~~~!!77YGB#############
::::^:::::::::::^^^::::^^^^^^::::::::^^!!75Y!::^PGJ7!~?GBBBBBB######B55###57~~~^~!!!?5BB#########B##