@BGPJ7!~~^^:^^~7?YG##&&#######&@@@@@@@@@&#G5G@@@@@@@@@@#GP&&P!7YPGPGB#&@@@@@@@@&BY!^::^~77?~^75PY7GBB##&&&##J..:^!777JPBJ!JGBBP^..............::^~~~:::#@@@@@@@@@@@@@@@@@@@@@@@@#G#&@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@&&&#BBBBBB##P?!~^^~?5J7~^:...........:::....!55555YJ???JY5PG#&&&&&#B5J!:^~!!?P#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@G~^:^#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JY##B5Y5JJ!~^^^^^^~?YPGBB####&@@@@@@@@@@@@#G#@@@@@@@@@@@#PPPY!?5PGPPB#&@@@@&&#GJ!^~7YPGBP5P5~^7?!5&@@@@@@@@&B~:.:::~~JJ?~^75P5J^...............::^^:.:.G@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&#BBGGBGJ~::.....~^:.....................7JJY555YJJJJY5PB#&&&&&&&BY^:^~~~75B#&&&&@@@@@@@@@@@@@@@@@@@@@@@&J^:..?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
77BBBB#&##G5?7!~^^^:^^!7YPB#&&&&@@@@@@@@@&#B&@@@@@@@@@@@@@&PYYJYPGGB#&@@@@&&&BPPPGBBP5YYJYYY?~::7GGGBBBB#&&&@@&G?!!?Y?!^..7&&GB7.................:...:.5@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&##BGGP?~^:..............................7??J5PPP5555PGB#&&@@@@&&#Y^:~~~~!JPB##&&&&@@@@@@@@@@@@@@@@@@@@B^....:#@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#######&#G5J?7~^^:::::::^~?5GB#&&&&@@@@@@##&@&&@&@@@@@@@@@@&&PJJ5GB&&@@&&&###&&#Y7^:^~!777??7~7JJ?????7777?@@@@&GPPB##G5YB@@@@G.......................P@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@&&&#GP5J^.................................7??J5PGGGGGGBB#&@@@@@&##B?:^~!!!7?Y5PB#&&&@@@@@@&@@@#5555YG&&&5.....5@@@@@@@@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@&&#G5?!^^::..::^!?YPB##&&&&@@&&@@@@@@@@@@@@@@@@&P??JGB###BBG#&&&&P^...:^^^^~!!77?J?????777!~~P@@&&#BBB#&&@@@@@@@@&^......................G@@@@@&&&&@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@&&&BY??7:................................^JJJYGB######&&&@@@@@@#B#G~:^~!77?Y5555PB&&@@@@@&B#&&B555YJG&@@B~:..~&@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#GY7~^^:::::^!?5PB#&&&&@@@@@@@@@@@@@@@@&#BG??GGGPPY?G&&##J.....:::::^~!777?????777!~~~&@&##BB##&&&&@@@@@@@@5.....................:#@@@&&&&&&@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@&#GGGB&@@@@@@@@@@@@@&#P?~~~~...............:~~^..............!Y5PB#&&&&&&&@@@@@@@&BGGBY~^~~~!?Y5PPPP5PB&&&@@@&#&&&@@@@@@@@@@@&#GG&@@@@@@@@@@@@@@@&&@@@&#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&@@@@@@@@@@@@@@@@@@@@@@@&BPJ7~^^::.::^!J5GB&&&&&@@@@@@@@@@@@#&&&&#BG5?~:7BBBB?..........::^~!77????777!~~^7#BGGGB##&&&&&&@@@@@@@@J....................^#&@@&##&&&&@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@&&B5YYP#&&&&&&&&@&@@@G?~^:::.......::......^JBB5~~~^:^^^^::..!YPG#&@@@@@@@@@@@&&&&#P5PP?!!!!!!?YPGGGPPGB#&&@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@&#&@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
PB&@@@@@@@@@@@@@@@@@@@@@@@@@&B5?!~^:::..:^!YGBB#&&&@@@@@@@@@@@@&&#G5!...!5P5G:...........::^~!77???7777~~^?GYY5B#&&@@@@@@@@@@@@@@&Y^..................?&&&&&B#&&&&@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@&##GYJJYG##BB#BB#&&&@P^.............:^^:..:!?G&&#GBGYJYJ??7~^!5GB#@@@@@@@@@@@&#BBGPBY755J?77777?JPGGGGGGB##&@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
YY5G#&@@@@@@@@@@@@@@@@@@@@@@11111117~^::....:~7JPB##&&@@@&B5J?7!~~7Y?^...?5YG............::^^~!!77!7!!!~~^?5JP#&&@@@@@@@@@@@@@@@@@@B!:...............~&@@&&&#&&&&@@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@&#PYYJJ?JPBBP5555GB#&#^...............:::::~7?5#&#&@@&&&&&&&BPGGG#&@@@@@@@&&&#B5YYJ7Y?!JG5YJ?777?JPGGGGGBB#&&@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@##&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5J?J5#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#PJ7~:......:~@@@@@@@G!::::::^?BJ7?7!Y5Y#!...........:^~~!!!~!!!!!!~!!?YYB&&@@@@@@@@@@@@@@@@@@@#P!^.............~&@@@@&#&&&@@@@@@@@@@@@@@@@@@&&&&&&&&@@@@&@@@@@@&PY????7?5PPJ?J?J5PPBY...................::~!7?PB#&@@@@@@@@@@@#BB&&@@&&&&&BGG5J7!!!^!7!JBGP5Y?777JPGBBBB##&&@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5Y?JG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BY~::......:^!?5PJ!~^^^^^^Y&Y!75PBGY##!:........::~!?55555PGGGGPGGPY5G#&&&&@@@@@@@@@@@@@@#5J7!^^YPY~^^:...:?&@@@@@&&&&&@@@@@@@@@@@@@@@@&&&&&####&&@@@&@@@@@@&Y?!!77!7JJJ7!777JJJG?....................:^^~!?YB&@@@@@@@@@@@&#&&&&&&&#BGYJJ7!^^:::^~~?BBGP5Y?77JPGB#&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JJJG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GJ?7~:::......:~!7??J?!!7Y&G7!?Y5PPB&&#P7^:.....::^!7?YPPGGGGGGGP5PGB###&&@@@@@@@@@@@@#5!^~~~J#&@&#BPJ77YB@@@@@@@@@&&@@@@@@@@@@@@@@@@&&&&###B##&@@@@&@@@@@@#J!!777!!??7~~~~!?7?G?....................:::^^!7Y&@@@@@@@@@@&#######BGP5?!!!^^:...:^~^7GBBGPYJJ?YPB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!JG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BYJ7777!!~^^^::....:^!7???Y5##Y??5PBBB@@@@@@&BPYJ7777?JY5PPPPPPP55YJGB####&@@@@@@@@@@@@&~::7J?JG&@@@@@@@@@@@@@@@@@@@@&&@&@@@@@@@@@@@@@@&&&#BGGGB##&@@@&@@@&&&57~77?7!!77!~~^~!!!?G7.....................::^:^^^#@@@@@@@@@@&BBGGGGP5YY7~^~^:......:~^!5GBGP5YY5PG#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#B?!777JYPBG?^^:::....:^~75B#GYJPGGGG&@@@@@@@@@@@@@@@@@@@@@@@@&&&#?JPGB##&&&&&@@@@@@@@@5JJB&BPY#&@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@&#GPGGGYYG#&&&&&BBG5!!!7??7!77!~^^^~~~~?G^......................:^:::.G@@@@@@@@@&BGP555YYJ?7~^::........:^^7J5PGP555PB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GP5JJJJG~!7!!^^::....:~7JYJPB##GB&&&&&&@@@@@@@@@@@@@@@@@@@@@@G7YGBBBB#&&@@@@@@@@@@@@@@&J^~J5B@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@&BP5YJ?!J5GB#BP?7?7!^~7JJJ7777~~~~~~~^~?G:......................::....5@@@@@@@@&BPYJJJJ??7!~^:..........:^~!?YY5PP5PG#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G?~^^7JY!::?GBBPJ7~::....:^~7YGBBB&&##&&&&@@@@@@@@@@@@@@@@@@@@&G5PBBBB#&&@@@@@@@@@@@@@@&?:^!JJ&@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@?777~!?Y5P5?~::^^::^7JJ?!7?!~~~~~~~~~YB^............................J@@@@@@@@BY?777777!^:::...........^^~!7???5P5P##&&&&&@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##&&@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G!..:^^7^..!5G&@@?!^::....:^~7YG##B##&&&@@@@@@@@@@@@@@@@@@@@&BBBGGGB&@@@@@@@@@@@@@@@@G!!!7?B@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@&GJ!~^~~^~~!7!^:....:.:^7JJ?7??~^~!!!~~~7P&7............................J@@@@@@&GJ7~~~~~~~^..............::~~!!7?7YPPG#&&&&@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#BGGB#&&&&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&5^::^^^~^.:?J5#&@@@@@&GY7~^::....:~7JYPB##&&@@@@@@@@@@@@@@@@@@@@&#BPPGB&&@@@@@@@@@@@@@@@&P?7!YB@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@&&@&5!^:::::::::::........::~7J??J?~^~!7!!!!?P&P:...........................Y@@@@9~^::::::^............::::^~~!!777J55G##&&@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&PJY?P###&&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@#P77?7!!~!~?5J5G&@@@@@@@@@#GJ!^:::....:^7YPB#&&&@@@@@@@@@@@@@@@@@&BGGGGB#&@@@@@@@@@@@@@@@@&5J!YB@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@BG&B?^:....................:::~777?7^^~!77!77JG##?...........................P@@@BJ7~:::::::..............:::::^~~!!7!!J5P#&&&&&BG5PB&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B??YYB&&#&&&&&&&@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@#Y?J557!J55GGGGG&@@@@@@@@@@@@&B5?!^:.....::~7YPB#&&@@@@@@@&@&&&@@&#GGPGB#&&@@@@@@@@@@@@@@@@#P7~G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P??~:.......................:::~~~!~^^~!7777?YP##B?:.........................#@@@?^::.....................:::::^~~!!!!7JG&&&#G5YYYJJJ5B&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BGP#&&@@&&&&&&@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@&&@@@@##@@&&@@@@@@@@@@#YJ?YJ!!J5PPGBB#@@@&@@@@@@@@@@@@@&GJ~:........:~?5B#&&&@@@@@@@@@@&&BPPPGB#&&&&&&&@@@@@@@@@@#Y~.J@@@@@@@@@@@@@@@@@@@@@#GB&@@@@@PJ~:..........................::^^^^^^~!!!!7?YG###BY^.......................!&@@#^.........................::::^^~!!7J5G#&&BY!~!!!!77?JP#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#&&@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@&&@@&&#B#BB###&@@@@@@@@@@#G5YJ7~!J555PB#&@@@@@@@@@@@@@@@@@@@@&PJ~^^::.....:^7JP#&&@@@@@@@@@@&B5555G##&&&&@@@@@@@@@@&G!..~&@@@@@@@@@@@@@@@@@@&B77YB&&&@&B?^^:..........................:::::^^^~~~~!?5#&&##BP?^.....................G@&&5................:^:^~!^~!!~^^^^^~!7JP#&&&&#BP?!~~^~7?JP#&&&&@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@
&&&&&&@@@@@@@@&Y?775BP7~^~5GGPP#&&@@@@@@@@@&&BG5?!!?JY5G#&@@@@@@@@@@@@@@@@@@@@@@@@&#BPJ~::......:~7YG#&&&&@@@@@@#BP5G###&&&@@@@@@&&&&&5:...J&@@@@@@@@@&&&&&###5!~!JB&&&@&P?7!:............................::::^^^^^~!YB&&##BB#BP7^:.........:......:Y&&&B~...............~PGP#&@#&@@@&#G5?!~!?Y5PB&&&&&&G????JPB#&&&&&&&#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GPB#@@@@@@@@@&&@@@@@@@@@@@@@@@&#@@@
GGGBB####&&@@&5~^^~7Y?!^^~?J5BGB#&&@@@@@@@@@@&#GY7!!7Y5G#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BPJ!^^::...::~?5PB&&&@@@@@&#&&##BGB##BBB##BB#&#J^:.~55PPG#&&&#BBGP??YJ77775#&&@@@@:.............................::::::::^?G&&&GGGGGBBBP?~::....::^^^^^~7P&&&&J.............:75B&@@@@@@@@@@@@@@@&#BP55PB#&@@&&&#GGBGG#&@@&&&&&#B&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G?^~JPB@@@@@@@@@@@@@@@@@@@@7Y@@@@5Y&@@
YY7!JY55G#&@@&G7^^~7YGPJ!!!?5PPGB&&&&&@@@@@@@@&G5J??JY5B&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GY7~^^::..::~?YP#&&&&&&&&@@&@@&BB&&###&&&&#BGGJ^~~^!J555555Y!~?JJYJ7YG&&@@@@@@@B!^..............................::::::!P#&&G55555PB#BP?!~^^::^~7J5GB&@&&&#B!:..........^75#&@@@@@@@@@@@@@@@@@@@@@@@@&&@@@&&&&&####B#@@@&&&&&B#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BYJ!~7JJJP&@@@@@@@@@@@@@@@@@@@&5#@@@#Y&@&G
^~~~77!5#&&&&&57~~~!7JY!^!JY55GB&&&&&&@@@@@@@@&BBG5GG5B&@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#PJ!~^::....:~?5B#&@@@@@@@@&&&@@@&&&&&&##BJ^.....:^~7YY?!~JG5?J?5P#&@@@@@@@@@B~:................................::~5#&&BJJJJJ5PGBBB5J?7~^^~?5G##&@@@&#BP!::.......~JB&@@&&&@@@@@@@@@@@@@@@@@@@@@@@&&@@@@&&&&&&#&B#@@@@@@@#B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y^::^JPPB&&GP@@@@@@@@@@@@@@@@@@@&@@@@&&@@#G
....^~?P#&&&&&#GYJYJ?!^^!J55PG#&@&&&&&@@@@@@@&BB&&GBB#@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#BPJ7~^:....:^!YG#&@@@@&PP&@@@&&##&&&~.......::~^:~JPP!~?55G&@@@@@@@@@@@5^:.............................:::^JGB#G?7???YPPGGGG5PPY7~~!7J5P5G#&&#G55?~^:....:!5#@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@#G#@@@@@&&&&&&B&@@@@@@&B&@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G...^7JJJY#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
?7~....:!JPB&@@@&&&#GYJY5555G#&&&&##&&&@@##G5PY5#&JY&@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@&B5?!^:::...:~?PB#&B::J#&&##BB####&G7:..........:!77^:7Y?5G#@&&@@@@@@@@@5~::..........................:::^7JYPP?!7?JJ5PPGGG55GGP5J!^^~7YJYG###G5YYJ!~:..:!G&&&@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@#YYB@@@@@&&&&##@@@@@@@&&@@@&&@@@@@@@@&&&@@@&&&#B#&@@@@@@@@@@@@@@&YPB#BP5PG&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
?7?~~!~:...:!YG&@@@@@&#GYJJPBBBGGG#&&GP#Y7!~~~!7557J&@@@&@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@&######&&&@@@@@&&&&BY7~^::....:~??...Y##BBBBBBBB##&GJ~:.........:::!!~!Y5##G@@@@@@@@@@@BJ!^:.......................::^~!~~!J?~~!?JYPGB#BGPPGGP5Y!.:^~77?5BBBBPY555J~::^Y#&&&@@&&&&@@@@@@@@@@@@&&BG5P&@@@@@@@#J!Y&@@@@@@@&B&@@@@@@@@@@@@@@@@@@@@@@@@@&&##BBGGB&&@@@@@@@@@@@@@@@@GPB#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
BGP5YJJ555?~:..:!YB@@BGPJ?5GPYYJ5&@&J^?!::::::!77J75@@@&@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@##BPPGGGB#&&@@@@&#&&@@@&#GY!~^::...:...5###BBBBGGGB##&&##BP?^.......^^:::~7!^P@@@@@@@@@@@@&B57~^::..................:^^^^^:^^~^^^~?5YP###BGGBBGP5Y?..::~~7YGBBBP55P##Y!^~5#&&&&&@@&&@@@@@@@@@@@@&BGPJ~~5&@@&&&&#J^!B@@@@@@@&#@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&@@@@@@@@@@@@@@GP&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@&&P?777JB###BPJ~..^?PBB#&&#G57P&@B~.:^......:7~?77G#&&&&&&@@@&&&&&@@@@@@@@@@@@@@@@@@B:.!5555PGB#&&&&@@@@&&&@@@@@@&#P?!^::^...P#&&&##BGGGB##&&&&&@&?~^:..........7J#&@@@@@@@@&@@@&PJ7~^:::..........::^^^~^^^.:::::::!Y5?G&#GPPGGGPPPPY...:~~7YPGBB#G5P&??PB#&&&&&@@@@@@@@@@@@@@@@&BGPPJ!5&@&&&###?:~#@@@@@@@&&&@@@&@&@@&&&@@@@@@@@@@@@@&&#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@&BYJ?7?JYYY5GB#&&P!:.:!5B&&&##&&G^..........:!^!^7JY#B&&&&&&&####&@@@@@@@@@@@@@@@@@B:...~5GPPGB#&&&&&&@@@@@@@@@@@@@@@&B5??..:G#&&&&&#BBBBB##&&&&&@@B&&:.........^YGP&&@@@@@&&@@@@&?7!~~^^^^^^^^~!!!!7!!~:::^:...:7J?7B&GY77?JY77J5Y..:~!?YPPB##&BYG&&#BGGB#&&&&&&&&&@@@@@@@@@@@@@@&BGGBGB&@@&&#B##J:7&&B&#YYGB#&&&&&@@&&&@@@@@@@@@@@@&&&##&&#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&#####B57~~~~!?B&&@&P7:..^75BGBB?:...:......:~^~^!7?5JG5BPGPPPPGB&#&#&@@@@@@@@@@@@@P^...!5GB5GB##&&&&##&@@@@@@@@&&@@@@@@&#J:!###&&&&&#BBBBBB#&&&&@@GJ5&B^..........:!7Y##&&&&&&@@@@&&&&####BP5555YYJYYYJJJJ7!^^~!!:...:!7~?B#PJ~~~~!^:~??::^7J5PGB#&&&#PB##BBBBBB###&&&##BBB#&&@@@&###&&&#GGB#&&&@@&&#B##7^5B7?~...^!P##&@@@@@@@@@@@@@@@@@@@@&&###B#&@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@&&GJ7~:::7PY.!?JJYJ?!:...^!?J~:..::....::^^~~~7!?!J7Y7Y?JYJPYG5BYB#&&&@&@@@@@@@#7:.7PYYPYJPGB&&&&&&&&&&&#&&&##&&#B###&&GB&&&@@@&&#BBBBGB##&&&&@@&##GP7^::..:..:~?5GB#&&&&&&@@@&&&&&&&&&&&&&&&&###GPPGP5Y7JYJ?!^:..:~!^JBBP?7!!~:..^!~::~JPGB#&&&@@&#&BBBBBBBBPG#####P7!~!7J5PP5J77?5GGPPPB#&&&@@&&BB#G~?P?:......5#&@@@@@@@@@@@@@@@@@@@@@@@&&###&@@@@@@@@&BBBB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&#G?~^:.::.:?BP........:~!!~....:~!^~^:::.::::^^~777?7Y!J!J?YJYJ?5JYJPGGYBB##&&@#&@&J!P&BJ??5PJY555PBB###BBGPBB#&###J!5G#&&@@@@@@@@@&###BBB###&&&&&@@@&&@&&#BP55YJJ5GB###&&#&&&&&&&&&&&&&@&&&&&@@@@@&&&&&##BB#BPY?~:..:^^!5BPY?77!:...^^^.:7PB#&&&@@@@@@&#BBBGBBY!!YBBB57^....::~!!~:::~7JY55PB#&&&&&#BGBB??YJ^......G&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#B#&&#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!^^!~::.....^YGGYYY?~^^^:::::^:::....^~~~7!~^^~^^!7!?YJJ?Y?5Y55YYPP55J557P5GGG#B#B&Y?5GBPY?~~YB57!^::^^^:.~JYYY5P#&&&P?G#&&&@@@@@@@@@@&&&##B#####&&&&&&&&&&##BGPPPPGBBB#######&#BBB#####&&@@&&&&@@@@@@@@@@@@@@@&#PY?!::^^!PBBPYJ??!....:::.:?PB#&&@@@@@@@&&BBGBBP:..:JP57^.......:^^^:...^!??JJYG#GJ??!^^:^::.........G&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&###&&&@@@@@@@@@
BJ!!~:~JJ?7?7YGBGG&&BPGG555YJ??J7~:.....:~7J5PYYYYYJYY?YYY5Y555PPPY55JY^JPGG5GPBG#7~B####BBB7~Y~....:::...:~!777JP!~~!PB#&&&@@@@@@@@@@&&&&&######&&&&&##GGGGP5YYY5PGGBB########57?J555PB&&&&&&&&&&&@&@@@@@&###&@@#G57^^^7P#&&#G5557....:^:.^!JPB#&&@@@@@@@@BGPPY:.....::::...............:^~~~~~7G&Y:~~...............5#&&&&&&@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GPPGB#&&&@@@@@@@@@@
@&#P~:7B&&B55PP5YY#@@&&&&#B#####B?7!^:::....~JG&@&&&&###GBGPBGGBPGY7!~..:JBBG5G5G?~5BJY&&&@@?.............::~!~^~:...~GBB#&&&@@@@@@@@@@@@@&&&##B####BBBG555YJJJJY5PPGGB########G77?JJ??JP#&&&&&&&&&&&@@@&Y^..:^7P#B5!^!?5#&@&&###B?:.:::^:.:^!YG###&&@@@@@&PY7?^........:::^:^^^^.......:^^:^^^^~5&&#&#GG?^...........~B&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G55GB##&&&&@@@@@&&#BP
@&&B~^!B&@@@@&BPYJ5#@&&&@@&&&##&&&&&BY7!~!~:...~JG&@@@@@@@@@@@@.......:!5GBPY??555Y#&&@@@@?...........::^^:::.::::77JPB#&&&@@@@@@@@@@@@@@&#BBBBBGGPP5YJJ????JYPPPGGB#####&&~7JJJJ?!Y#####&&&&&@@@#^.......^JBP?7YGB&&@@@@@@&!::^^^^...:~?G####&&@&BGY?!~:.........:^::^~~~^........7?7?PJ7J#&@@@@@@@&BJ~:........^B&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@BB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5PPGB#&&&&@@&BY!^:....
@&#P!~JB&@@@@@&&#BP#@&BB&@@@@@@@@@@@@@&#B5!!77!^...~YB&@@@@@@@@&^..........^J#BY?Y5P#&&&@@@@@#P?:.....:::::::::::~?JJJ^~75G#&&@@@@@@@@@@@@@@&#BGGGP5YJ?77!!!!77?JY55PBB####&&&&G^~7?JY55J:G##BB#&&&&&&&^........~YPPYJ5G#&&&&@@@@P~~~^~~:...:~?P#&&&##BJ7J!~^:........:^^^::^~~!~........^7Y5G##B&&&@@@@@&####BPJ~:......YB&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P5GB#&&&&&&B7........::
&GGPYJP#&@&&&@&&&BYY&&BGG##GB&&&@@@@@@@@@@#5777J55?^..:!5#@@@@&:............^BBJ?YYP####&@@#577YY???!^:::......::^~~^^^^~!?5G#&&&@&&@@@@@@@@&BPPP5Y7~~~~~~!!!77?JY55GB###&&&&?JY5555PP~~##BPGB##&##7.........:^~~~!!?P#&&@@@@&P77!!!!^:::^~?5B##&#J~:~~^::........:^~~^^::~!7??:..........^!?YPG#&&&&&#BB##&&&&#PJ!^:..?#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5GB#&&&&&&J...........:
#PPGGPPB&&#BGP5PP??JP&&B#GY!~!!7Y#@@@@@@@@@@#?~!7JPGG5!:..^JB&~.............:B5!7??PBBBB&@@@@@@@@@@&&#BBG5J!^::^^^:::^7JYJ?7?J5PB#B#&&&&&&&@&G555J!^^~~~~~~!!7?JYY5PGB###&&&&&&&BB####BPP7:GB5YYPBB##J...........:::^^^~!YG&@@@@&BY77??7~::^^~7YPGBB?:..::..........:^~~~~^:^!7JYPY~.........7~7?YYPG#####B#&@@@@@&&&#BGPB&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BB#&&&&&&#~.............
!~Y#G?775555YJ55J?5P?5G##5J?!^^~J#@@@@@@@@@G~::~!~!JG&@@#5~...::............7P!~!!JPGGB#&@@@@@@@@@@@@@@@@@&#G57^...^?YYYY5PGPP5YY55PBB###&&&GP555?^^^^^~~~~!!77JY55PGBB##&&#PP#&#GG#&&&&G7.5GYJJ5PGBJ...............:::::~7P#&@&&#GJ?J??!^^^^^!JY5P7...............::~!!~^::~7J5PPP5!........~.^Y5GB###&#B5?JP#&&@@@@&&#&&&&&&&&@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@&G:..............
..!PY^:.!55Y?!J5YJJ?7??YYJ??7!?P#&&&&&&@@@#5YY5GG?!7YB&@@@@&B7...::........:57^^!?J55G#B&@@@@@@@@@@@@@@@@@@@&J.....:^^^~!7J5GB&#P5PPPGGBB##GPGGG57^^^^^^^~~~!!7?JY5PGGBB###?!7P#PY7Y&&@@&Y:YBP5Y5557....................:^~!JG#&&&#GP5YJ?~^::~77?Y7.............:..:^!7!^::^7?5PGPPBG^.......~:.?~~JG#&&@@&#G5YY5GP#&#BB##&&###&&&&&&@@@@@@@@@@&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@P...............:
:.:J57^:!J?Y!^7B&BGP55GGP55PPG#&&&&&@@@@@@@@@@@@@#PJYG#&@@@@@@?......::....Y57!!77JJP&##@@@@@@&&&&&&&@@@@@@B:........^~!7?JY5##PPGGBBB#####GGGGGP7~~~~~~~~~~!777?JYPPGBBB#5.^!?Y!!~7B@@@&G!P&BP55Y7.....................::^~~!YGB&&&&#GPY~::^~!!7!..............::::~!!^::^7?YPBGPG&#^.......~:.?^...^75B&&@@@&#PY5#&BPPGGB####&&&&&&&&@@@@@@@&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@5................:
:.:?#G7^~7??!~Y&@&&&&&@@&####&&&&&&@@@@@@@@@@@@@&&&BGBB#@@@@@@@7.........^!YGPJ7~7YG#Y5&&&&&&&#####&&&&&@@B^.........:!?J5P5555GB###BBB&&&&#BBBBG?JJ?7!!!!!!77?JJY5PPGBBBB?..^77:.:~P&@@@#5#&#GPP5^.....................:::::^7JYB&&@@&#Y^::^^~~^..............::::~~~^:.:7JYPBGPG#&B^.......^:.?^......!G##BBB#BY!~JP55GGBB#&&&&&&&&#&&@@@@@&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&:................:
.::~JJ~:!J7!!?B@&&&#&@@&BBB#&@@G5YJB@&G5P#&&&@@@@@@@&###&@@@@@@@G:.........:~7J?J#&G^!B#############&&&#B5~:.....:...^J5GBBGBGPGPPB#####&@@@&&&&BGBG5J?7!!!!77?JY5PGGGBBBB5:.^55...^G@@@@##@&##BGP~.....................:::::^!7?5B&@@@B~:^::^^:................::^~~:..:!JY5GGPPB##B^.......:..~:......!#@B7^.....~5PPGBBB##&&@@@&&&&&@@@@@&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&^...............::
7Y5PY!:^77!!?P#G555#&&&B5G&&@@@J~^:5&G~::Y##&&&@@&&@G??P#BBB#&&@@P^:...:!J57:..:!5G5P###&&&&@@@@@@&&GJ!~^::.....:^::.JBB#BBB#&B##BGPGGGBB&@@@@@@@&&BGPYJ?77777?Y55PGGGBBBBY.:PBG...!&&@@@@@@@&##B5^.........................:^~~!?P#@@#!:^^::^:.................:^^~^..:~J55PPP5GBBBB^.......:..^.......7#@@BY?7?5B&&#GBB#&B#&&@@@@@@@@@@@&#B#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G..............:::
&@@@&BY!~^~7?J7~^:!B#BGPG#&&@@&!^^:P&G~::?GB####@#B&P!~!5GGYJJJB&#G577JG&@@@#5?~::J#&&&&&@@@@@@@@@#~...............:^?&&&&#B##&#&&&&##GP5#@@@@@@@@&&##GPYYJJJJY5555PGBBGBB~.5BG!...^#&&@@@@@@@###P:.........................:^^^^!5B^^~:::..................::^^::..^7Y5PP5YPBGGPJ...........:......:?&@@@@@@@@&&&&&BGB##B##&&&&&&&&&@@&BB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#J!!^:^^::.......::::
@@@@@G5J~^!?!:....75GBBG##&###G!^~:JBB7^~YPB##B#@&&@&BBB&@&GYYP&@@@@&&&@@@@@@@@@#5P###&&@@@@@@@@@P....................B@&&&##&&&&&&&@@&BYB@@@@@@@@@@&&#BGPPPPPGGP5PGB#5G#BYPGGP~....!B&@@@@@@@#BG^...........................::::~JY5?^^~::....................::::::::~?Y555Y5GPY7^:..........::.....:^5@@@@@@@@@@@@@@&#BB#BB####&&&&@@@@&GB&&&@&@@@@@@&@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GJ7777!~:.::.:::::
&&BY?7YJ77J?!^...7P#&@&#BBPJJPGP557!JY!^7J5B##&@@@&@&&@@@@@@&@@@@@@@@@@@@@@@@@@#G5PGB##&&@@@@@@@#.....................P@@@@&&&&&&@@@@@@&5#@@@@@@@@@@@&&&##BBB###BBB##BP###&#GGG?:....^?G#&&&&#&B~...............................:!7~^^^^:......................:::::::^!?JJYYY55J~:............^:.....:!#@@@@@@@@@@@@@@@@@&&#BGBB##&&&@@@@#GB#&&&&&&@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ????7^::::::::
&G^.^?JPGBBGBP7^?#&@@@@&BPJ!JG&&&&#PYJ!!?JYP#&@&##&&@@@@@@@@@@@@@@@@@@@@@@@@@@&GPGGBB#&&&&@@@@@@J.....................5@@@@&&&&&@@@@@@@&B&@@@&@@@@@@@@@&&&&&&&&&##&#&BG&&&&&#BG5!:....:^7Y5B##&Y................................^~:..............................::::^~!77?YYYJ?!^.............:::::::~5&@@@@@@@@@@@@@@@@@@@@@&#B##&&@@@@@&#B#&##&&&&&&@&&##&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#77?77!:::::^::
5:.:!!5#######BG##&@@@@&#GJJP#&&&@@&#BY!7J5G##P5G&&@@@@@@@@@@@@@&@&@@@&@@@@@&BGPGGBB#####&&&@@&#^..................:.^JB@@@&##&&&@@@@@@@@&&&&&@@@@@@@@@@@@@&&@@&&&&&&G#&&@@&&&BG5!:::.::^7?5B#&?................................:.................................::^^~~~!?YJ7~~^:..............:^^~!?P&@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@&&#&&&&&&@@@&&&&##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&7!!!!!~..:::::
...^?P##########&&@@@&@@@&#B#&&&&@@@&BY!!5GGY7?B@@&@@@@@@@@&#&@&JGYY&&5&@@@&&BP5PPGBB###&&&&&&&#:..................::~7J&@&&&##&&&&&&@@@&&&&&&&@@@@@@@@@@@@@@@@&&@@@#B&@@@@@@&#GG57^:::.:^~75#&J..................................................................::^^~~~7JJ7::^^:..............~7?YGB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&###&&@@@@&####&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7^~!~^~:.....:
..^YBBBB#####&&#&@@@@&@@@@@&@@@&&&&#GPJ?P#5!~Y&@@@&&&&&&&&&&J7##~!?7P#YP@@@@@&BY5PGB#&&&&&&@@&&#^....................:7P#&&&&&&&&&&&&@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@B#@@@@@@@&#BGBP7^::..::~J#&#!................................................................::^^~~!7?J?^.:::..............:JB#&@&&@@@@@@@&@@@@@@@@@@&##&@@@@@@@@@@@@@@&&@@&&#&&@@&B###&&&#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J.^~~:^^......
.~PGBBGGBB##&&PJB&@@&&&@@@@@@@&GBBG555J55?^~G@@@@&&&&&&&&&&&?^75?7!?JPPY#&&@@@&G5PGB#BP5PG#&&#G5^.....................7&&&@@@&&@@@@@@@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@&B&@@@@@@@&#BBBGP57^:^:^^7B&&B7........................................::....................::^^~~~!77!^:..:...............^#@@@@&&&&&&&#####&&@@@@@@@&#&@@@@@@@@@@@@@#&&@@@@&&&&&&##B#####&&@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y.:^^:::......
!J555555PGBB#G^:7#&&&&&&@@@@@@####BGJ!^....Y&&@@&#####&&&&&&GY7?J?!7?J?~~~!YG#&#P5PGP7:...^7!^:.......................7@@@@@@@@@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@&@@@@&#Y&@@@@@@@&&#BGPP5?!!!~~^!P#&#P~........................::....:...::::^~~^^::::..::^:......::::^^^^~!~^~^...................?@@@@@&#&BGGGBB####&&&@@@@@&#&@@@@@@@@@@@@@#&&@@@@@@@@&&&#B####&&&&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y..::..:......
^~!!!!7?JYPBBJ~~7G&&&&&@@@@@@@@@&&GJ^......:PB#&&GG##&&&&&&&&#J7!!!7!:.......:~7JY5PGY!:....:::.......................?@@@@@@@@@@@&&&&&&&##&&&&&&@@@@@@@@@@&5P&&##B?P@@@@@@@@@@&#BGPY?777!~:~JPBBGY^......................:::.::~^:::^~?Y55JYJ!!~~^~~!!~^^:::::^^^^^^~~^::^:.............:....:B@@@&GBBPY5PGBB##&&&&&&@@@@&&&@@@@@@@@@@@@@&&&&@@@@@@@@@&#B##&&&&&&@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J.............
^^:^^^~~!7YGBGP5PGBB#&&@@@@@@@@&&^.......~5?:?!.^YB&&&&&#YJ7!!!~!:............:^7YGBY77??^....:....................J&@@@@@@&&&&&##&&&&##&&&&&&&&&&@@@@@B7!GBBGP77&@@@@@@@@@@@@&#GYYYJ7!^:^!JGBG?~:.....................:^!!!Y5JJ??JGB#&&##BGGPYJYYYY7!~~~~~~^^^^^^^:...:..............^:...J&&B577J??J5PGB##&&&@@@@@@@@@&@@@@@@@@@@@@@@@&@@@@@@@@@@@&####&#&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&#!.............
P?!^^^^^~!?5PBBGGGPPPPPGGGB###BB##&&BJ:.....:?:.......!B##5:.:::::::...............:^J#@@@@@&Y:.^GY7~.................^^!7?!7PB#&&#B########&&&&&&&&&&@@&Y:^J55YY!!#@@@@@@@@@@@@@&#BBBBGJ!^::^!YGGJ!^:....................75GBB#B#&&&&&&&@@@&&&&#BBBBB#PYJ??77!^^^^:::..................:!^..!PYYJ?JYJ77JY5GB#&&@@@@@@@@@@@@@@&#&@@@@@@@BPB@@@@@@@@@@@@&&&##&B#&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&##BPY~.............
@&#G5J7~~~!J5PGBBGP5Y?7!!~^:^~~!7?5G#&&B5^..:7:........?PP^..........................^?B&@@@@@@&@@@@@&G?^....................^7YGGGBBGGB#####&&&&&&&&@&P~.^7?777^!B@@@@@@@@@@@&&&#B#&&&&P7^:::^7YBBY7~^::................^P#&&&&&&@@@@@@@@@@@@&&&#####&##BP5Y?^^:::.:..................:!?~~JY7!7YPGP?!7?5G#&&&&&@@@@@@@@@@@@@&##&&&@&GG:..~&@@@@@@@@@@@@@@@@&#&&&&&@@@@@@@@@@@@@@@@@@@@@#PJJ??777~.............
@@@@J^.....^5PGB5J!^:.........^~~!JG#@@@#!:..:..~7:...^?Y!............................:?B&@@@@@@@@@@@@@@@&BP55?^.....:^........^7YPPP55PGBB####&&&&&&#?..:~!~~~:~B@@@@@@@@@@&&&&#B#&&&@@&Y~^:.^~?P##B5?!~^:.............:7B&&&&&&&@@@@@@@@@@@@@&&&&&&&@@&#GPY~:........................~YPPB5!~~7PGGP?~75B##&&&&&&&@@@@@@@@@@@@@@@@@@&7.....^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#G5PGPY?7!77??7.............
@@&J^::.....?#5^..............~!75##B@@@B?~...:JBP!^~7JYJ^.............................^?B@@@@@@@@@@@@@@@@&&&&#BPPP5BG##Y^...^!~~7JYYYY5PPGBBBB##&&#Y:..::^^^:.~#@@@@@&&@&&&&##BB#&&&@@@@G!^:.::!YB&&&#PJ!^::........:::!?P#&&&&&@@@@@@@@@@@@@@@&&&&&@@@&#BP!........................:^J#&&P77!!YGP55?!YPPB##&&&&&&@@@@@@@@@@@@@@@@@@@@7.....5@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#57!:.:7!~~!!77?JJ^............
&P~::::.....^Y......:........^~!G@@GB&@@@#~..~PB577??????7^............................:~J#&&&@@&&&&&&&@@@&&&&&#&@@@@@@@@&#J~:^!777?JJJYY5PPPGGBBG?:....:.::..!#@@@@&#&&&&&&####&&&&@@@@@#?~:..:~75B&@@&#PJ7!~^^^^^~!!7JY~JB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@&#J:.......................:^?B&&B?77!?PGP55Y7YPPPB###&&&&&&&@@@@@@@@@@@@@@@@@#.....~@@@@@@@@@@@@@@@@@@@@@@@@@@@&B55G#GJ~~!?5B&B:^^~!!7???7............
?^.....::^^!?^.!5GG57.......:~^J@@&5G&@@&~..7YYY?7!^:..................................:^7PGPPP5YY55JJPB&&&@@@@@@@@@@@@@@@@@#GY!^::^!7?JYYY555557:...........?#&&&@&BB#######&&&&&@@@@@&@&Y~:..:~7YB&&@@@@@&BP555PGB##&&Y^7G##&&&@@@@@@@@@@@@@@@@@@@@@@@@&P^.......................:~Y#&&&P777JPPP5555?7YPPPB##BB###&&&@@@@@@@@@@@@@@@@&:.....&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#B##&&&@@@@@@!.:^~!7????~...........
5~::!5PBB#&&&#&@@@&&P.......:~^7GB5JB@@#:..J?:~^.......................................:~JGP5Y?!!~~~~^~^?!?#&@@@@@@@@@@@@@@&###BGPPPPPP5YYYYY?~..........::!P#&&&&&GPGGBBB#&&&&&@@@@@&&&&&G7:.:^!?5B#&&@@@@@@@@@@@@@@@@#Y:^5GG#&&&@@@@@@@@@@@@@@@@@@@@@@&G~.......................:75#&@@@BJ7JP5555PPPJ7?Y5GPG##B#&#&&&&@@@@@@@@@@@@@@@#......B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&J^:^~!7777?:..........
&B#&@@@@@@@@@@@@@@@@&7:.....:::^~~75&&B..:?~..........................................:~75P5Y?!~~^^^:^:~^.:755P#@@@@@@@@@@@#GPB####&&&&&#BPJ~...........:75B##&&&#P55PGBB#&&&@@@@@@@&&&&&&#?^::~7JPB##&@@@@@@@@@@@@@@@&BJ::7!YB&&&&&@@@@@@@@@@@@@@@@&B&P7:.......................~JGB&@@@&BGYYYYYY5PBBY???J555B#BB##&&&&&@@@@@@@@@@@@@@P......B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&#&&@@&P7~^~!!777..........
@@@@@@@@&&&@@@@@@@@@&G?^:.......:~Y#&B..:?:.........................................:^~!~!777!~^^:::^~~7:..:7~!JPP#&&&&&&#G55PG##&&&&&@@@#5^...........~PBB####&#P555GB##&&&@@@@@@@&&&##&&#J^^~7JPB#BB#&&&&&&@@&&&&&BGJ!^.::^JB&&&&&&@@@@@&@@@@@@@@@!:^.............^~:.........~5BB&@@@&BB##PY55PGBBBGY??7YPPGBBB###&&&&&@@@@@@@@@@@@@?......#@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#BBB#&&@&&BY7!!!7~...^7....
@@&###BBPY5B&&&&&@@@#J7!!:........^7?^..?:...................................:.....:^^~^:^^^:^^:::::^^!!....::^^75GP55YJ??7JPB#&&B&@@&&@@@#J7!^:.....:JBBBBBB###GP55GB##&&&&@@@@@@&&&#####BJ~~7?5PP5JJJ?7?7!!7?7!~!^~::.....^?B&&&&&&@@@@#B#&&&@@@@&:..........::^^~!77!~^:...:!JPGB&@@@&##&&&#GGGGGGB##PJ??5GBBB#####&&&&&@@@@@@@@@@@#^.....^&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#&&&&&&@@@&&GY????7!^....
YJ!JPY!~YB##BB#&@#J!JY!:............::............:!!~................................:::.....:..:~7?7!~~7JJP&&&&&##PYPP5G&&@@&#@@@&&@@@@@@&###PYB&#&###B###GP5YPBB##&&&&&@@@@&&&###BBBGJ777777!~^^::::..................^YB&&&@@@@@&&#PGB#&@@@@&:...........::^^~!7??JPBP5BGGGB#@@@@@@&&&&&@&#########PJ?PGB####&&&#&&@&&&@@@@@@&P!......J#&&&&&@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#G!......
#7^~^:?PJ^:7GBP555#@#GGGP7:..........................^7?J7.....:..............................:^75PB#&&#&&&&&&&&###B##BPPB#&&&&@@@&&@@@&@@@@@@@@@@@@@@&&######BGGGBBB###&&&&&@&&&&&#BPY??J5Y7~^::::.........................!5P#&&@@@@@&&&BGB#&@@@@B..........:..:::^~!7JJG@@&&@@&&@@@@@@@@&@@&&&&&&&&@@@@@&G5PGB######&&&&&&@@@@@&BJ^.......PB&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ^..~
P^.::.7P?::~5PYYYY#@&&G?!~:..........................!?JY57!JPGPYJ??7~:............:^::^~?J7?YPB#####BBBGGP5YPP55#G5YG###&&&@@&@@@@&@@@@@@@@@@@@@@@@@@@@@@@&&&########&&&&&&&&&&&&B?:......::..............................:!?75#&@@@@@&&&BBB#&@@@&~................:^^!7?P@@@@@@@@@&@@@@@@##&&@@@@&&&&&@@@@@@&&#####BGB##&&#BB57^...........PBB#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
P^.::.!Y7:.^5PPPPB&&&#Y~^:........................^JGGG5YYG@&BPPPGB#&#B5:.........J&&#G5PGBBBBGGGGBBBBBBBPJ?7P5Y5&#G55#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#&&###&&&&&&&&&&###J..................:.....................:^~~?G&@@@@@&&&BBB#&@@#~........!^.....::.::^~!7&@@@@@@@&&&@@@@&#GPGB#&@@@@@@@@@@@@@@@@@@@BY7!~^:.................:~?5P#&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
B!~~^:J5?^:?G###&&&&B7:.........................!PB##&&&GYB&&BPPPGB##&&&J........!G5J7!JGPGGGGGGGBBGBBBBBPYJYPP#G&&#GPB&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&#&&&&&&&&&&&&&................^~..................:..:^^^^!YB&@@@&&&&B#&@@@P^.................:::::^~~?&@@@@@@&&@@@@@&&#BGPPG&&&@@@@@@@@@@&#P?~^:..........................:.~P&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#GGPY5##GJ5B&&&&&&G57.........................!YPB#&&@@@&B&&#BP5PGBB#&&&B:....:~7!^^^^^JGPGGGGGGGGGGGBBBBG5Y5PGB5&&&&#B#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&B~...............~Y...................:::~!7~^~75#&@&&#&&&@@@@5:....................:::^^!!YPP&@@@#&@&##&&#GPGGPB####B#&@&B5J~................................:.:~J&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
GBB##&&&##&&&&&&&BJ^.........................~YGPB&&@@@@@&@@&#PJ5PGB#&&&&B~.~JJ~^:^^~~^~Y5Y5PPPPPPGGGGBBBG5P55GYP&&#&&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&5^..............~5~...................:^!7JY?^^7YB&&&&&&@@@@@#~......................:::^!??!7&@@&#@@&BGBB555555##P5YG#G?:..............:::::.............::..::~5G#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
77?JY55PPPB#####BG7.......................::~!5G5G#&&&&&@@@@JJJPGB####?!5Y!^:^::^~~^^!Y555555PPPPPGBBBBPPYJJ5&&#B##&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#!...............77...................:^!?Y5PY!~7YP#&&&&@@@@@@J......................::::^~!!?#@@&B#@@&BG#GPGGPPP&@BGGG7..................:^~~~^:..........:~^!JYG#BB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~~~~!77JJJ5PPGBGP5?:...................:~!!JJ!YG5PB#&&&&@@@BBBGY?7PGGGGGGY5?^^^^^^:^~!~^^~7J5P555PGGGPYYPBG5JJP####BBBB#&&&&@@@@@@@@@@@@@@@@&@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@B!....................................:^!?5B#B57!7YP#&&&&@@@@@&!..........................::!5&&&&B5&@@&BBBPPGBBBG&@#BG~....................::^~!77!~^^^^^~7^7G&@@@@@&##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~~~!!7?JYY5P55PPG555!...........:^:::^~?55YYY!7PYPBB###&&@&GPGGGB#BP5PPP5Y!^^^^~^:^^^^7JJ7~!5P5YYYY5GBBYJY5J5PGGGBB###&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!..................:!JYY?!^:::......:^~7J5G#&#PJ7J5G&&@@@@@@@@&!:.......................:!JG&@&#GY?J&@@#GBP55GGBG5#@&G!....................::^^~!7?JYYY55PB&GB&@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~~~~!7JY55PGGG5??7?5J!^:::..~YGBBP?7YP#B##G5Y7!J55GBB#&&&&&@&@@@@&#G5YY??~^^^^^^^^^^^^~77?JY5GBBBBBGBB#BGGGB###&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@&^..................:~P###BP5YY?:...:^7J5GBBB#&BYYPB#&&&@@@@@@@&P^...................:~!~!?YPPP!:..~5&@@#GBPG55P5PPB@&7.....................:::^^~7?JY5PPGB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
555YYG#BPGBB#BPJ!~!7YJ!^7Y?Y55B&&&&&@@@&&#PYJ7JG5JPBB#&&&&&@&@&@&##5!777^^~^^^:^^^^~!7!~~!7?JY5PGB#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@&&&@@&&##&@@@@@@@@@@@@@@@@&&~.................::.:5#&&&##&&B!:^!?YGB#&###&#GG#&&@&@@@@@@@@@&Y:.............:7PBBG5J!^........:?~#@@&#GGBG555PP#&G........................:::^~!?Y555PPGGB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&@@@&#BBBB#&&#GPY?J5?^!YPP5P#@@@&&&&#BPY?7??P#G5PB#GY?JY5JJYJ7^^Y!^~~^^^^^^^^^^^^~!!77??JJY5PGB##&&&&&&&&@@&&&&&&&@@@@@&&&&@@@@&&&&&&&&&&&&@@@@@@&###&&&#GG&@@@@@@@@@@@@@@@&#:......................5&&@&&&&&BJY5PB#&&&&&#####&&&@@@@@@@@@@@@&G?~:......^!5#&@@@@#J:..........??.7@BPPYGBGPP55Y#G.........................:::^^~!?YPPGGGBBBB####&&B#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&@@@@&55B##&&&&&#G5?~^?PGGGB&@@&##BY???JJ555BBBB##!............:~^.:.:^^:.^^^~^^7!^~!77?JY5PPGB###&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@&GGBB##B55#&@@@@@@@@@@@@@@&B:......................:G#PP&&&&##BB#&&@@&&&#BB#&&&&@@@@@@@@@&@@&#BG5YYY5G#&@@@@@@@@@@#J^.......^J~.^P&B7!?5GGBGPPP:............................:::^~7J5GB#####&&&###BB&&&&&&&&@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@&&@@@@GJPPG##&&&@@@#P?J5PPPB&@@&BPGY!?J5PGGGG#BB#G:................^7..::::~^~!~77~~~7??JJY5555PGGGGBBB###&&#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@&GPGGGGGYJP#&&@@@@@@@@@@@@&B5.......................:JJ?5#&#####&&&@@&&&#B##&&&@@@@@@@@@&&&&&#BGPGB#&&@@@@@@@@@@@@@@&#GJJG5~~7~::7&B!!!JP5G##P:.......................:::::::^!JG#&&@@@@@@@@@@@&&&&@@@@&&@@@@@@@@@@@@@&&&&#########&&&@@@@@@@@@@@@@@@@@@@@@@@
@&&&&@&G?JY5GB#&@@@@@&&GP5PB#&?JP?7YPGBBBB#B##Y.................:57..:::~~!?J5YJYJ7!7??JJY5555PPGGBBB######&&&&&&&&&&&&&#&&&&&&&&&&&&&&&&&@@@@@@&BPGGGPPY7YB#&&&@@@@@@&&&&&BG?.......................7PY77P#####&&&&&&#####&&&&&&@@@@@@@@&&&&#G5Y5PG#&&&@@@@@@@@@@@@@@@@@@YJGGPY7^7PPJ77P5Y55^.........................::::!5#@@@@@@@@@@@@@@@@@@@@&@@&&@@@@@@@@@@@@@@@@&GY?7!!!!!!!77?J5G#&&@@@@@@@@@@@@@@@@@
@@@@@@&BJ7JYPB&&@@@@@&BGPB&&&#G?~~?YJYPGBB#####B!..................PJ....::^^~755Y5PP555PPPP555555555PPGGBBBBB##&&&&&&&&&&&#&&&&&&&&&&&####&&&@@@@@&#PPPPPG57JPB##&&@@@@@&&&&&#GP!......................^PY7~~G######&&&#BB###&&&&&&&@@@@@@@&&&&#PJ?JY5G#&&@@@@@@&&@@@@&@@@@@&@@@@@&B!^75YJYGPJ~:..........................:~5&@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@&5!^^^^^^~~!7?JJJJY5G#&&@@@@@@@@@@@@&&&
@@@@@&#BGGGG#&&@@@@@@&&&&@@!^^~7J5PGBB####B?.......::..:.......PG.....::^^~J?!7?JY5PPGBBBBBBBBBGGBGBBBBGGGBBB#####&&&&&&&&&&&&&&&&#BGPB#&&&@@@@@@&BBGGGG5?JYPB#&&@@@@@@&#BBBGYY!...................:.:YY7!7GB########BGBB##&&&&&&&@@@@@@@&&&&BY?77?J5GB#&&&&&&&&&@@@@@@@@@@@@@@@@@&GJ5P55P57~^^........................:7B&&&@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@#5!^:::::^~!7??7!?PB##&&&&@@@@@@@@@@@@@@
@@@@&#GGB@@&@@@@@@&BG#&&&&!^~^~!?5PGBBGPY7....::..:.:::.......?&7......:^^??!77??JJY5PGGGBBBBBBB###############&&#&&&&&&&&&&&#&&&&#GPPBB#&&&&@@@@&&##BPGPJJJYGB#&@@@@&##GYPGPJ?5!.................:~^^YGB##BBBBBBBBBBGGGBB####&&&&&@@@@@&&&&&P?!~!!?J5GBGPB&&&#&&&@@@@@@@@@@@@@@@@@@@&&#BGPY?!~^......................:Y####&&@@@@@@@@@@@@@@@@@@@@@&&@&&@@@@@@@@@@@&BJ!^::..::^^^:::^!J55PPGB#&&&@@@@@@@@@@@@
GGBBBGPG#&&@@@@@&G?!75BBB###P7~7!!?YPPPGP57....:^^^:.:^^:.......:&P.........~Y??JJYY55PGGBB####&&&#&&&&&&&&&&&&&&&&&&&##GP5PGBG5YYY5PYJY5BBB#&&&@@@@@@&&&GGG5YYYPB#&&&&&BGGY?5PY?7?J^..............^^~?Y?B##BBBGGBBBGPPPPPPGBBB####&&&@@@@@&&&&BJ~^^^~7?YY5PP5#&&&&&&@@@@@@@@@@@@@@@@@@@@@&&#BPY?!^......................!##BBB#&&&@@@@@&&@@@@@@@@@@@&&&&@@@@@@@@@@@@#PJ!^:.....:::::::~?7~~!7JJJY5PGB#&&&@@@@@@
!!?PJ7JG##&&&&&&B5~^!J??YPBBG5JYY5PGGPPG5^.............::^^!~^..~?:....:::^!JY??YPBBBB#######&&&&&&&&&#&&@&&&&&&&BGY?!^:...::::........:!PGB##&&&@@@@@&&&BBBGPYYGB###BB#GYYJ!?J7!~?JY?^...........:YPY?5PPPPPPPPGGGG5YYY555PGGBBB###&&@@@@@@@&GJ~:::^~7?7?5PGGG#&&&&&&@@@@@@@@@@@@@@@@@@@@&##BGPJ7^.....................^5B#GGBB#&&@@@@@@@@@@@@@@@&@@@&&&&&@@@@@@@@@&!:..........::^!!~~~~~~~!77?Y5PGGBB#&&&&
.^P5^:!PGB#&&&&^.....:!??Y5PPGPPGGGP?...............::.:::..........^~~!!7Y?!^?G##&&&&&&&G?~75577YPG#&&@@@@&J:.........::......:^....^?5PB#&&&&@@@@&&&#B#BG5YG#GGP55PY~7?~!7!~~?J?YYYP5Y!~....:JP5J77J5YJJYY5P555Y?JJJYY55PGGBB#B#&&@&&&@@&5~:..:^!?7?YY5PGBB#&&&&&@@@@@@@@@@@@@@@@@@@@&#BGG5J!^.....................:JB#BGBB#&&&&&&&&&@@@@@@@@@&@@@@@@@@@@@@@@@@@@&P~:.........:::~!~~^^^^~~~!!7?JY5PPGBB###
.7Y~.^Y5P5PB&@@@&B7~:....::~JY55PPGGG5^......::^:....:::....................:^^^~7JJJY5PP5?^........:~7YB&&@@&^.........:^:.....:::....~!~!~!YG#&&&&@@&&&#B#BB5JG5??777?7^!7~!!~~7J?~7?YG#@BP^:.:~!7!~^:.^7JJJJYYYJYY?7?JJJYY55PGGBBB&&&&#&&&B7:..:^!??7J55PGBBBB#&&&&&@@@@@@@@@@@@@@@@@@&#BP5YJ?!..................::::^JB##BB###&&&&&&&&&@@@@@@&BG&&#B#&&@@@@@&&&&&&@&J:..........:~~~^^^^^^~~~~!77?JJY5PGGBBB
~!...~??^:?P#@@@&BGBG5Y?7~:~?JYYY55P?........:.......:.....................!?JJ???!~~~~^..........:~^^^~?PB#&~...........::....~7!:..:!J?7~.^7PB#&&&&&&&&BBGYY?YBY?7!!!7!^~~~!~~!?Y!:~77Y#&B?..............^!?JJJJJJJ?77?JJJJJY5PPGBG#&&&#&&#J:...:~?577?Y55GBGB###&&&&&@@@@@@@@@@@@@@@@#BGP5J77!:.....................::7G######BBBBB#&&&&@@@@@#GG#&&#BGG#&@@@&&#G5PB&&G~:..........^^^^^^^^^~~~~!!77??JYY55PGG
J:..~!~....7B#&B5GGGBPPJ7~^~7JYYYJY~.......................................^?Y5GGGP?~:.....:::::^!J55YJ??YPP!...............:.:^~J7~~!7Y?7^^JG####&&&&&&&#GJ~!75BP?7~~~!~:^~!!!!7J5!:~J!?B#B7................:^!7?JYYYJ?JYYYYYY55PGGPY#####&G!:...^7P5!7JJYYPBBBB###&&&&&@@@@@@@@&&&&@#GPPYYJ7!~.......................::~P###BBBBGGGGBB#&&&@&&#B#&&&&&&&&&&&B#&&#Y!75#&G~...........:^^^^^^^^~~~!!777??JY55PP55
?^^!7!^.....^PP??Y7!7~~^^!~^!?JYYJ^....................75YJ~..............7J!...^7?~^^^^^^~!?YPB&&&&&&&&&&&B:..:^:.............:::..::^^~^~JGB##GB###&&&&!!7YBG7!~^~~~^~!7!!!?YG!^7J~!5B#5...................:^~7??JJJY555555PPGG7~5#B5B#J~:..:~JBBJ7?J?J5G######&&&&&&@@@@&&B5?~^?GBPYJ??~^.........................:!P##BBBBGPPGB#&&&@@&&BPB&@@&&&#BB###5J5PGP7!JPY~:............^^^::^^^~~!77777?JJY5PPPPG
B5YY?^.......!5?7~^^^^:^!??!~!?JJ!.........:.........~YB&@@&GJ775Y~:::::~B@@?^7?!~^^^^~!7?P#&&&@@@@@@@@@@@@@G5YJY?^:...^~^.....:.....:?!7JPB###BBBGPPGGGGBBP7~!JBG7!!!!7!~!?JJY5PGY^~?!~7P##G.......................:^^~!77??J555PGG?:~GP!5#Y!^..:!5#&#Y????J5BB####&&&&&&&&&&##BJ77:.:?PYJ?7~.....................:^!?PB#####BBBB###&&@@@@&#BPG&@&BG5YPGBBBG?!~^^7J!::..............:^~:::^!??7!!7??7J5YJJYPB#&
~~:..........!57^^^~^^^~755J!~~75:.................^JPGGB&&&&B5P&&GYJJGP#&&@&@@@@&GJ!7YGB#@@@@@@@@@@@@@@@@@@@&#PYJ7~:::::::...::......~7!!JB####GGB#PJ^~7YGY~~7JBP7777?J?YPGGBGGGP!~!!77J5B#P...........................::::..:^^7J5Y^.~7~!GG?~:.:?G&&&&B???JY5PGB#&&&&&&&&######G!^^:.:!7?JPY^...............:^~7?55J75@&&BB#####&&&&@@@@&&#BP5YJ???JYYPGGGPY^.:....................::~~::!PBGJ77??7!7J7!~~7GGP
.............7!::^~~~~~75GGY~:.!:.................!5GGBBBB#&&&&#&@&GPGBB&&&@@@@@@@@&B#&&&@@@@@@@@@@@@#&@@@@@@@@#PY7!^:........^7..:.::.!J?5GP5BBGJJYY?~.:7Y7::!5#GY5PGBBBB#BB##BBP7!!!?Y5PBB5......................................^!!..:^^?G7~^:~P&&&&@@&#J?YY5PGB#&&&&&####BB##G7^^^~!!7J55Y7!:........::^^~7~!!7Y5JJY5YJ5PGBB#&&@@@@&BP55P5!...^~!7??JJ7!JPP7......................::~~^7GJ?7!^^:.......:~
............^!:::~~~!!7?5Y!:.:...................~5PGBBBBB###&&&@@&&&&&@@@@@@@@@@@&BGBBB&&@@@&@@@@@@&GJ5#&@@@@@#GPY?!^:::......:!~:.::?G#?7?YYG#P!..^?J:..:^:.^P#BBB######&&&&&###GY77J5PGBBG!:.......................................:..::!B!~~!P&&&&&&@@B~!7JY5GGBBGGBPJ7!~~~!!~~^^^~!7?Y?!~^^^::....::^!:^^?!7?77!^:...:~7JJYPB#&&&#GJ~::......:^^^^^!?~::~?PP~...................:::^!!?G&&BJ~^7?!^^^7Y!^~YB
:..........:YY?77!~^^~7?~........................~5PGB####&&&&&&&&@@@@@@@@@@@@@@@@#GPBG5B#&@&@@@@@@@J5B&&&#BGGPPY?~^:::......?&&#PP@@@G.!5BP7^:...!5^....^~!GBBB#&&&#&&&&&&&&&&&BP5PGBBB#BGYJY!::.......................................~G7!JB&&&&&&&&&7~!7??JY55Y55?~:......:^~7???7~~~::::::.:....::^^::::............::^~~!!7JYY?!~^:....:7~^:::..~JJ!^::^JG5^.................:^!7??5B#5!!JGY!J##P!^~5#&&
^...........!G#G?^..^?J^.........................!YPGB##&&&&&&&@@@@@@@@@@@@@@@@@@&GYJG#5YG&&&@@@@&BYY5555G####BGG5Y?!^^::........B@@@@@@@@5Y##Y..:^:..:.....~!YBBB#&&&&&&@@@@@@@@@&&&&&&###BBGPPGBGP:......................................:?!~P##&&&&&&&P~!7??JYYYY5B@&&#Y~~7YJY5PPJ77~:......................................::^^^^^^::^^^::::^!7~:....^?Y?~:.:~5BY~^!JP#&&&&&##BBGGB#B5JYYYJYGBPY?JGG7!YB#&&#
Y............^55~::!PB7..........................?YPGB##&&&@@@@@@@@@@@@@@@@@@@@@&#G7!5##55PBBPPGPJ^..:~?YPGGGG#BP5J!^::::.......:P@@@@@@@@@@@@&5!YGJ.....^^..:J####&&&&&&@@@@@@@@@@&&&&&&&&#BGPPGGBBY:..................................:...^!^5###&&#&&&P!77?JYYYY5#@@@@@@&BP5555J!:::...............................:............:::::^^^^~~~~:.:7?!^:...!YY7^:^5&&##&&@@@@@@@@@@@@@@@@&P7!5GGJ^^YPPPGB&&@@@@@
#!............:!JPB&@&J::........................?5PGB##&&&&@@@@@@@@@@@@@@@@@@&&##B?7YB&#B57^....:::...^?PYYJJP57~^:............5@@@@@@@@@@@@@@@@@@@&#P5G#P:^7B####&&&&&&@@@@@@@@@@@@@@@&&&&#GP55555G5:.................................^...:^~JPB#&###&&&P?7?JJJYP#@@@@@@#577JJ7!^:....................................:...:::....::::::^:^^^~~!^..^777~:..~JYJ5##BPPGGGGPG#&@@@@@@@@@@@@@@#5??YJYPB##&@@@@@@@@
&&5:...........:J&@&@&J:^........................7PGGB##&&&&@@@@@@@@@@@@@@@@&&&&&##G5PP#&&G^......^~....^?J77~7~:..............?&@@@@@@@@&BB&&B!~?B##PB&@@@@@@&#BB#&&&&&&@@@@@@@@@@@@@@@@@&#GG5YYJ?JGBP^.....................................:~?7?5B####&&&&BGPGB#&@@@@@&P?^^~!!~:.........................................:::::^:::^::^:^^^~^~~~!~..^~~77:..:7B#5!~77?77YB#&@@@@@@@@@@@@@@@@B55J5GBB#&&&@@@@@@@
@@&G7^:....::^!5&@&&&B?J?.....................:^~!YBGG#&@@@@@@@@@@@@@@@@&&&&&&&&&####B5B&&#^.....^~^...:^~~^~^~:..............!&@@@@@@@@&J^~P#G^..!!~...757?5BGJYG#&&&&&&&&@@@@@@@@@@@@@@&#GP5Y?77!?GBGY!:...................................:!Y^:^!G#GGB#&&&&&&&&&@@&B57^::::^^:...........................................:~!!~~~^^~^~~~~^~^~7~!!::!~:::...^5PP?~~~^~!5#&@@@@@@@@@@@@@@@@@GY55PBBGB#&&&@@@@@@@
@&#BBBB###&&&@@@@@@@&#BBGPJ..............:^~~!!!!7?PGGG#&&@@@&&@@@@&&&&&#####&&&&###&#BB#&&J.....!7....!P5J...:...:^^:....::::~JPB#&#BBP7::^JBBJ:..^~....:...~!?JPB&&&&&&&&&&@@@@@@@@@@@&#BP5?7!!~~?G#5?7!~^.................................:7G~..:!5P5PPB#&&&&&J7YJ!^::..................................................::!7?JJJYYY55PPGGPJYP?7!~?7^.....~5J!!!7!~:.^?G&&&&&&&&&&@@@@@@&5555PGBB###&&##&&&&@@
#BBGBB#&&@@@@@@@@@@@@&###&&#Y..........:~!!77?????JY555GB##&&&&&&@@&##&&&&#######&&&&&&&&&&&PY?!JB#5JJ?7?~:.........^......:.......:......^~?YPY^...~^:...:^~~~7JGB&&&&&&&&&&&&@@@@@@&&##BPJ7!~^^^^?B#J~~!!7~^:..............................:?B?::^^7J??JYPG&&&#:...........................................................::^^~!77?YYPGB#@&&&&BB#BJ:....!G5!^^^~~^::^!YB##&&&@@@@@@@@@@GYJJYYPB##G55YYY5G#&&&
~JPGBB##&&@@@@@@@@@@@@&#B#&&?........::^^~~7Y55PPP555PG#####&&&#&&@@@&&&&&&&&&&##&&&&&&&&&&&@@@@@@@&B5:.......................:..........:7YYYY5JJ^:.^::..^~^~~~5GB&&&&&&&&&&&&@@@@&BP5PPY7!~~~::::Y##J^~~!7777!~^^^...........::............~Y#J^~!!!!!!!!JYG##5..............................................................:::^^~~!!7???G&&&&@@@&?....!PP5!~~~!77!J5G#&&@@@@@@@@@@@@@#J7!??5#BBGY7!~~!7?PBBP
JY5GBPP#&&@@@@@@@@@@@@#PY5P7......::^^:^~~!7JY5PB############BBB#&&@@@@@@@@@&&&&@@@&&&&&&&@@@@@@@@&7:....................:....!~^:..:~^^:^YB#BPB#&P7~7YPY?77!~^7PPG#&&&&&&&##&&&&@@#YJ77!~~~~^^:::^G#BJ~~~!!?J????JY!........:^^^^^~~~~^^...:!P#Y~?JJ?7~~~~!?JPGJ......................................::^::.......................:::^^~~!!G&&&&&&&P^...!55J?7!777!^^!7YG#&&&@@@@@@@@@@&5!!!7J55J7!~^:^!JJJYP5Y
BYJGP5#&&&@@@@@@@@@@P~..............^~~~~!!7?JY5B##&&&&&&&&#BGB##&@@@@@@@@@&&##&&#B&@@@@@@@@@@@@@@#.............................^^.~77JJJ^J55P55GB#&&&@&#G5J?7!^75PBG#@&&&#BB&&&&&&#Y?~~^^~~~~!^^:!#&GY77777?JYY55PG7.......:~!???J5GGP5?:..:!P#5JPGPJ??!~^~!?J5Y......................................::::::^~~^....................::::~!Y#&&&&&!:.^!JJJ7!!!!~~^~7??YPGBB#&&&@@@@&!77!!!~:....!YGBBBB###
#Y!?5B##&&@@&@@@@&P^...............:~!!7??JJY55PGGBB#&&&&@&&&@@@@@@@@@@@@@@#PY5B&#GB&@@@@@@@@@@@@@&^:?G#5.........................~?7~7??JPGB#G5B&##&&@@&#GY77^.~YPPYG&@@&#GG######P?!^!^^~~!?7~~~Y&&BPJJJJYY5PPGGBB7.......:^7J5G#&@@@@#^..:!5###&@&#BGY!^^~7?J?.......................................:::::^!7GB5??PBBGGBG5?!~^^~~~:...7G&&&&&&&&&Y^~7!!7JY?!~~~7~~!7?????YGB#&@@&&#BGBBY7~~~^::.:^?G###&&&&&&
#G7~!!^:^~??!?JY?:...........:::~!!7?77?Y55PPGGGGGGGBBB###&&&&@@@@@@@@@@@@@@#B#&@P&@&&@@@@@@@@&P:~PP!....:~7?7~~~^:...........^~~:....:~?YY7!YGGB#&@@@B?:....!YY??GG@@&BP5GB#BBGJ7!77~~!7JYJ77JG&&#BP5P55GGBB###B^.......:^!?YP#&@@@@B:..:!5B&@@@@@@@BJ~^~!77:.......................................:::^~~7JG&@@@@@@@@@@@@@@@@@@@&B55#@@@@@@@@@&7..^!7Y5YJ7~^^~!!?YPPGBB#&&&&&#####BG#G?^::^^^~7YGBB###&&&&@
9!:....................~7JJ!^~?YYJ7!75GGGGGB##BB####&&###&&&&&&#&@@@@&&B775B&&@@@@@&&&&&GJ!~^::......:.:~!?YPGBBBBBGP57~~::.:YGB5?7~::......:~?5B&@&&B^.....:JPYY5GB&&PJ?YBBBBB5JJJY?!7J5GG55PP#@&&&#BPPGB###&&&B:.......:^7?YPBBG?G@P...:7PB&@@@@@@@&G7~~~!^........................................:^~5BGB&&&@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@@&?....:~7?J?~^^^^~!7?YPGBB##&&&&BP?!~^^~!!~^:^^!??5BBB#B#&&@@
##GY!^::.................!55Y?!:..::^~^~Y#&##BBB#B#&#B&&@@&&&&@&P7?YBG5J!?7^::7PG#&&@@@#PY:...........:!!~7?JYPGBBB####&&BG7^:7B&@@@@@&&&##B57!?PB&@&7:.^.....:?#&#BBBGJ!7YPB#&&&BGBGGGYJPB###BB##&@&&@&#BBB&&&&&&&B........:~77?5?~?^Y#Y...^?G#&@@@@@@@@B?~~^!:............................::::.........~P&&&##&&@@@@@@@@@@@@@@@@@@@@&&&&&&P~......:^^::.....:^~7JY555PGGGP5?~^:...~YBY:^^!??J5G###&&&@@
PGBP7~:..................^~7JJ?!:....:^!Y#&@@&&###&&#B#&@&&#BBB5JJ?77!7Y55YJ7~JPPG&&@&Y!!::........^7?77J5555PGGGBBBBBBBB#G~:P&&&@@@@@&&&@@@@@@@@@@@G........^75@@@@BJ~^~JPGGGG#&######B#&&&&&&&&&@@@@&&#BB#&&&&&@&J.......:^!J7~7:.!^7G!..:~YB#&@@@@@@@@#J~^^!~......................:^^::^!77?7~^:....:J#&&&&&&&@@@&@@@@@@@@@@@@@@@@@@@@@@@&Y~!!^~7^........:::::.....:^!77?JJ??7!^:.::^!5&@&Y^^~?J5PG#&&&&&&@
5PGGY~.........:::........:^!J5PJ:.....:~?P&@@@&&&&#GB&&&&#BBBBGGGY7~75GBBB#&&@&&&@@@&&@@@@@@&GPJ!75GB####B###########BB#B?.7&&&&@@@@&&##&&@@@@@@@@@B.......!55G##GJ!~~^!77!75GBGGB##B#&&@@&@@@@@@@@&&&&#GG#&&&&&&P~......:^~?P?:~^.::!5^:^^?G#&&@@@@@@@@&Y~^~~!~....................:!JJ7^:^~~!J55Y?7JYJB&##&@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@G!!?!:~7~......:^^^^^^^::...........:~!7YPG#&@@@@&P!~~::!?Y5G#####
PPGBBP!..::....::..........:~7J55!.....:::~?5BPYPBPYPB#&&&&&&&###B5JJ5GB####&&@@@@@@@@@@@@@@&&&@@@@@@@&&#GB&&&@@&###BPPGBP:.5###&&&@@#Y?7?P#@@@@@@@@J......^5BG5J7!77~:^~^!5#&&#GPB##B&&&&&@@@@@@@@@&&&&#GGB#####BJ!:....:~7?5P!.^~...!7^~!!P#&&@@@@@@@@@&Y~~~~~7!:..................:~J5P?^^^:.:!YPB#&&######&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@B7~7?~.^!:.....:^^^^^^^^^^^^^^::^~7?JG&&&&&&&&@@@@&&&##B5?:...^^^^
PGB#&!:.....::..........:~7?JYYY7^^!???YPG#G^:!?YGB&&@@@@@@@@&#BGGGBB###&##&&&&&&@@@@@@@P?7~!Y#&#&&&BJ~^!P&@@~:::~Y5~!GB##&&&@&J^^!7YB&@@@@@@@?......:?GG?7?7~:.:^!5&@@@@#PG#&##&&&&&@@@@@@@@&&&&#BPPGB###BGY!:..:~7Y555?^:^:...!!!YYP&&&@@@@@@@@@@&J!~~~~?5J~..................^?5!.......:^!?J?!!7YBB##&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@#7^~77::^:.....::^^^^^^:^^^::^^!777?YB&@@@&#&&@@@&&&&@@@@@@BPPGGGB
GB#&&&&&G!:::..::.........:7Y5GGGP&BGB#B5Y5G#&@?.:YPB#&&@@@@@@@@@@&&&&#BB###BBPPPG#&@@@@@@@&B5?~:^JBGBBBB5~..!#&B5^......?##BBB#&&#Y^^~!~~Y#@@@@@@@@&~......:!JY5J^...~5#@@@@@&BGB###&&&&&&&@@@@@@&#&&#BP55PGB###GY~:^^!JG#B5J?^.^...^!7YBB#&@@@@@@@@@@@@&5?!!!!?PGGJ^.................^!...............:.~BBB##&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@B!::^7!..:......:::::...::::^^~~!7?YP#&&@@&#&&&@@&&#&@@@@@@@@@@@@@
GGGGGGPG#Y~::::^::......:~7J5PB&&&@@@@&B5JPB#&@&!!PB#&&&@@@@@@@@@@@@@&BBGGBPGP?!7YB&&@@@@@@@&GJJYY5GGPPP5P5J^.~BY!:.......G##57?5P!...^:::7B@@@@@@@@@&~.......~JBP^.^YB&@@@@@@&#B##B#&&&&&&&@@@@@@GG##GGJY5PGBGBBP7!?Y5G#&&&PYY^:?:.:~7JG#&&@@@@@@@@@@@@@&G5J???JPB#&BJ~...............................:..7&&###&&&&@@@@@&&&&&@@@@@@@@@@@@@@@@P~...:7^..................:^^~~!!?YG#&@@@@@&&&&@&&&&&&&@@@@@@&@@@@
P7^^^~~!J?!~~~!?7~^^:..^~!?5PB#&&&&&GGGGYJB&#&&&#GGB#&&&&&@&&@@@@@@@&GBGPB#5557^~?P#&&@@@&B555Y5PGBBGPP5J7!!!^^77!^.......:?7:::~!....^~:~~G@@@@@@@@@@&J^.....:7BBGG#&&&@@@@@&&##&##&&&&&&&&&@@@@&Y5555Y!??YPPPGP5JGB#&&@@@&GYJ~7#^:~7JP#&@@@@@@@@@@@@@@@&#G5YJYYG##&@&P?7~^:.............................!&@@&#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@5:....^!:................::^^^^^~7B@@@@@@@@&&&&@&&@&&&@@@@@@@@&@@@
Y7^..^~!7?P5?7YPPP5Y?!^^^!?YPG##&&&&&BB#&@@@&&##BGGB#&&&&&&&@@@@@@@&#B##&&57YY?777?Y5PGG5?!~^!J5PGGBBBGY~:......:::........?^...::...^~5YP&@@@@@@&##&&&#J^:....^P&@@@@@@@@@@@&&&&##&&&&&&&&&&&&&&B??77??!7J5GGPGGGBGGG#@@&@&G?7?##77JY5G&@@@@@@@@@@@@@@@&&&#BG555B&&&@&#GPYJ7!^::^~^^^:....................?#&&&#####&&&@@@@@@@@@@@@@@@@@@@@@#?......:~:...............::^^^~~!?P&@@@@@@&&&@@&&&@@&&@@@@@@@@@&@@
#5!::^!77?5PJ!?PB####G^::^~7Y5GB#&&&@@@@@@@@@@@@#5G#&&##&&&&@@@@@@@&&@@@&?:!7JY5P5!:...::~7~.:~?Y5PGGP!:.......................:^~:..?#&&&@&##&&&&#B###B5?~^...~5&&@@@@@@@@@@@&&&#&&&##&&&&&#####J7~~~!7!?Y5GGP#&&G7JJP&#&@&55G#&&#PGGGB&@@@@@@@@@@@@&&&&@@@@&&#B#&&&@@&G?YYYJ!7JY?!!~^.....................~G#&@&@@@@@@@@@@@@@@@@@@@@@@@@@&G?:........:..............::~!?YPB#&&@@@@@@&##&@@&&&&@@&&@@@@@@@@@@@
&G7^:~!!7?J?!!?PBB#&&J!^.::^7JPB#&&&&&&@@@@@@@@@BBBG#BBB##&&&@@@@@@@@@#5^.::.:!5P5:.....^7!:...~77?YJ^...........................^^..~###&&##&&&&&#BB#BPY!~!:.^7G&&@@@@@@@@@@@&&#BGBJ^!?Y5GP7YY?!!~^^^^~!YY5PPG#&&G!!!Y#G&@&B###&&&####&&@@@@@@@@@@@&&@@@@@@@@@@@&##BBBBPJ55PY5B&&BG5J?.......................!7?7JG##&@@@@@@@@@@@@@@@@@@@@@J!~.....................^7YPG#&&@@@@@@&&@&&GG5B@@@&&&&@@&&&@@@@@&&@@
&GJ!!77J??7!!7?5PG##?Y&#!::^~?5GB#&&&@@@@@@@@@&&#B?!5##BB&&&@@@@@@&#B5:..:.....^^......:!~:..^~~7!~7^.......................^~!!!?7:.^GBPGG#&&@@@@&#B#BP5J!JJJ5G#&&&@@@&&@@@&&&&#BG7....:^~::77^:::....:7YYPPPB#&&#!!7YBP#&&&&###&&&&&&&@@@@@@@@&&&&@@@@@@@@@@@@@@&&&BPYJ5PGB##&@@@@@&&7.............................:B@&##&&&&@@@@@@@@@@@@@G^^.................:~?5G##&&&&&@@@@@@@&&&#GPGG#&&##&&&@@@@&@@@@@@@@
&#BGGPPP55Y?77JYPGY^J@@@#~.:^7YPB#&&@&&@@@@@@#B&&Y~^5#&@&B&#@@&&&&BGP?7J7....................!!~^.!7.......................?BBBGPPGP?5B##&&&&@@@@@@&&&&#B5JYPGGB##&&&@&#&&&BB###..........::.........~?Y5GB#&&&B!775#P#B&&#BGGGB&&&&@@@@@@@@&&&&&@&&&&&@@@@@@@@@@@&&GGGBB#&&@@@@@@@@&7............................^@@&5B@@@@@@&&&@@@&&&&&B:................^!J5GGB##&&&&&@@@@@@@&#BGGGGB####&&&&&@@@@@@@@@@@@
&&&&#BBBBBPY???J?^:5&@@@9~77!5B#&@@@&&@@&#YG&B!^!G&B&&Y5###&5B&&&&&&#J.........................PP.......................G&&&#PPGB#####&&&&@@@@@@@@@@#BGPPPPPBB##&&&&BGGG55B###J......................^?~^!Y#&&&Y?77G#P&G##BGP7.:~JG&@@@@@&&&###&&&&&&&&@@@@@@@@@@@@@@&&&####&@@@@@@@@@BJ~:........................~#&?!&@@@@@@@&&@@@@&&&&&5:......!7:....^~7?J5PBB##&&&###BBBGGPPPPB#&&&&&&&&&&&&&&@@@@@@@@@@
&&&#BB##B5Y5J?!:.:P5YPGGGB#&&&G5B#&#&@@@&&&&#G&BY^~75B##GYGBGB&PP#@@&&&&#~........................!Y:......................B@&&#GPPGBGB##&&&&@@@@@@@@@@&##BBGGPGBB#&&&BYJ55YYG##G:......................^7:.:!#&&#P5Y5#BB&GBBGP5:.....^5&&&&#BB#&&&&&&&&&&&@@@@@@@@@@@@@@@@&&####&@@@@@@@@@&B!.......................:!^!#@@@@@@@@&&@@@@@&&&&@&#BB##&@@@P~.:~!77J5PPGPP5YJ7!!~~~~!77?JYPB#&&@@@@@@@@@@@@@@@@@@@@
BBGGB##G55Y7J7...5&5..:~!7YG&@@@B5B@@@@@@@@GP@&B?~?J5B&#G?JYGB@&GB&@@@@&&#^.......................:^:......................G&&&#BPPGGPG##&&&&&@@@@@@@@@@&&##BBGGGBB##B5?Y55JYPB#G:......................:7:..^?Y??PBG#&#&&GGPPPJ........7#&##BB##&&&@@&&&&&&@@@@@@@@@@@@@@@@&&#&&&@@@@@@@@@&7.........................:Y&@@@@@@@@@&&@@@@@@@&&&@@@@@@@@@@@@B7~~!!!!~~^::::..::::^^^~!!7?JYPGB#&@@@@@@@@@@@@@@@@@@
YJ77JY777!^.^...^GBP~..:^~!75#BY7~!GP##B@@@B?&&J~!7?JP##5?Y!5#&&#PB@@@@@&&&J......................:^^......................G&&&&#P5PP5P#&&&&&&@@@@@@@@@@&&&&&#BGGPGGBBP5PPYJ5B&&P.......................^~.....:.:P#B&&&&G5P555~.........?#BBB###&&&&&&&&&&&@@@@@@@@@@@@@@@@&&#&&&&@@@@@&#J........................:!P#&##B5P&@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@P^:.............:::^^~!77?JY5PGGGGGGGPP5PB&@@#BBBGB#
~.:^^~?77!....^..J5Y?....:~!!JPGP?^~JBBG##B&GP&5^^^^^75PGBYJB5Y&&GG@@@@@@@@@&Y^....................^^......................P&&&&&GY5PY5#&&&&&&&&@@@@@@@&&&&&&&#G5YPB##B5?!~^~?55:......................:^.........YBB&##G5YYJ5?..........:GGGB##B######&&&&@@@@@@@@@@@@@@@@@&&&&&&@@@@B?^.........:^~^::......:^~!JPBBG5?~:.^B@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@G:.............::::^^~!77??77!!~~^^^^^^^^~?Y5GGGPY5
^!?5JG&#&#PJPG~...~7:......:~?BGYJ!~Y#&&&&@@@&@@Y~^^:^JBGYG#BP#&##&@@@@@@@@@@@@#PJ7!!!~^:...........:.....................:Y&@&&#GYYPPP#&&&&&&&&&@@@@@@&@@@@@J5GBBY!::.....:.......................:~^.........?GB&#BPYJJJY^...........5GPPB&&######&&&&&@@@@@@@@@@@@@@@@&&&&&&@@#J^...........:~!!~^~~^:.:!?7~::^YBBG7^.:G@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@P..............::^^~~~~~^::::::::^^~~!77???J??777Y
G#&&&@@@@@@@@B.....:........:J#?!YB##&@@@@@@@&P?7?5GP5G&&#&@&&&@@@@@@@@@@@@@@@@@@@@@&&#G5J?77!!!7!....................:~Y&@&#GP5PGGB#&&&&&&&&&&&&@@@@@@@@@&B5Y5GBG!:........................:..:^^~!J7.........^YB#BP5J?7!^............PBGPPB#######&&&&@@@@@@@@@@@@@@@@@&&&&&&&BJ^..............:^~!7?7~:.......~5B#B?^.:P&@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@J.....................::::::::^^~~~~~^^^^^^^~~!!7
&&GGBB#&&&&@&#!.............?PB&@@&G5PB#&@@@@@@@@#BBP5Y5GGB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@&:...................^J5&@&#GGPPGGB&&&&&&&&&&&&&&&&@@&@@&#PYYPG#B7^......................^??!~?J???5J..........~?55J??~:..............GBBGPPG###BBB##&&@@@@@@@@@@@@@@@@@@&&&&&&Y~:.................^~!7!~~~~!!~~?5PGGJ^.:J&&@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@B:..................:::^::::::::..:::::::::::^~!
G55##B##B##G57:^..........:YBBBB#@@&GJ77#@@@@@@#55GGBGP5PB&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@5...................~PG&@@&GGPPGB#&&&&&&&&####&&&&&&&&&&B5JYG#&#!:..............:^^:...^?GGPPPYJ?J5?...........^!?7~:...............:BBGGPPGB#&#####&&@@@@@@@@@@@@@@@@@@@&&@&P:.....................:!J55PBBPYJJ?~!P5J?~5#&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@B!...............................:::^^^^^^^~!!
JJG&@@&##B7:^^^^::.......^?5GB#####555YP&@@@@&J~JY5G#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&J:.................7#&@@@@#GPPG###&&&&&&&#B#######&##&#GPG#&&&Y^...............:^^:..^!5#BBGGP5Y55~............:^^.................7#BBGPPGB##&&&&&&&&@@@@@@@@@@@@@@@@@@&@&7.......................^?5GBBBGPY~:..JB##BBB#&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&Y:...............................::::::^~!!
Y5B&&&&&&B?^:~^..!:.....^!7YPGB#&&#PB&@@@@@#^:^~JY5PG#&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@&#BP#&&GYJYYG&&P!:...............5@@@@@@#GGGB#&&&&&&&&&#B#GGGBBB##BB###&&&&G~:..............:~!^:.^7Y#&#BBBBBGG5^.............:..................?##BGGGBBB#####&&&&&@@@@@@@@@@@@@@@@&&&J....::.................~7??JYJ^^!:..:?PGBB####&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@&G?^.............................:::::^^^
5G#&&#&@@@#J^::.:::....:^^~7JYPGB#&&&@@@@@&Y...7JY55G#&&&@@@@@@@@@@@@@@@@@@@@@@@&#BB##P!^:::^~JY?!77?B#&#P7~^::::::....:!&@@@@@@&####&&&&&&&&&&#BBGGGBBB####&&&@&&&G7~::..........:~J5Y77JPB#&&#B##BBPYY?~:..........::..................~5BBBBGB#######&&&&@@@@@@@@@@@@@@&#B#&P:....:~~^^:...........^!!!~!~:.::...:~!!7?YPB#&@@@@@&BB#&###&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@&5~......................:::...:::^^^
PBB#BB@@@@@#Y^..:^^:.....:^~7?YYY5#&@&&@@&#Y...^JJYPB##&&&@@&&&@@@@@@@@@@@@@@@@@#B#&&&#P7~^^^:~5G5?77YG#&&###GGGJJJ!..^J#@@@@@@@#GB#&&&&&#&&&@&&####&&&&&&&#&&&&&&#B7~~~^^~~~!~^~!?P#&&&&@@@@&&B5J?7!~^!Y5?~::::....::...................:~P##BBBBB#&&&&&&@@@@@@@@@@@@@@&BY!JB?.......?PY7!!~^:.....~!!!!!~:........:::^^~!7?JG&&&#BYJGB#####&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@#5?!^::....................:::...
GGPPP#@@@@@@#J^^!5GBB~....:^~~!~^!?PB#&&##BGJ..^!Y5GB##&&&&&&&@@@@@@@@@@@@@@@@@BGB&&&&&&&GY?77!!?5?!7YG#&&&@@&@&#&&#BGB&&@&@@@&G...:7G&###&&&&&&&&&&@@&@@&&#&&&&&#BP7~~~~~7JY5YYY5PPGB#&@&&&#G?~::::..:^75GPJ7!~~^^^^:....................:?B###BBB&&&&@@@@@@@@@@@&&&&B5!:~?J:........~YJ!!?5Y7^...^?7!!!^.............::::.:^YPP5?^:^JGGB###&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#G~....................
BPYYB@@@@@@&&#GB&@@@B...^^777!!~^:.:Y&Y7?YY5P5PBGJ?5GB#&&&&&&@@@@@@@@@@@@@@@@&BPGB#&&&&&&&&#GGPJ77?7?YPB#&&@@@@&@@@@@@&BGGPP5YJ.......7YGB#&&##&&&&@@@@@@&##&&&#BGP5?!!!!7JY555555YJ??JYYJ7!!^:........:~YGBBBGPY7!!~.....................:^?B##B##&&&&&@@@@@@@@@@&&G7:..77:...........^::::7?!:...75Y7^....................~?YJ?^.....YGBB##&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@5.................:.
#PYG@@@@@&&&&@@@@@&&?...^^!!!~~~^::^GG~J?!7?YPGGGPYJ???JYPB#&&@@@@@@@@@@@@@@@BGGGB&&&&&&@@@@&&&&#PYYY5GB#&&@@@@@@@@#P?^:.....:........:J5BBBGB##&&@@@@@@&##&&##BGJ!?JJ???Y5PPPY?!~^::::::::^:..........:~YGB####G5YJ7:......................^P&##&&&&&&&@@@@@@@@@@&G~.............................^55J^...................!JYYJ!::......~JPBB####&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5?7J5G5!::.......
#PG&@&&&&&&&&@@@@&&B:...^^~~^^^^^:^!7?YB7!J7JGB#&&@@&&&G~^^^:~PB#&&&&&@@@@@@&BGGBB#&&&&@@@@@@@@@@&#PYPGB#&@@@@@@#Y^........:^:........^B&#GPGB#&&&&@@&&&##&&&#BGP!^~?GBGGGGGP?:.......................:^!?YY5GGPYY55J~......................:JB&&&@&&&&&@@@@@@@&&&&Y..............................7??!:.................~Y555J^............JB######&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&BPY7~
5YB########&&&&&&&#J....!77!!!!!!^^~~~!Y7?!!J5PB&@@@@@@@J!!!77PGGB#GP5YY5YJPBB#####&&&&@@@@@@@@&&&#Y?JB&&@@@@P~:......^~7?77~.........~##BPGB##&&&@@@&&&&&&&&&####P55PB#BBGY7.........................::^^::^7YJJJYY7!:......................^P&@@@&&&&&&&&&&&&&&&&B!^...........................^~77^.................~?7!~:...............~?Y5G#&@@@&&@@@@@@@@@@@@@@@@@@&&BB&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7J5G########&&&&&#G.....7?7?????7!^!!!^~~^^!!?5B@@@@@@@@P!7?P##&&&&BBBBBGP??PBB#&&&&#&&@@@@@@@@&5GBG55#&@@@&~....^7JPGP!~~:...........?BG5PB###&&&@@@@&@@@@@@&&&&&&##B##BP?~:................................^~7?JJ?7~^......................~&@@@&&#&&&&&&&&&&&&&##B!.........................:^~7?!^::...........:~?YY!:...::::.................:7B&@@@@@@@@@@@@&#BBBBGPYJ?YPGBB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@
^7?PBB&G5B###&&&#B!.....7????7?JJ7~7?7!!^:~!7Y5G@@@@@@@@BJJ5B##&&&#B##&&##BGBBB##&&&#&&&&@@@@@@@&&&###&@@@@?^!?P#&###G:...............Y5Y5GB###&&&&@@@@@@@@@@@@@&&#BBBBBB5!...................................:~7JJ7!^~~....................:Y@@&&&#######&&###&&#BB#P:......................:^:.^^^~77~^^:^~!!7?P#&&!:.~JY7!^::......:^^:........:P&@@@@@@@@#Y7JJYY7~~7??J5555GB#&&&&&@@@@@@@@@@@@@@@@@@@@@@
~7JGBB&!~PB####&#G......!?5Y77?Y5J!J5J??~^!!7JJ5&@@@@@@@@&&&@@@@@&&&&&&&&&&&&####&&&#&&&&&@@@@@@@@@@&&@@@@@&&&@@&###B7...............~5Y5GBB###&&&&&&@@@@@@@@@@@&&####BBBJ:....................................^7YY?!^^!~...................!#&&&#BBBBBBB########BBGGGY^..................:^:.......^~~!!!7JY5PG#&@@&&P!:.~Y5J?7777!~~~75##BP7:......^^~7YB&@@&P!^~?J?!~~!?JYJJYGB##BP7!P##BGB#&&@@@@@@@@@@@@@@@
BPPBGB5:~JG#GGB##Y.....^J5PPPPPPP575GP5PY!~?Y55P#@@@@@@@@@@&&@@@@@@@@@@@@@@@@@&&&&&#BBBB#&&@&@@&&&@#&@@@@@&&&&&####BP:...............JPPGGBBB##&&&&&&@@@@@@@@@@&&&#####BBPJ7!!~................................:!YPY7^:~!~:................^5###BPPPPPPPGGBB####BGGPPGGG7.............::^::................:^~75BBBPY!:...!777777777?J5B&@@@#J~....:^^...:?GBBY~:^~~^~!7J5PPY?7JGGG##G?:.:!JY5PPGB##&&@@@@@@@@@#
&GPBYG!~^7GGY55G#7.....J##B#&&BGG5J##BG5Y555GB###&@@@@@@@@#:.7B&@@@@@@@@@@@@@@@@@@@@@@@@&#&&&&&&&&&Y!5GB##&&&&#&&&&&J................?GGGGGGBB####&&&@@@@@@@@@@&&&&&&&##BGPPY!.................................:~JGP?^:^~77!^..........^^~7Y?JY55YJ?JYY55PPGBBBBGGPPPGGBBG?^.........:::.....................~?J?!~:...........:^~~!!7Y#@@@&#P?!~~~^::::!JJJY?~::^~7JJY5PP5555PP5Y5G#&!:::^~!7J5GGB##&@@@@@G~
P5B#7J^7:!G5JJ??57....!B&&&@@@@&BB#&BB5^!B&###&&&&&@@@@@@@?.....:~!?J5PGGB##&@@@@@@@@@@@&#&&&&@@&&&B7~7YB#&&@@@@&&&B.................?GGGG5PBBBB##&&&@@@@@@@@@@@&&&&&&#G5?!^....................................^7PG?^::~!7Y557^:::...^!?5P5^:~7???????JYYY5PGBBBGGPPGBB####GJ~.............................:!??!^:...................!55YJ7~^^!7!^::^!Y55PG5!^^~!YGY?7!!?5GGPJ77JY5G#&#BPJ?Y5P5YYY5PGB##&&&BJ^.
GPBB!!!5YB##Y~::^5BY::~Y##B&&&&&@@#YG#?^!G&&&&&@@&&@@@@@@@7.................^&@@@@@@@&&&&&@@@@@@@@@@&GJ5G#&@@@@@&#G?.................?GGGGPGGGBBB#&&&@@@@@@@@@@@@@@@&PJ!:.......................................^7PP7:.:^~7JPB##B57:..:!?5PY:.:^!?JJ?77777?Y5PGBBBBGGGB#&&&&&&&#Y~^~!!^......:^^:::.......:^~~~^.........:^!?JY5PGGP!:.......:5&&&&&&&@@&&&BY7!77JPPJ~:~^!JJJ7~^~7?5G#BBBGGY?J5PPPPPGBBG57^.....
&BPGJP&@@@@@P^:::7BY^..7#BG&&@&@#Y5JBBJ!7G&&&&&&@@@@@@@@@@B:7G#&&&&&&&&&B^...?P@@@@@@#B#&@@@@@&&@@BP5?YBBG&@@@@@@#B~.................YBBBGBBBGBB#&&&@@@@@@@@@@@@@@@&?:.........................................:~JP5!:.:^~!JPB&&#BJ^..:~?5PY....^7Y5Y!~~!!7?YPGBBB##BB##&&&&&&&@&GY7!^:^!~^:^7YJ77~^~JG###&&&&&&&#BGB#&&@@@@@@@@@@@@@&B5?7!7Y#@@@@@@@@@@@@@&PJ?7!~7?!:^^^~!J?^:^~~75PBBBBB#GY77?Y5PGGP7:........
BPJ75&&&@@@@B!^^^~P&G!^JB#&####P^~YJJPPYYG&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@G:...!G#&#G#&&@@&@@@@#&&Y~^:7&&&@@@@@@@@@!.................G####&##BB#&&&@@@@@@@@@@&&&&@#^...........................................:!YPY^.:^^~!JP#&&&#P!:..^?G#P....:!YPP7^~!~~7PGGGBB####&&&&&&&@@@@@@7PPPPPP5J?7^:~!7JPB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GY5?~!!~^^~~^^7?7~:::~7JPB#&&###B5?!77?JJ^.........:
^^:^YBB#&@@@&P~:::!##~:7B&&&&&&JYG5!!JPGG#&&&@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@J....:JGPG##&&@@@@@&B&@&GJJG##&@@@@@@@@@?................!&&&&&&&&###&&&@@@@@&&&&&&&&&#^............................................^J557^:^^~!7YG&&&&&#?:..:?B#P....:!5BB5^~~^^?GBBB##&&&&&&&&&&@@@@@@@@@@@@@@@@@&#BYYB@#7!B&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G55Y?!~~~~^^^~!!!!^:^!7?55B&&###BP7~~~!!^.......::.^
::~J5B##&@&&@&Y!!~~??:.J##BG&@@@@#7~!?PB#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&?:..~PB##&&&&@@@@@&YY&@#??B&&&&&@@@@@@&Y................G&@@@@&&&#&&&&&@@&&&&&&&&&&&&7...................:.:...................::.:7YYJ~^^~!77YP#&&@&:..:?G#J.....!G#&B!~~:~5####&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@&#&@B7P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5Y57~^^^:::^:^^~^::.:^!7?G#BGPP57^^^^^:........^:.^
!77?5G#&&&#&&&&##G?~~..!7^..P@@&G5!~~75#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ5GBB#&&&&@@@@@@&55BJ!7G&&&&@@@&&#B5J^..............^&@@@@&&&##&&&#&&&&&&&##&&&&&B................^~!JYYJ777!:.............::..^777!~~!??JJJJJ5G####G~^!JG#&B~:^~!?G#&#Y!^^?B&&&&&&@&&&@@@@@@@@@@@@@@@@&&&&&@@@@@@@@#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G7^^:::.............:^~7J5PPY?!::::..........:^::!
777?YB&@@&&&&&&&&&GY7......~#&GJJYY?!YGB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#GBB#&&&&&@@@@@@@@&PJ?PB###&@@&BBP5Y?!^.............G@@&&&&#B####B&&&########&&&&J............~JG#&@@@@@@@@&#J^...............:^^~~~~7?J?~^::!PGB##&&#&&@@@@@@@@@@@@@@@#!~7G&&&&&@@@@@@@@@@@@@@@&&@@&###&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&P7^:..............:^^!7?5P5J~...............^^.:!
:::^!JP#&&&@@@&&GY:...^?PP5BPY5G5PGGP#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#BB#&&&&&&@@@@@@@@@&#B#PP#@@&PBGPPJ!!!~:..........Y@@&&#BGGGBBBGB&&BBB######&&#B:.........!Y#@@@@@@@@@@@@@@@&5~................:^^~!7?7^..^JPPPGB##&&&@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@&&&#BB5:P@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GJ^..............::~!?5Y?!................^:.^7
77!^...^JB&&@&&&&GJY^..:.....J&BJ7?P##BB&@@@@@@@@@@@@@@&B57G&&#&@&&&@@@@@@@@@@@&BGGBB&&&&@@@@@@@@@&#B#BYG&@BJ5&#P?7!!!!77!!?J7^^!5&&@&#BGPPPGBPP#&BBBBBBBBB####?......:7G#@@@@@@@@@@@@@@@@@@@@P!^^^:............::^~!~...:G&PY5GGBB#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&??B#^.?@@#^P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5?~:..........:^?55J7~................::..^!
@@&BPGBBB#&&&&@@@&7...JBBBGB#&#P?~!5B##&@@@@&&&&&@@&GBB?^..7YJ?PBJP#&&@@@@@@@@#!!PGGB#&@@@@@@@@@@&BB#&GB#&BP#&#GY?777!75PGB##&&&&&&&@@&&BGPPGP5G####BBBBGBB###G.......7#&@@@@@@@@@@@@@@@@@@@@@&GJ!:..............:::.....^G#PJ5PGB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P..PB..!&@~.P@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GJ^:........:!JYJ7^.................::..^~
@@@@@@&###&&@@@@@Y..:5#&&&@@&&PJ7!?PGGB&@@@&#BGB##B5YGGY7:.!?5PPJYGBB#&BB&&&&J...~5BB&@@@@@@@@@@@@@&&#&&&&@@&PY???Y5PPPB#&&&&@@@@@@@@@@&&#BBGPPG#&#BGGBGGBB###Y.......5#&&&@@@@@@@@@@@@@@@@@@@&BG~......................^Y##5?YPGB#&&@&&##&&@@@@@@@@@@@@@@@@@@@@@@@&#B&@@@@@@&@@7..JB..~&&.:G&?P@@@@@@@@@@@@@@&#&@@&?!YG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#J:...........::~7YPGGGG5Y7~:.........:..:^^
@@@&#GPPB#&@@@@@@~:~YB#&&&@@@@&BGGBGGGB&@@&#GGGB#&&&&&&BY~!YPGBB##&#&&#P&&&Y.......::7G&@@@@@@@@@@@#G#&@@@@&Y!!!?5GGGGGGGPPG&@@@@@@@@@@@&&##GYJ5BBBGGBBBB#####P.......YB#&&&&@@@@@@@@@@@@@@@@&&BJ.......................:~7YJ?JY5GB#&@@&#&&&@@@@@@@@@@@@@@@@@@@@@@@&G&@@@@@@@&GBJ..7B:.~#B.~BP~#@@@@@@@@@@@@@G^.:^~!??~~!?G&@@@@@@@@@@@&#BGB#&&&&#BB&&&&@@@@@@@@@@&5^...........^!JYGB#&&&&&&&&&5............:::
&BG5PG#&@@@@@@@@&5~^YB#&&&@@@@@@@&BP5P#&&&#BPGB#&&@@@@@&BGB##BB#&&&&@#P&&#?.........:.:^75B##&&#G5?!5&@@&#P?7777?5G######&&@@@@@@@@@@@@&#GP55JJ5GPPPGBB###&&&&&?......!GB#&&&&&&@@@@@@&&&@&&&&#P^.........................:!????JYPB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@&^.~..^5:.^B5.!B77&@@@@@@@@@@@@?..:.....^~7YY5B&&&&@@@@@@&##G57?555YYPB&&&@@@@@@@@@@B~..........:~75GB##&&&&&&&&&&&G:............~?
5YJJB&@@@@@@@@@@&P~!JG#&&&@@@@@@&#BPJG&&#BBGPG#&&@@@@@@@@@@@&BG#&&&&#Y##?:..:::.....:^~!77???Y555YJ7JJ7!^^::^^^~75BG5YPBB#&@&#&&#BGP55Y5YYJ?JJ?JYPGGGBB##&&&&&&#!.....^GBB#&&&&&&@@@@@&##&&B#BGJ...........................JGYJ???JPB#&&#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@&7.....!:.^5!.7P^Y@@@@@@@@@@@@@@&BJ!^:..^?GB###&&@@@@@@@@@@@@&##PJ5J?5GGB#&@@@@@@@&5..........:!JYPB#&&&&&&@@@@@&&&&&BJ:......:7B&@
J7!?G#&&&&&&&&&&&5:.!YY5#&&@@@@@#B##&@@&G5BGPB#&&@@@@@@@@@@@&BB#&&&#JG5:..7PB####G5YYPGJ!YYYJP#B#GJ77!^^:...:^~~77!^:~7JJJ?J?7777!~~~~~~~~~!77?J5GGBBB##&&&&&&&@&5^...!##BB##&&&&&&&@@@#BGGPP5Y!..........................:#&#B5J7?5GB#&&#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@&?.......:~^:!~^P@@@@@@@@@@@@@@5!!!77!!JP#&&&#&&@@@@@@@@@@@@@@@&&&#BBB####@@@@@@&P:........:~?Y55P##&&&&&@@@@@@@@@@@@@#~....J#&@@@
^::75#&&##&&&##@#!:~7~^JB#&&@@@@@@@@@@GJ75GGGGB#&&@@@@@@@@@@&BB&#GP77J~.:YGBB#&@@@@@&BBP!^?G#&&&&&?!77?YY?~:::^^::^~~^^!!77!~~!!!~~~~!!!!77??JY5BBBGBBB#&&&&&&&&@@&P!^5&&##GPGG#&&&&@&&G5JJ????:..........................P@&&&&GYPGB##&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@~.........^~~7G@@@@@@@@@@@@@@GJ7~::~YBB#&&##&&@@@@@@@@@@@@@@@@@@@@&&&&@@@B&@&#B7.......:!JYY5PPGB####&&&&&&&@@@@@@@@@B..J#&&&@@@
.::~5&#####GG#&#G#&#BG57~?B&&@@@@GYYJ~..:!5GGGB#&&&@@@@@@@@@&##B5?^^^J?!J5PGB#&&@@@@@&#BP5PB#&&&@&5Y5PGB#BP?^^~^:::~!~~!?????7J555YY5555555PPPGBBBGGGBB#&&&&#&&&&&&&BGB&##P77JP#&&&&&&P!!~!~!!~..........................!&@&&&#PJPBB#&&&&@&&@@@@@@@@@#&@@@&&&#@@@&&@@@@@@&##&@@5........:75P#&@@@@@@@@@@@@@@@@@@@#B##B#&&#&&&&@@@@@@@@@@@@@@@@@@@@@@&&@G~P&#BG^.....:!JY555PGGBB###########@@@@@@@@@B!B@@#B#&@&
.::~JPGBB#BG#&&B&@@@@@5...:77JYY!::~^:::.:~?PGGB#&#&&&@@@@@@@&BPJ7~:~?J??Y5GB#&&@@@@@@@@&&&&&&&&@@&##B#&&&#Y^:^~~!!7??!7JY55GPP##BGPPPGGGGGGGGBGGGPGGB#######&&&&&YPBBG!:~5B&@&&&&&?::::^^~:........................:^B&&&&&BYJPGB#&&&&̇B#&&.^B@&P75#&&&&&&&&&&G5P###&B......:!YG&&@@@@@@@@@@@@@@@@@@@@&B#&&#&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@&&&?5&###G.....~?JJJY55PGGBBBB#########&@@@@@@@@&#GBBBB#&&&
^^^^~!?JYPG##&&##BGGP7:....:...:..^!!^::..:JBBGBBBB&&&&&@@@@@&&#BY~^!?77J5PGB#&&@@@@@@@@@@@@&##&&&&&&#&&&?!7JYPPG5Y?J5PGB#####G5?J5GGGGGGPPP5555PGB###BBBBBBB#&#PJJYP5!.:7G&&&@@@&#!.....::.........................^P&&&&&&BJ!^^~YP#&@@@&#GB#&&BJ...^5BBY7?PGPGB###BYJYPGGGBBJ....:JB##&&&&@@@@@@@@@@@@@@@@@@B5PB###&&&&&##&&@@@@@@@@@@@@@@@@@@@@@&B?&&#B#G...:7JJJJJYY5PPGBBB#####&&&&&&@@@@@@@&G5YYG&&&@@@
!!~:.....:~^::^:...........7JJPP5Y7!~:.:7~?#&&BGGGB&&&&&@@@@@@@&&BYJJ?!J55PPB#&&@@@@@@@@@@@&#GP#&&&&&&&&&&&BP5PGBB##B5JYPGB##&&&&#P5Y5GBBPYJJ?JYJJJY5PGGGBBGPPGP5GP7!7J?^..:Y#&P5&@@&5:...............................^J&&&&&&&Y:....:^!?5#@@&###&&B:.....^YGBB##B###&&&&#&&@@@&@@G:.^7PBBGB##&@@@@@@@@@@@@@@@@@@#555GB###&&##&&&@@@@@@@@@@@@@@@@@@@@@@JJ&&#B#B~.~JJJ?JJYYY5PGBB###&&&&&&&&@@@@@@@@&P55GB&@@@@@@
:.......................:75B&&&&&&&G?~^:77G&&&&##B#&&&&@@@@@@@@@@&##P??Y55PPGB#&@@@@@@@@@@@&#GP#&&&&&&&&&@@&###&&&&&GGPPGGB###&&&#GPYYG#P?!~~~!77!7?JYYYY5PP5PGY7??~^!?^...~YGPJ5@@@&7...............................:7#&&&&&5~...........:J#&#####B~.......5&@@@@@@@@@@@@@@@@@@@@@&GP??JYYPB#&&@@@@@@@@@@@@@@@@@#BG55G###&###&&@@@@@@@@@@@@@@@@@@@@@@#:7&#BB##??YJJ???JYY55PGGBB###&&&&&&&@@@@@@@@B77P#&&&&@&&&
......................:JG#&&&@@@@@@&5??J?!5#B##&&##&&&&@@@@@@@@@@@@&GYJY5PGGGG#&@@@@@@@@@@@@@@@@@&#&&&@@@@@@&&@@@@@&BBBBGGB#B####BGY?YBP?~^^:^~!!~!7?JYYJJYJJ5PJ!!!~~~^...:!?YJ?B@@@&!:..............................~G&&&&P:..............7&&&#BBB#P.......B@@@@@@@@@@@@@@@@@@@@@@@@#P!!?5B#&&&&@@@@@@@@@@@@@@@@&#BGYG#&&&##&&@&@@@@@@@@@@@@@@@@@@@@&!.^B#B#&#B5YJ????JJY55PPPGGBBB####&&&&@@@@@@@B?7JG####&&&&
~....................:5PB##&&&@@@@@&J~JPGP5GB#B#####&&@@@@@@@@@@@@@&BGPB#BGGBB#&&@@@@@@@@@@@@@@@&YG#&&&&@@@@@@@@@@@@&#&##BBBGBBBGP5?JBGJ!^::::^~~~~!7?JYJYJ7J557~!!~!~....^~!!!P&@@@&Y^.......:.....................^Y###&B:..............!#&&&&#####Y.....J&&&&@&&@@@&@@@@@@@@@@@@@@@#?7PGB#&&&@@@@@@@@@@@@@@@@@@&BBPPB####&&&@&&@@@@@@@@@@@@@@@@@@&7..:GBB&&&GYYJ?????JJY55PPPGGBBB###&&&&&&&@@@@#5YJY#BBBB#B#
P!~7J?^:.....::......7JGBB&&&@&@@@@@#Y5PPGGB#&&####&&&@@@@@@@@@@@@@@&&#&&&#GGB#&&@@@@@@@@@@@@@@G::75#&&&&@@@@@@@@@@@@&&&&#BGYY5555P5PB5!~:::..:^^^~~777?JY??Y5J!!!!!~:...:^^^~5&@@@@@B~:.....::....................:7PGBB#~.............:!PPPB&@&###&&P:..?&&&&&&&&@&&@@@@&&&@@@@@@@@@@B5#BB#&&&@@@@@@@@@@@@@@&&&&&#BBGG#&###&@@&&@@@@@@@@@@@@@@@@@#!...:GB#&&#PYYJJ??JJJJYY555PGGBBB####&&&&&&&&&&B5Y5PGGGB&&#B
#&&@@#GPJ~...~Y~?5PG775YB##&&&@@@@@@@@@&#BBB&&@&#YG&#&@@@@@@@@@@@@@@@@@@#GGBGB#&&@@@@@@@@@@@@#!....~G#&&&&@@@@@@@@@@&&&&&B5J!!7J5BB55BY^:......^~~^~7????JJY5Y??777!:....:^!JG&@@@@@@&P~.....^...::..............::!5PGGG?...........~::^!!7Y#@@#####&9B&&##@&&&@@&@@&&&&&&&@@@@@@@@@B##B##&@@@@@@@@@@@@@@@@@@@@&&#GGB#B##&@@@@@@@@@@@@@@@@@@@&J.....^B#&&&B5YJJJJJJYYYYYY555PGGBBB####&&&&&&&&&G?J55Y5PG&@&#
#&&&B5JYBP?~::~!JGGBP??PPB&#&&&@@@@@@@@@@&&&&@@@#YPBB#@@@@@@@@@@@@@@@@@@@#?JPB#&&@@@@@@@@&Y7:......^7JGBBB#&&@@@@@&&#BPP5J~^:^~7YBGJ?GJ:...::..:~!!~!?J?77J55YYJJJJ!:...^7JG#&@@@@&&&&&P!:..^:..^55!.............^75PPPGY:........^YBY7!~^^Y#@@&GB####&@@@@@@@&&@&&@@@@&&###&&&&@@@@@@@&#BBBB#&@@@@@@@@@@@@@@@@@@@@@@&#BB####&@@@@@@@@@@@@@@@@@@&^......~B&&&&PYJJJJJJYY555555PPPGGGBBB###&&&&&&&&MJJJYP#G#@&
B#####BB&:.^75PP##PJJGB#&&&@&@@&@@@@@@@@&&&@@&&&#GB&@@@&&@@@@@@@@&B5#B!~^^7PB#BP5J??!~^...........^!7!^!YGGB&BPP5JJ777!^..:^!JBG7!B7...:^^^:::~!!!7?7!!755555555!..^!JPB##&&&&&&&&&&!~?:.7PBB!............^75PPPPG?.......^YB#&BGPY?B@@@@&#B###&@@@@@@@@@@@@&@@@@@&&&#&&&&@@@@@@@#BB#&&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&@@@&&&&&&5.......!B&&&BYJJ???JJJY55PPPPPGGGBBBBB####&&&&&&@@&5^^~7J5PPGGB
PGB#&&@@@@&5::!Y5PG#&@#PJGBB&&&&&&&&&@&@@@@&&&@@@@@&#B&&&&&&&@@@&@@&P:..:.^:..~??~...:~^::............:...:!J77BJ!~~~~^^^^:..:^!JGP!7Y!..:~7777~^^~~~!??!~~?Y5555Y7:^~?JGB#####&&&&&&&&&@&&BB5JGBB5:..........^!JPPGGGBB!.....:JPGB#&&&&#&@@@@@&&&&#&&&&@@@@@@@@@@@@@@@@&&&&&&&&&@@@@@&BG#&&&###&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&####&&&#BBGBBG5:.....^Y#&&BYJ?????JJJJY5PPPGGGGBBBBBB####&&&&&&&@@@#5?!~!75BP5
PGB#&&@@@@@&YJG#BB#&@@@@&PGBG#&##B#&#BPY!Y#G&@@@@@@@@&&&&&#BBB##&&&&#!........^~!::^^!!~^^:..:............:77^~7^:::.....:::^^~!?Y?!77~:^!YGPPP5J7!~~~77~^^!?YY5PJ~!YPG#&#BGGB######&&&@@@@@@&#BBG~....:::^~7J5PGBBBB###5:...7Y5PGB##&&@@@@@@@@@@@&&&###&@@@@@@&&&&@@@@@&&&&&&&&&&&@@@&GPB#&&#G#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#####BGPPBBGGJ:.::.!P##GJ?777???JJYYY55PPGGGBBBB######&&&&&&&@@@@@@@&GPPBB&&
GBB#&&@@@@@@@@@@@&&&&&@@@@&YY?!!PG??7:.^#&&@@@@@@@@@@&&&#GGGBB#&&&5.......:^^:::^^^~~~~^:^!^...........:^:.:.........:^~^:^~!!7!77~~~7P#&&&&#BPJ7!!77!~^!7JY5PJJG&&&&&BGPPGBB##&&&@@@@@@@@&###?^...:!!??5GGB####&&&&&B5!:7Y55PGB##&&&&@@@@@@@@@@@&BB#&&&&@&&&&&&#&@@@@@@@&&&&&@@@@YGBB##B##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&####BGPGBBBP^::^:^!5BP?!!!777??JYYYY555PPGGBBB##&&&&&&&&&&@@@@@@@@@@@@@@&&@
GGB#&&&@@@@@@@@@@@@&&#@@@@@@@Y7!!~~!5G55J:!&&&&@@@@@@@@@@@@&&#GGG#&@@B....^:.:^::...::^^~~!~~^^!Y!......................^~!^:^:^~^~77!!JG#&&&@&&&#BP555Y7~~!7JYPPPG#&###GP555PGB#&@@@@@@@@@@&&&&G~^::^~?J5PB##&&&&&&@@&@!JJYPPGGB#&&&&@@@@@@@@@@&BPB&&##&@&&##&&##&&@@@@@@@@@@@@@@J5GB######&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&###BGPGBBB5.....::7J!~~~!7????JJJY555PPPPGGGBB####&&&&&&&&&&&&&@@@@@@@@@@@
GGGB#&&@@@@@@@@&@@@@@&@@@@@@@Y~~^^!!7YGBBYB&&&@@@@@@@@@@@@@@&BP5P#&@@&?^7?J!::.:^^:::^^^~~~^::~YGGY~....................:^^:::.:::^!??JGBB&&&@&@@@@&###GY???J5PGGB#&&##BPP5P55PGB&@@@@@@@@@@@@&#J^^~~!?JPG#&&&@@&&&@@@@@@@GYG5YP?YPGB##&&@@@@@@@&&&P75BBBGB@&&####&&&&&&&&&&&&@@@@@@@@&BGGB#####BGB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&###BGGBBGBP:..^:..:^^~~!!!?JJJJJJJY55PPGGGGGBBBBB######&&&&&&&&&&&&@&@@@@@
GB###&&@@@@@@@@@@@@@@&@@@@&&@G~^~~!JP55PGG#&&&@@@@@@@@@@@@&G##5JP#&@@&#BBGPY?!~~^^^^~~~~^:::^~!?YY5PY!..............^::::::....^~^^!J5PBBB#&&&&@@@@@@@&#BGP55PPGB#&&&&&##BGP555PG&@@@@@@@@@@@@#5!~!7?YY5G#&&&@@@&&@@@@@@@@@&#B5J!77??YGB####B#&&P7B5J5555JG@&#######&&&&&&&&&&@@@@@@@@&##B&&&&&&#BGB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&###BBGGBBGGG~..7~^.::^^~!!~755YYJYJJY55PGGBBBBB######&&&&&&&&&&&&&&&&&@@@@@
?Y5B&&&@@@@@@@@@@@@@@&@@@@&&&&577?YPBB######&@@@@@@@@@@@@@#G##GPBB#&#BBBP55GGP5J7:..:^~~^^^!!!!!!?Y5J~:.....^!!!!7?5GY?7777777???~~JJJ5BB##&&&&@@@@@@@@@&#BG55PGB#&&&&&#BGG555PPG#@@@@@@@@@@@&GJY55GG55P#&&&@@@@&@@@@@@@@@@@@&G??7!~^~77?JJJ!5&#!.:!?7!~~^~B&######&&&&&&&&&&@@@@@@@@@@&#GB&&#&@&&&##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#BGPGBGGGP^...!J!7~^^~!!^!JPPPPP5YYYY5PGBBBBB######&&&&&&&&&&&&&&&&&@@@@@
~^^!YJ?5PP#@@@@&BB#B&@@&@@@&&&&BPPGBG#&&&&&&&@@@@@@@@@@@@@&&@&&#B#BBGPGP5Y5GGBGPJ~:..:^^~7??7!~^:^~~:.......?PPP5555P5J?J????J?~~!5PYY5BBB#&&&&@@@@@@@@@@#BGPPGB##&&&&#BBGGPPPBG##@@@@&&&@@@@&GGBG#G!^~?JB&&&&&&@@@@@@@@@@@@@@@G5J?~^~~^:^!~!5#B!~..::.....:P##&&&&&&&&&&&&&&&@@@@@@@@@@&&BB###&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BG5PGGGPPP!....^Y55YJ7!!^~7?5GGBBGPY5PGBBBGGB#######&&&&&&&&&&&&&&&@@@@@@
^^^:.......:^!!:...:B&#&@@@&&@@@@##BBB#&&&&&@@@@@@@@@@&&&&@@@@@#GGGG55PP55PGBBGGPY?!^^^~!7?7^..............^PB#BG55GBBBB#BGPYJJ?JPGBBG5GBB##&&&@@@@@@@@@@##BBBBBB###&&#####B#&&#B5YY?77?YPG###BP7JG7:.::^P&&&&&&@@@@@@@@@@@@@@@@&#P?7?J~:~77?5GBG7:^!.......:Y#&&&&&&&&&&&&&&@@@@@@@@@@@@@@&&&&@@@&&&@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&#GPY5GGPPP5?.....JP#&#BG5J?77?JYG##BGBB#BBBBBB#&&&&&&&&&&&&&&&&&&&&@@@@@@@
^^:.................^JP#@@@&&@@@&&#######&&@@@@@@@@@@&#&&&#@@@&PPGG5JY55Y5GB#BBGGGGP5YJJYY^...............:?#&#BGGGGBB#&&&&###&&&&&&&#BGGB###&&&@@@@@@@@@&&&#B?77?J5G##&&&&&@&B7:......::~7?5GY^^!~:....:G&&&&&@@@@@@@@@@@@@@@@@@@&####?~7JJJ5PGG5?J7........:?B&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@#&@&&&@@&&&&@@@@@@@@@&&@@@@&@@@@@@@@&##BG5Y5PP55P5Y?....!YP&@@@@&&#BP5Y5GB###########&&&&&&&&&&&&&@&&&@@@@@@@@@@@
......................:~5&&&&@@@&&&&&&&&&&&BB&B##@@@@@@@@G?G#BPPGPYJJYYYY5G###BGGGBBBB##B^...............:!P##GP555Y5GB#####&@@@@@@&&&#BPPBB#&&&&@@@@@@@@@@&&J...:^~7JP#&&&@#7...........^!JPP?~~:......?B&&&@@@@@@@@@@@@@@@@@@@@@@@@@&?~?YPPPPPG5YY?:....^^:~7P#&&&##&&&&&&&@@@@@@@@@@@@@@@@@@#5B##&&&&&&&@@@@@@@@@@&&&@&&&@@@@@@#GPGGPYYPPP55P555Y~:..:~5#&@@@@@@@@&&##&######&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@
........................~5PPPGGB57G&@@@@&~^.^7!J5B&@@@@@&P~~7JPP5J??YYJJJ5B####BBBBB###B~................~5###GP5YJY5PGBBB#&&@@@@@@@&#BGYJ5GBGB#&&@@@@@@@@@@&~.....::~75#&&J............^?5GBPPB57^...:7?P&&@@@@@@@@@@@@@@@@@@@@@@@@@@B77JPGB#BGPPPGY^::^?Y555GB##&&&&#&&&&&&@@@@@@@@@@@@@@@@@&BJ5GGBB#&&#&&&&@@@@@@@&&&&##&&@@&&BP5555YJYPP555P5Y55Y5J~::^75B#&@@@@@@@@@@@&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@
.......................~7~....:~!7P#&@@@@J...:~7YPB&@@@@@&P!~!7!!7?YYJJ?J5G####BBBB###G^................:!G#&#GP55555PPPGB&&@@@&&@@&#BG5?!?Y?7JG#&&@@@@@@@@&&:.......:^75G~...........:7PB#&&&&&9!?J?75#&&&@@&&@@@@@@@@@@@@@@@@&&?YPB##&&&#BBG5??5B#&#&&&&&#G#&&&&&&&&&@@@@@@@@@@@@@@@@&YJPGGBBGB&&##&&#&&@@@&&@@&GJ7?Y555YJJJJYY??YPP55PP5YP5JYPG5J~!?YPGB#&&@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@
YPPPP5777!~^::::.::~~^^55^.:^~^^JB#&&@@@@@P:...:~~!B@@@@@@@#Y^::~!77????JYPGB#######B5...................:~P##BGPPPP55PG##&&&&&&&&&#BPY7~~!~^~YB&&&@@@@@@&&&#.........:^!^...........!5G##&&&&@&@@&&&BGY?5PB##&&&&@@@@@@&&&###BP5J7!~~~JG#&&&&@@@@&&##BB&&@&&&&&P~!PPY?JP#&&#PB@@@@@@@@@@@@@@&YJ5#&&###&@@&&&@&&&&&BG5Y?~:::^^^^~!!77JJ77YP555PP5YPPYJYPBPJ5GGGGGG#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&G?GBB###&@#!~5G5!^JBBBGPPG??PB##@@@@@@B?^...~5&&&@@@@@@@BY7~~~~!7??JY5PGBB####B5.....................:P&&#BGG5YYY5G##&&&&&&&#BPY?~:^^^^~JG###&&&&@&&&&&G..........::...........?PGB###&&&&@@@@@@&#PYY5GBB#BB#&#GP5YYJ?7!!~^:....:^7P#&&&&&&@@@&&&BGG&&&#P5?^:!J5Y7^:!GG?.:P&BG#&&&@&@@@@&YJ5G#&&&&&&&@@@@@@#BG5?~:......:^~~~~~!77!!Y555PP5YYPGPY775PPB#B#BPYYY5GB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&##BYYGBBB#&@@@#5PGP?!?B####&@BB&&&&&&###&@@&#P7G&&&&&##&@@@@@@&B5J?77?JY5PGBB###BG^.....................^#@&&#G5JJJJPBBB######BP5J7~^~~~!?G#####&&&&@@@@@#!......................75PB###&&&&@@@@@@@&&#GPPGGBBB#&&?~^::::::::::.....:^~7JYY5555PPP5J?7~!J?!~~~~~!JY5557:.?BP:.^~:^?YPGGB&@@@#55GBG#&&@@@&@@@@@@@&BGY!........:^^!!~!!!~!JYYY55YY5GGPP?!75B&&#&&&#BPYJJJY5PG&@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@#&#
&&&##B5PBBB#&@@@@@@&GYJ5GGB#&&&BG#&&@BYB&&@@@@@@@&#&&&@@@@@@@@@@@@@&#G5J?777Y5PGBBBY......................~&@@&BPYYYYGBBBGGGGGGGPYJ7~~7?J5B@@&&&&&&&@@@@@@B!......................~JYPB###&&&&@@@@@@@&&&&BGGGGB##&P~^:.......:::..::::^^^^^~~~~~~~^^^:..:::::^~7?YPGGBBG!..5B!.::..:^77JGB#BGB&###BG#@@@@@@@@@@@@@@:..........:~^^7?!?YYY555YJ5BBPP5?JG&&&&&@@@@@&&#BPY?P@@@&&&&@@@@@@@@@@@@@@@@@@@&&B#&&&&@@
&&BG#GPGB###&@@@@@@@@&&&&&BYGG?^:7GBBBBBPGBGGPGB##GGB#&&&#GY7!7777????JY~^:..:!7JPG?......................~&@&BG555PB##BG5YYYY555YJ77?5BB&@@&&&&&&&&@@@@@#^.........::............7JY5GB##&&&&&@@@@@@@@@&#BGGBB#&#G57~:......::...^::^^:::::::::::.......:::^^!?5G####&&B..^?~.^?...::~?JJGB5YP#&&##B#@@@@@@@@@@@@@@@@P....:^^::^:^^.^~~YPPGGGPPPG#&BBBGB&@@@@@@@@@@@@@@@&#&@&&##BPP&@@&@@@@@@@@@@@@@&&&GG#&&&@@
&BJP#GGB&##&&&@@@@@@@@@@@&7.!GBY:..~J57!!^~^....:....!57!!~~:::::^~~~~!7?7^....:~JBY......................!&&#BBGPB####G5?77?Y5555Y5PB##&@&&&&&&&&&@@@@@&7.........:::...........:?5Y5GB##&&&&&@@@@@@&&&&#BB###&&&&&BJ~:..........:.:^:::::::::::::...::^^^~~~!JP#&&&&&@@7..::..77:..:^!!~?PGGP5G&&&&&&@@@@@@@@@@@@@@@@?...::^^~~!77!^^^!55YGGP5BBP5PJY5B&@@@@@@@@@@@@@@@@@@@@@&&#G5P#BB&@@@@@@@@@@@@@&##PB&&@@@
~:.~5GB#&B#&&&@@&@@@@@@&G7:..~Y!....Y5Y?Y?~J7:.....75Y^:........^!JY?!!!JP7:...:~YBB!.....................!&&####&&&&&B5777J5PPPGGGBBBB&&####&&&&&&@@@&&B:.........:^:............755PGB###&&&&@@@@@@&#&&##&&&&&&&&##G5!:..................:::......:^~!7??777?YG#&&@@@@@#......!BG^..:^^~?J5PGPPB&&&@@@@@@@@@@@@@@@@@@@G!...:::^!?JJ?!7?J5JJPPY5G577!7~^~#&#&@@&@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&#&&&&####&&@&&
7~::7PG#&##&#&&##&&&&&&G~::..~BGJ::!Y5GY?!^Y&B~..^Y5:.......:^^!?JY5P5?JBB5~...:!5#&B~....................G&&&&&@@@@&#PJ77J5PPGPGGBGGGBBGGBB####BB&#GYYY7..........:^^............^J5PGGBB#&&&@@@@@@&##&&&@@@@@@@&&BGGJ:............................:!77?JYYYY5PB#&&&@@@@@~.....~B&Y....^7?YPPGBP5G&&@@@@@@@@@@@@@@@@@@@@@7..::.:^?Y?7~7Y7YJ?YGBPGBGG7JPY!J&&#&&5!JP#&&&&&@@@@@@@@@@@@@B7:..::::..:!YPGGBB####&&
&B?::?PPB#&&##BGB&&&&&&BJ7!^.:PBP^:7PBBP5J5##7..:7^.......^^^^^^^:^:::::~7~.^:.^!YB&@#J:.................JB#&&&@@@@@&B5YJJJYYYYY55555555PGGGBBBY77!^:::^^..........::^:............~Y5PPGGB&&&@@@@@@&&&&@@@@@@@@@@#G57:......................:.......~~~!!7YPGGB##&&&@@@@@Y.....~P&&?...~JY555PBBPPG#&@@@@@@@@@@@@@@@@@@@@@#BGJ^.:~!!!~~?7?7!75#&&&@@#JJBGY77YP#B^.:7G##&&&&&&&&&@@@&P~............^!?Y55PPPPGGB
@&B5?7?!7YG#BBGG&@&B#&&!~:.~!^..:!JJYY5P7....:......:^.............~~....~5!!JYB&@@@&5!:............:J5JP#&@@@@@&&#BGPPYJ777?JJJJJJYY55PGGP7^^:....:::..........::^^:............~YPPPGB#&@@@@@&&&&&&@@@@@@@@@&BP7................................:::::^!5B##&&&&@@@@&&B:....!P&@&YP7JP5PPPGGBGGPB&&@@@@@@@@@@@@@@@@@@@@@@@@&G?:::^~~~!7?7!?G#&&@@@&&#~~Y?~^7?~::!75#&&&&&&#GBB5^...............:~7?JJYY5555Y
&&&&#PJJPBGGGBBB@@&##&@@#Y~^77~~^:::^!7?J7~~!^.::.:~5P!~^^7!.........::~~^...!GJJPB#&@@@@@#BPY7~^:....^G#?!YB&@@@@@&&&#BBP5J?77!!777??JJYY55Y!^:.....................:^^^:...........~?YPGB#&@@@@&&&&&##&@@@@@@@@&B?.........................:.:......::::^~YB&&&&@&&&&&&##?...:7G&@@@@&GBBGGGBBBGGBB&&@@@@@@@@@@@@@@@@@@@@@@@@@@@#~:.:^^^^!?Y5PGB#&&@@@@GJ#@&##G7.^7~:!5BGB##G5~..................:~!7???!^:...
&@@@@@&@&BPPB#BG#&&&&@@@@&&&@@~::^~^:!P#&&#P7^^:^P&GJ!7BB5J5GG?:.....:~~...~BGPG&&@@@&#&@@@&BBBGGPY&@B!~YB&@@@@@@&&##BGP5J?!^~~!77??JYYY7^:.......................::^~~~^:..........:~?5G#&&@@&&&##BB#&@@@@@@@&Y.........................:::^::....:^^~~!JPGB#&&@&GGBB##G!:^!Y#&&@@@@#BB##BBBB#GBB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&5~^::^^^!??YPBB##&@@@@@@@@@@@@BPJ~:..~???!^....................:^!7!^.......
&&@@@@@@#PYP##P75B#&&&@@@@@@@@&GJ^..:..!B&&&@@@#P?~~J#&#?!5#&&#&##7.....::^~^:.~GBGG#&#GPP#&&&&&&&@@@@@@#!~Y#&@@@@@@@@&&&#GPY~^^^!7???JJY5?^^.........:::.............::^~!7??!...........:^!?YPGGPYYGBB#&&@@@&&G!........................:::^^^::..:::~77???J55PGB&@!7#&GJ?YG&@&@@@&&&#B#&&###BB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@G!^^^~~7???J5G#&@@@@@@@@@@@@@@@&#B5!^~^:...................::..^~~:........
&@@@@@&#GB&@#!!7J~~?5&&&@@@@&#GJ?7:...^B#&&&&&@@&G?!~JBP!~7G&&&&&&?.....:^~!7??7?JY5PGGBBB#&&@@&&&&&@@@@#7~YB&@@@@@@@@@@&BGP!:^!?YYYYYY5555?^........:::^^:...........::~!7J5P#Y~:...........::^~^:..^!?Y5PPPPY!..........................::^^^:...::..^~7????J5GPPG#7G@@&#GGB&&@@@@##&&#B#&#####&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GY???JYPGB#&&@@@@@@@@@@@@@@@@@@@@@&#GJ!:.................^!....:.........
&@@@@@@&##GY:.!!:....!7~^::^^~!777!...P&##&&&&@@@#PPPJ!~~!J5B#&&@@&?^~7?JYYYJJY5PGB##BPJJ5G#&&&#BB#&@@@&G!?PB&@@@@@@@@@@#BB?^75GGBGGGGGGGGP?!!!~!!77?JY5P5!^:........:^^!7?PB#@@#5:........................................................:::.....:...:^~!77??JPG5PPPPB&@@@@@&&&&@@@@&###&&BB&&&####&#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&##&&@@@@@@@@@@@@@&&&@&&&&&&&&&&@@@@&#:................!?7^............
~77~!7~:...:..?:......:........:~77..:#&##&&&&@@@@&@@&5JJ55YP#&@@@@@@@@BGGGB#&&#&&&&&BJ~~7YGB##GPP#&&&@&Y?YGB&@@@@@@@@@&JG#&&&############BBGGPGBBBGGGBGY7~^:::::^^~!JJYB&&@&#Y:.....................................:^:...............::............::^^~!7?J55P55#&@@@@@@@@@@@@@@&&#####B#&&&######&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@&#BP7~7JJ??7?????JP#&@@@&G...............~?JYJ!:..........
.............J#G7:.....::.....:^7Y5!.:P######&@@@@@@@@@#PYYGB#&&&&@@@@&&&&@@@&BB####G?:.:~7YP55YYP#&&&&B555PG#&&&&@@@@@@@B#&@@@@&&&&&&&&&&&&&##BBB####GGB#&&#BG5J7~~!77JPGG&@@@@@#7:.............................JY!^~JB#B?:.::.........::^^.............:^^^~777J5GP5#@@@@@@@@@@@@@@@&&&&#BGB#####B#########&&&&&&&&&&@@@@@@@@@@@@@@@@@@@&&##@@@@@@&Y~~YYYG########&&&&@@@@@@&&P~..........~J?77!~^~7:........?
.............:^GG~:~7JY5Y7?777!!7???JY5GBGBB#&@@@@@@@&#GP7?PGGGGB&@@@@@@&&&&&5YPPGGP7:...:~J5YJ?JP#&&&&BBP5P####&@@@@@@@@@@@@@@@@@@@@@@@@@@@&&####&&&##&&&@@@@@@@&#BBGGG##&@@@@@@@&Y~:..........................JB###&&&&#GGGGPY77777!!!!!~^^^............:^^^!77?GB5!J&@@@@@@@@@@@@@@&&&@@#BGB##BBB############&&&&&&&&&@@@@@@@&&&&&&&@@&&###&@@&#?:.:7J5#&YGB#&@@@@@@@@@@@@@&BB#5!::~5BB57~^:...!7:......!Y
...............:^..:^?GP?7B##B5?^......^?PBB#&@@@@@@@GPB#GG#B57J#@@&&&&&&&&#Y!?JY5PJ^....^?55Y??5B&&&&&&#GB####&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#&&&@@&&&&@@@@@@@@@@@@@@&&&&&@@@@@@@@@#J~::......................J#&&&&&&&&&&&#######BBGPYYYYYY5:..........::^^^~!?5##?~7#@@@@@@@@@@@@@&&&B&@&#BB##BBB#############&&&&&&&&&&&&&&&&&&&#&&@@@@&###&&#?...:^!PG##5!~JP#&@@@@@@@@@@@@@@@@@@@@@@@@@&G?!^:...7J~....:75
...................:^:::^P#&&&G~..........~YG&@@@@@@@@@@&@@@B!?#&&&&&&&&&9!!?JJ?!^:::^7YP5JYP#&&@@@@&&&&&&&@@@@@@@@@@@@&GPJG@@@G5P&@@@@@@&&&&&@@&&&@&GGGB#&&@@@@@@&&&&&@@@@@@@@@@@@#57~^::.................7#&&&&&&&&&&&&&&&&&@&&&#BPPPGGBB7...........:::^^!Y#&P!!5&@@@@@@@@@@@@&&&&##&@&####BBB#&#########BGB#######&&&&&&#B#&&&&@@@@@@&###&B~....:^~?PPY77?YB&@@@@@@@@@@@@@@@@@@@@@@@@@@@&B?:....!5?^..:7Y
..............:...:~^::^?PGBBJ:..............!P#@@@@@@@@@@@@&GGBB#########PJ7!!!!!!!^^:^?5P5PG#&&@@@@@@@@@@@@@@@@@&@@@@@@&P7:.5@@Y^..?&@@@@@@&&@@@&&@@&!^^^~J5B&@@@@@&&@@@@@@@@@@@@@@@@@@#P?!~::..............P######&&&&@@@&@@@@@@&&#B5YYPGGBG:............:::~JBP7!J#@@@@@@@@@&&&&&&&&&##&@&###BB#&&###BBGGGPP5PGGJ77??5B&&&&##&&@@@@@@@@@&BB##J....::..:^!!~!7JG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B!:....^Y57^:~Y
.................JP5J?J?^^~!:..................!#@@@@@@@@@@@@@#GGGGBB####BPY?7!^~!??!~!?PBGG#&&&&&@@@@@@@@@@@@@@&&&@@@@&B57:.:YY7^:..:Y&@@@@@@@@@@@@@@7:...:!5#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BY~::...........7BB#BB##&&@@@@&&@@@@@@&#PJ??J5PGGBY...............:?BY!7G&@@@@@@&&&#&&&&&&&&#B&@&&#BB##&&####G5YYJJYGGPJ7!7??5BBB###&&&@@@@@@@&&BB#B~....:^:...:.^!?5G#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&5!:....:?5Y?7Y
...............~B@@&&&5:.......................?&@@@@@@@@@@@@@@@&#BBBBB##BP5Y?~~!7?7!7JPBBB#&&&&&&&&@@@@@@@@@@@&&&@@@@@&G?:::^:.^:....~G@@@@@@@@@@@@@Y::...:?B&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G?7~~:.......!GGBBGB#&&&&&@@@&@@@@&&#P?7?JYY55PGBPJ^.............!55YB&&@@@&&#BBGGB#B#&&&#BG#&&&#BB#&#BPPPP5JYY5PGG5J7?JYYYPGGGB#&&&&&&&@@@@&##B#B!......::::.^J5555B#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&P~:.....!55JJ
..........:~JPB&&@@@@#~.......................:Y&&@@@@@@@@@@@@@@@@&&&####BGP5J??J?7~!7YGGB#&&&&&&&&@@@@@@@@@@@@&&&@@@&&#P7^^:::77:...:^5&@@@@@@@@@@@Y^:....^5#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#BBP:..:^..~GBGGBB#&&&&&&@@@&@@@@@&#GPGBGYJY5PB&@@&GY?!^:..:::.:7YP#&&@@@@&PY5P5J55PB&&&#BG#&&&#B###BP7~~!~^~7YGPY55YY5P55PYPBBB#&@@@@&&&&&&#BB#B!..:.....^~~?PGG5PB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&7.......:!JY
BP5555Y55J5&&&&#BBBBBY^~!:::..................^?YJJY5PPGB&&&&&@@@@@&&&&&&&#BGPP5Y?77?YPGGB#&&&&&&&&@@@@@@@@@@@@&&&&&&&BY?~::...~^::::^7B&&@@@@@@@@@G?!:...:YB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#B&&#:...:..!B#BB##&&&&&&&&@@@@@@@@@&@&#PJ?Y5PB&&&&@@@@@&BP5PP5Y5PB&@@@@@@@@#555??JJYG#&&#BGB&&########G5?!~~!7JY5Y??5555PGGGGB#BGB&&@@@@&&GPB##^.:^....7JJYGBBBBGB&##&&&@@@@@@@@@@@@@@@@@@@@@@@@#!..........^
@&&&@#B##BB&&#GPP?^^^~JB?..:^?J?!!~~~^.....:~7YGGBB##&&&@@@@@@@@@@@@@@@@@@@@@&#BBP5PGGGGBB##&&&&&&@@@@@@@@@@@@@&&#B##PY7~^::.........:?GP55PGB##&&&&&J:...5#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&YP#&#:......~P##B####&&&&&&@@@@@@@@@@&GY?7?YPGBGGG#@@@@@@@@@@&&&&##@@&@@@@@@&#BP??JJJP#&&#BGB###B####G55PG5J77J5YJY5555555GBBGB##BB##&&&@@#P5B#&&&#?:.:..:^YY?YPBBBBB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@G~:..........
B#&&GJYPGBBBGJ7J?!!!75P5~::^^7G55B##BGY5PB#&&@@@@@@@&&#BP5YJ???JYPB&@@@@@@@@@@&&#BPPGPGGB###&&&&&@@@@@@@@@@@@@&&#GPP55J!~~:..........:7?!~~~~~7??JJ5P7...J&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&?!JG#P.......~5B##BBBB###&&@@@@@@@@@#GYJ?!7Y55Y???G&@@@@@@@@&######&@&&@@@@@&&#G5J?JYY5G#&#BGB##BBB####B5YYYJ?7!!7!!?Y5YYY5PBBB###BBGB#&@@&BPG#&&&&#G?:...::!?7?J5GBBB#&&&@@@@@@&&@@@@@@@@@@@@@@@@@@@G~:..........
#&&#BB&&&&&&#BGGGGGGB###G5J?JPBB##&&&&#########BP5J?777!~^^^^~~~7?YPB##&&&&&&&##BBBBB###&&###&&&&&&&&@@@@@@@@#BG5YYPGP5YJ~...........:!~~^^^:^^^^^^!7^..Y&@@&&&&@@@@@@@@@@@@@@@&&&&&@@@@@@@@B!~!7YGJ.......~5B##BBB##&&@@@@@@@@@&#G5J??5GPJ7~^~5&@@@@@&&&#GBBBB###&&@@@&@@&GY?7YJ?JYY5G##BGBBBBB#########BGY??!!!7?Y5555PGBBBB##BGY5B&@@&&##&&&&&BGGPY7~^^~7^7J?5BBGB#&&&@@@@&&#@@@@@@@@@@@@@@@@@@P~............
#&&&&&@@@@@@@&BGGGB###&&&&P77!^^^~JY??PGB###BGP5YJJY5PGBBBB#####&&&&&&&&&&&&&#B#&&&&&&&&&&&&&&#&&&&&&@@@@&B##G5J77?5GBB5~............:7!~~^^^^^^:::~5J!B@@#G55GB#&&@@@@@@@@@@@&##&@@@@@@&@@#!~~~!?5?.......!YB###&&&&@@@@@@@@@@&&##5!^:7P57~^7G&&&&&&&#BGGGGGGGBB#&&@@&&&&#Y!^^7Y??5555GBBGGBBBB############BBBGPPBBPGP5YPGGGGBB##BGG#&@&&&&&@&&#BBB#&&#GP5J7JP5GB###&&@@@@&&&#&&@@@@@@@@@@@@@@@&5:.............
&&&&&@@@@@@##BBPPGB##&&&&J:..........?#&&&BGPPPGGBB###&&&&&&&&&&&&&&&&&&&&&&&&##&&&&&&&#########&&&&&&&&&BBG5J7~~!?5PY!:..............?YJ77777!!!~!5&&@@B?!7J5G#&&&@@@@@@@@@@&&&&&&&&&&&&?!~~!7J!......^7YGB#&&@@&&@&@@&&@@&&&B7.....~?JYP#&&&&&#BBGGPPPPPPPGGB&&@&&&&&#J^:^~!??JPPPPPGGGGBBBBBB#################BGP5J?YPPPGB&&&#BB#&&&&&&&&##BB##&&&@&BJ7YPGGBBB&&@@@@@&&#B##&@@@@@@@@@@@#BP!...............
&&&&&&@@@@&&#&###BBBBB##GYJ7:.....:^75B##GGGGGPGGB###&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&######&&&&&&&&#BBGJ!^:^^!?7:.................!55Y55PPGGPP#&@@@B~:!YPB#&&@@@@@@@@@@@###&&55BB##BBBGYYJ!~!7?7^^~!~!J5GGBB#@@@&&@#&&&&&&&#Y^......!YPGBBB&&&#BBGPPP5555PPPGB#&&&&&&&&P::^~!777J5555PPPGGGBBBBB#################BBBBP5555GB#&#GPGB&&&&&&&######&&&&@@&#PYYYPPGGB#&@@@@&####&&@@@&&BPGP?:...................
&&##&&&@@@@@@@@@@&#GPPPGGP?.....^~!Y55555PPGGGB##&&&&&&&@@@@@@@@@@@@@&&&&&&&&&@&&&##&&&&&&&&&&&&&&&&&&&BPP7^::::~!:...................^YPPPGB#&##&@@@@#~^YB&&@@@@@@@@@@@@@@@&&&&Y!JBGBP?7J??5PJ777J5PG&#GGGBBB##&@@&#&###B##BB##Y~:...~YBGGBBPGB###GGGP55555PPPGBB##&&&&&&&&J.:~~!777?JJJY5PPGGGBBBBBBB#####&&########BB##BGGPGBB#G55PB&&&&&&&####&&&&&&&&@@&&###BBBBP5GP5J~^^^~~^^^^:..........................
B&&##&&@@@@@@@@@@@#PYJJ?7:...:^~!7?7~^^!?5GB####&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&##&&@@@@@@&&@&&&&@@@PJ7^:..::^......................?GGBB&&&&&&@@@#J5&@@@@@@@@@@@@@@@@@@@@@@J~?PG5JJ~~~~7YGG5?J5B&@@@##B####&&&G55J?JYYYYYYY55J77JY??JY##Y?PBB##BPGP5555PPGGGBB####&&&&&&&Y~^^~!777???JYY5PPPPPPPGGGBB################B##BBBG5JJYPG#&&&&&&&&###&&&###B#&&@&&@@@&G^..^!!~~^^^^::^^:::^^.......................
!5B###&&&&@@@@@@@#5J7!~....^^^^~^:....:^!77JYPGGB####&&&&&&&@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@&BJ!^:............................7B###&&&&&@@@@&@@@@@@@@@@@@@@@@@@@@@@@@J:~777Y7!!~^~?P#BBPPB#@@@&BBB###&&&P?7!77??JYJY555GP55577?7YJ75GG5B&&#BGGPPPPPGGGBBB#####&&&&&&&B5J7!77?JJJJYY55YYJJYY555PGGBBBBBBGGGGBBB###BBBBGPYJJ5PGBBBBBB##########BB###&&&&@@&J....:7JYYYY5Y??77~~^^:.......................
..:~JB####&&@&&@B7~~^....:^^^^:.......:::^^~7JJ5GGGGBBBBBGGBBBBBBBBB#####&&&&&&&&&&&&&&&&@@@@@@@@@@@@GGP?!:............................~B&##BBB#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@B:^^^~!YYJJ!7?5B&&##B#@@@&5PGBBB#&&GJJYJ5GGPB#B##BB##GG5YJ!!J??7J5B&BG###BG55PPGGGBB######&&&&&&@@&&BP5PGGGGBBBBBGGP555PPGBB###&&####BGPGGB##BBBBBBGP5PPPPGGGGGBGBBBBBBBBB######&&&&J......:::!5555Y?!~~!!?J~......................
....:^:::^~!!~YB5^......:^^^:..........::^^~!7?PGGBBBBBBBGGGGPPGGGGGGGGGBBBBBBBBB###&&&#&&&&&@@@@@@@@&#BP7:............................^G#BGGGB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@&J^^::~?YGGJ5PG##&&&&&&&BGYJ5PGGB#&&#&&&&&&@&&&&#BGGG5J?!!!~:^!JBGPY?Y#&&&&B??5BBGGBBB#####&&&&&@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@&&&#&&&&@@&&@&#PYY55555GB#################BBBJ.....^:....~77?J!~~~?G##B!.....................
.............:^7J7:....::..............::::^~~!YPGGBBBBBBBBBBBBBBBBBBBBBBBBBBBBGBBBBB##&&&&&&&&&@&@@@@@@#7:............................:YBBBBB##&&&@@@@@@@@@@@@@@&########&&B?~^:~7J5PPGB#&&&&@&@&BBY??YY5PB#&@@@@@@@&&#BP5J7!!!!~^^^^:..:7J7?PB##G5B@@B5PB&#PG#BPB&##&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G?7?JJJ5B&@@@@@@@@@@@@@@&&&#G?:.....::...:~~~~!!^^^~5#&&&&P^...................
..........::::^^~~:....................^^^::::^7JY5PGGGPPPGGGBBBBBB###B######B####BBBBBBB##&&&&&&&&&@@@@@Y::............................?####&&&&&@@@@@@@@@@@@&#GY?777JJJ5B&BJ~^~!7??!PGBB#&&&&&&GBYJ?JJJYPB&&&@@@@&GY?!~~::..^~^^::::....^75Y?7?P#&&#G#&&@@&YYBG?P&##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&###&&&&&@@@@@@@@@#5!~!?5G#&@@@@@&&&##BBG5YJ7^:........~~^:....~75PBB5JJ5B#&&@@&#Y^.................
......::^~~!~^^~!!^:....................:^~^:.:!??777JY55PPPPPPGGGGGBBBBBBBBB#############BBBB##B##B&@@@@&Y^............................!&&&&&&&&&@@@@@@@@&&G5J7!^^:::^~!JP#BY!~~77?!7PPGB###&&&B?BPY?J??J5PG#&&@@&J~:::......:^:^^::::...:^^!J5GB5YP#@@&&@@@7~JP!?B#GB#&@@@&#&&@@@@@@@@@@@@@@@@@@@@@@&BG5J????JYJJ5PGB##&&&&BPPB&@@@@&#GY7~::....................^7~7YPPPPPPGG5JYG#&&@@@@&&&&&#PJ7!^:..........
........:^!~:.:^^^^~7~:...................::::^J5YJ?77!!7?YYYYY5P555PGBBGGPPGGGGPPPGP555PPPP5PBPJJP&@@@@@@@B7...........................7&&&&&&&&&&@@@@@@&G?~^::::..::^~!JPBGY7~~!!~~JYPGB###&&&5?BP?!!!!7J5PG&&@&7:..:.......::::^^^^^....^J5Y?JYB&&BGG&@@@@J.:!~^?GP5G#&@&#B#######&&&##&@@@@@@@@@&P?~^:::^^^~!!!7JY5PPGGBB#&@@&GY!:.....................:^7YY55PB#&&&&&####BGB#&&&@@@@&&#&&@@@@@@&&##BG5J?7!~
.........:::^~^:...^~:......:~^^^:^^::.......::^~7JY55YJY5PG5J?77!!!75GBGG5??JYP5555Y5Y5555Y5PJ?P?P@@@@&#PG#&7..........................?5G##BB##&&&@@@&#P?~^::..:::^^~7?5PGG5?~!7?7Y55PGGPJJY?~^~Y5!^:^~JGBYB#@@G!^~7!~!7~~^~~~!?77!!!^:^!GBB#BJ?JYP#&@&#&@@#:.::.:7YJYG#&&BGGGGGGGPGGGGGG&@@@@@@&GJ~::......:^~~!77?JYY55PBBBB7...................:~?5GB#&&@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@
........::::^:.............:^J55JY##B5J7!!!?GG5Y7!^^^!7?Y5GBBGP5YJ7!?GBGGP555GB#BBBGPP5YYJ???7JB#&&@@@@&#P5#@&5^.......................:!7??7JPPGGGGBGB#PJJJ?!^:^~!?JJY5GBB#BGJ?JJ?YPPGGB?::::...:~?!~^!?5GY?P&@&BPGBBPGP55PBBBB#BBPPP!Y5J5&BPG?^7JGBGPG#@@&&&?.....^!7JYB&&GPPPPPPP5YY55PB#&&&@@&#GJ!^:.......::^^~!7?JYYY5PPJ:................:!YG&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@
..........................:^~?PPP#&&#GP5YY5#@&&&#BP5PPY?7777?JJY55Y5PPPPP5PPPPPPPPPP5JJJ????J5BBB####&@@@&GB@@#PJ!:....................:::::^777?JJJJJGP?5B#BPYY5PBB####&&&##BP5YJYGGGB#P^::.....:?Y?J7!!7!?5#&&&#BGY?7!~5P&@&@@B&@##G7B#Y?#B!J!~7JPB#@@&##&@@B~.....:~7?5#&#BBBBBGGGGGGG5J55?7?B&&#P?~:.........::^^~!7??JYY?...............:75BB#&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@
........................:.^7!7PG#&&&###BGPB&@&&&&&&&&@&&&&##BBGGGGPP5J?!!7?JJJJ5PPGBGGBBBBB###BB####BGPPB#GPBJ!?Y7YJ!^................:....:^~~~~~!!75P7?PB&&&&&&@@@@@@@@@@&&#B5JYPGB#::......^PBB57^::^!5BP?7~:.....?JG@&G@#7&@#YBYGB5!PP~5BBB&&&&&#B#&&&&@&~.....:~7JG&&&&&&&&&&&&&&G!~!!~^?5##P7~^:...........::^~!!7??:.............^JGGGPGGGBB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&##&&@@@@@@@@@@@@
.........................:7YJYP#&@&&&&&#B#@@@@@@@@@@&@@@@@@@@&&#BGPJ!~::.:^~!!7JJYGBBGPGBBB##BG&&&&5Y7!!^^^~:.....:~?YJ7^:...^^:...:^::.....:^~~~!77?YJ??YG#&&@@@@@@@@@@@@@@&#GJ?Y5G#&@B7!!!!!~^~?B#BJ!^:^~7G7.........PB!&&YP&57&&P5#B#G57YBP5B#GB&&#&&&&&&&&&&G~.....:~7YB&@@@@@@@@@@@@@@@@@@@@&&&B5??Y555J?!^......::^~!7~.............7555YYJ5GB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.....................:^~?G#BGP5G#&&&&&&&&&@@@&BGB5JJJJYYYYJ??7~~~~~^:.:^^^^^^^~~^~5#&#PP####BJ!&@@@PPGP^.:^!.........^Y5J!::~?JJ???7!~::....:~7JPGY?J?7!7JPB#&&&@@@@@@@@@@@@?J5P#&@@&#BBBGG5?7P&#BY7::::Y?.........Y&?~#B?5BP5###G&&&GG5YG#GPBBGB#&&&&&##BGGGPJ~:....^~75#&@@&##&@@@@@@@@@@@@@@@@@@@&&&@@@&B5!.....::^^:..............~7???JY5PGPGBB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
?!^::.:^~~!!~^::^^~!!~7YB&@@#5YJJJYY5PPPY??77:.^^^^^^^^^^^^^^^^^^^^^::^^^^^^^^^^^^~7YPJJYGBP?~!G&@@G77^..^7^..........^JYYJJYYYYY5YYY?!~^:::!YG#&&G55!^!?YPG#&&&@@@@@@@@@@@&#GY5GB#&@@@@&&&&#BGPG#&&BG5^::~Y:.........YBJ!5PY?G#PY&&BB&@#GBGPGG5JYJ?JJ???777!!!!7??!:....^~75#&&BG#&&&&&@@@@@@@@@@@@@@@@@@@@@@@&P!:::::..................!?JYY55Y??J5GB#&&&@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@
@@&&###&&&@&#GPP55J~^^!YG#&@@BPYYJ?77?!77!!!!~~7777??!^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~~^!!^^~!7#&G!~^~^:7~............!Y5PPPPPP555YJJ?7!~::~G#&&&#G!::!YPGB#&&&&@@@@@@@@@&#BGB###&&@@@@@&&&&&&&&&&&&&Y~~!J5:.........!B5YJY5?5P5Y#B55##BP5Y?7~^^::::::...::::^^~!77~:....^~7P##GG##BB#&&@@@@@@@@@@@@@@@@@@@@@@@&#B##PGP!:...............:Y5YYJYYYJYY5G#&&@@@@@@&@@@@@@@@@@&&&&&&&&@@@@@@@@@@@&@@@@@@@@@@@@@@@@@
@@@@@@&@@@@@@@@@@@B^.:!??JG@@@@&&&&&&&&&&&&&&&&@@@@@@B~^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^~~~~!::P#P!:^~!^~^.............~5PP5PGGGPPP5JJJ?7?:..Y#B&5J^..^!JPBBB#&&@@@@@@@@@&&&#&&&&&&@@@&&&&&&&&&&@@@@@&P55GP5~..........7?5P5Y5GGP5BY777~!~:::...............:::^~~!!~~:....^~?PGGGGGGBB#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@&?..............:PPJJYYYYYY5PB#&&@@@@@@@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@&#G7:!G###&&&&&&5...^~7JB@@@@@@@@@@@@@@@@@@@@@@@@@@#~^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^~~~~~~~!::.:^!~~!:.............^5PPPPGBBBBB5JJJJJJ^..:5?P^...:^~!7J5B#&&@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&@@@@@@&&&&BG5J~..........^YGBGP##P5P!:....................:::::^^^^^^^~~^:..:^~?5P55GBBBB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G..............!PPPPPGGGPYYY5GB&@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
B5YJJ7~.7BBB##&&&&G~..:~?P#@@@@@@@@@@@@@@@@@@@@@@@@@@#!^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^~~~~!!!~^~~^^:^7?..............^5GPGBBB###BPYYJJ?7....^^:.....:~~^7PG#&&@@@@@@@@@@@@&&###&&&&&&&&&&&&&&@@@@@@@&@&##BB~...........~PB###BGGY^.............:::..:::::::::::::::^~~^:..:^!???YGGGGBB#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@5..............~YYYJY5YY5PGGBB#&&&&&##&&&&&@@@@&&#####&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@
??JY5P5JYB##&&@@@@@&7..^75&@@@@@@@@@@@@@@@@@@@@@@@@&&&#BPJ~^^^^^::^~~^^^~~~!777???JYYYJJJJJ77777777??77?:..............~PGGB######B555Y?!^............~7:~5PG#&&@@@@@@@@&&#BGBBB#######&&&&&&&&&&&&&&&&&&&GY^.............?##&#BBGY7~~~:^^^:.::^^~^::::::...........::^~~~:.::~7J5PGGGB###&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&@&!..............~JJ??JYYYPGG#&&&@@@@&&&&&&&&@@@@&&###&#########&@@@@@@@@&@@@@@@@@@@@@@
5PG##&&&&@@@@@@@@@@@#^.:!5&@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@#PYY7^^~?YY?JPP5PB#&&#&&&&&&&&&&&&G5J??????J?^...............~JG######&#P55J7^.............:!^.755GB#&&@@@&&&&#PYJ55PGGGGBBB###&&&&&&&&&&&&&&#J^::..............~##&#BBBBBBGYJ5Y?!!~?YJ!^:::..............::^!7?^.::^!?JYGBBGGB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P:..............:7Y55PPPPPGB##&&&&&&&&&&&@@@@&@@&&&@@@&&##&&&@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&@@@@@@@@@@@@@@5:^!P&@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&PYJ?^^^~~~~JPPPPB&&@@@@@@@@&&&###BG5JJY5555Y!...............:~?PB#####&B5Y7~:..............::.^?Y5PB#&&&&&&&&#G5JYYYYY55PPGGGBB#####&&&&&&&&5:..................~&&#BGGBBB#BB##BGJ~~Y5Y!^:...............::^~!!~...:^!?JYGBGGGBBB##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@&J..................^^~~~!!?J5PGBB##&&#####&&&&&&&##GP55YPB##&@@@@@@@@@@@@@@@@@@@@@@@@
#&#&&&@@&&&@@@@@@@@@@&!:~Y#@@@@@@@@@@@@@@@@@@@@@@@@@&&###J~^:.::^^.:~J555G#&@@@@@@@&#BP5YJ??7!~!!7J5Y!................:~?5GB###&#PY!^................:.:~?JYG####&#BP##GP55PP55YJJJY555GBBBB###&&&&....................?&BGGGGGGGGBB#&#Y^..::^^::..............::::^^^:...:^!?Y5PBBGB#BB##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@5:..........................:^!?J555PGGGBBGPB&&&&&&#GGP5YYGB&&&&&&&@@@@@@@@@@@@@@@@@@
##&&&&&@@@@@@@@@@@@@@@Y^^!P&@@@@@@@@@@@@@@@@@@@@@@@@&&&B?~^^^^^^^::^7YPPP#&@@@@@@&#GY?7!!~~~^^~~!?JY?.................:^7JYB##&&BG?^..................:^~7?5B###BBPJYB#GPGBBGGP5YJJJJJY5PGGGBB#####&G.....................B#PPPGGGGGBBB#B?:......................::............^75PPG##BBB###&&&@@@@@@@@@@@@@@@@@@@@@@@@@@G^...............................:^^^~~???55Y?J5PP5PP555PGPG#&##&&&&&@@@@@@@@@@@@@@@@@
BB##&@@@@@@@@@@@@@@@@@G7775&@@@@@@@@@@@@@@@@@@@@@@&&&&B5J7!!77J7^^^7YPPPB&@@@@&&J?7!!!!!!!!7?YPGP^..................^!!J#&&&#B5^...................:~!J5G###BP5Y??B#B#&###BBGP5YYJJJY5PPGGBBB####Y....................!&BPPPPGGBBBBGY^.....................::................^JPGPB#&#BB##&&@@@@@@@@@@@@@@@@@@@@@@@@@@B^.......................................::....^^^~!!!!77?Y55#&#BB&&&&@@@@@@@@@@@@@@@@@
GGB#&&&&&@@@&&@@@@@@@@&B#&&@@@@@@@@@@@@@@@@@#P5PPBB#&&&#BPP55GGPJJYGGP5GB#&&&&&&BPPPY?7?JY55GGBB###5...................:^!P&&&&&B!.................:::~75GGB##BP55J7G&&&@@@&&##BGGPP55Y555PPGGGBBB#B^....................B&BG555PGBBGY~.....................:^^..................^YGPPG#&&&&#&&@@@@@@@@@@@@@@@@@@@@@@@@&B~...............................................^7~~~~^^!7J5??PPBB#&&@@@@@@@@@@@@@@@@@@
YPGGBB#&&&BGGG#&@@@@&&@@@@@@@@@@@&&&&@@@@&B?^:.:^?G#&&&&&&&&&&&&##&&G5PP5#&&&##BBGP5JJ5PB##&&&&&&&&P...................:^J&&@@@&Y^...............::^~7JPBB#&##BPP5YG#&&@@@@&&&&###BBGGGGPGGGGGGGBBBG:...................!&&#GYYYY5PJ~:......................:^:...................^YGGGGGB#&&&@@@@@@@@@@@@@@@@@@@@@&&&#G^.................................................YG777!^!J5GJJGB#&&&&&@@@@&&@@@@@@@@@@&
?Y5PGB####BBG55PB&@@@@@@&&@@@@&&&#&&&&@&&#BGPY!^^7G&&&&&&&@@@@@@@@@#PP55#&&##BBGP5YYPGB#&&&&&&&&&@@&!.................::!#@@@@@#?:.............::^~7J5B#####&##PY5B&&@@&&&&&&&&&&&#####BB##BBBBBBBBB~..............:.::.!#&#GPYJY?~........................:::.....................:7GBGY77?Y5PB######BPY5##&&&###&&B?^...................................................:?Y5Y?77J5PPG##&&&&&&&&&&&&@@@@@@@@@@#
~?YY5GBBB###&&&&&&&&&&&&&&&&&&&&&&&&@@@@&#BP5Y!:.!P##&&&&&&@@@@@@@&#BGG&@&&&BPYJ55PGB#BPP5PG##&&@@@@B................:.^P&&@@@@G?^............^^~!?GB##BB#BBBBBGG&@@@@@&&&##&&&&@@&&&&&##&&#########5:............::.:^.~5#&#BG5J^..........................:........................7GBJ~::^~~~~!!^:::..~&&&&#&#P7^........................................................::::^7~:!J5G#&&&&&#&&&##&&@@@@@@@@&B
^7??YPG####BGGB&&&&#&&#&@@@&&##&&&@@@@@@&BY7!^..:~YG#&&#&&&&@@@@@@@&&&@@@@@#57!YPGGBB5~^~~7?PBB#&&&##5^...............:JB##&@@&GJ!^^..........~JJJ5GBB#BB#BPP#&&@@@@@@&##BB##&&&&&&&&&&&&&&&&&##&&&&&P.............:..:.!5B#&&##J....................................................:7Y7^:...::::^::...:Y@@@&........................................................:^^~~^^!YJ^:::^~!J#&#B##BB##&&@@@@@@@&#
~!77J5GGB#&&&#BBB##&&&&&&@@&&&&&&&&&@@@@@&&BG5?77J5G#####&&&@@@@@@@@@@@@@@&P!~7555PB?....:^~?5Y5B#G5B&B7::...........^JPJJB@@&#GPJ!~..........^5PP555PGBB#BB&@@@@@@@@&B5PPGBBBBB######&&&&&&&&&&&&&&&&B^...........:.::.!7JP##&B~.....................................................^^^::.............:B@@&&&J...........................................................~5GGBB&@B55PPP55B#BGBBGGB&&&&&@@@@@@@
BG5YYY5GBBB#&&&&&&&#&&&&&&&&##&&&&&&&@@@@@@@@@&&#BPGGBB###&&&@@@@&&&@@@@@&GJ77?JJYG?.....::^~~~?5YJPBB##BY7~::.....~!7!^7B&&&#BBGP?^...........YG5YJJ5PGBBB#&@@@@@@@&#G~J5PPPPPGGB####&&&&&@@@@@@@@@@@@&P~.........::^^7~..7###5!?J~..................................................^:..:.............!&@&&&&?...........................................................~&&&#G5YJJ5G#&&&BGGBBGGB#&&&&&&&@@@@@
##&#BBPPG#B####&&@@@@&&&&&&##&&&@@@&@@@@@@@@@@@&PJJ5PGB###&&&&&G7~Y&@@@@&#G5Y?7JY5!....:::^^:.^?YY5GGB#&&&#P7:...:^^:.^YBBB#BPBBG57:...........?BPY?J5GG###&@@@@@@@&:?J5555PGBBB###&&&&&@@@@@@@@@@@@@@@#J:....^77~!?7..:Y#&#BG#&&G~...............................................:^:...............:5&&&&&&G......................................................:....^~~^.........:^PPPBB####&&&&&&&&&@@@@
&@@&#&B5G&BPG&PJ5##&&&&&&&&&&&&&&&&&&&@@@@@@@@&BJ!!5PPPGGBB#BY:.:5@@@@&&###B57JPG?:...:^^~~:.:~?Y5PB#&&&&^::^:...^?PP5PGG55GG5!:............?#G5YY5GG##&&@@@@&&&&#P!:JY5PPPGGBB##&&&@&&&@@@@@@@@@@@@@@@@#G5??P#&#J77:.:?B&&&@@@@@@@P^.............................................^^...............:Y&&&&&&&&G~.......................................:^^^~!?YGB###&##&&#####GJ!^......:7PBB#&&&&&&&&&&&&&@@@
&@@&PJYG&@@#YYG57PG#&&&&&&&&#B###&&&&&&@@@@@@YG#&BP5PGGY~...7#@@@&&##&##BJ5GG57~^^^^^!7~::~?Y55G#&@@@@#7^^^....^!7YYYY5JJY5557:.............7###G55PPG#&&&&&&####P7:!Y5PGGBBB#&&&&@@&&&@@@@@@@@@@@@@@@@&####&&&&B7~!!!?P#&&@@@@@@@@@@5:............................................:..............~G&&&&&&&&&&&5...........:::::........:!7^!JYB####&@@@@@@@&&&#####&&&&&&&&&&@@&#GJ~^..:5B##&&&&&&&&&&&&&@@@
Y#@BYYGGYG&&B!J&##@@@@@@@@&PPPPGBB##&&@@@@@@@@@@@@&#GGB5~...!5B&@@&&#######BPGB#BGP5Y?7JYYJ77YPG5P#&&@@@&GY!...:~!!~!7?JYY?JYYP5~........::::.:7PB#BGPP5P#&&&&######P!:5PGBB#&##&@@&@@@@@&@@@@@@@@@@@@@@@@&&&&&&&&&B?77?J5B#&&@@@@@@@@@@@&7.......................................................:~5#&&&&&&&&&&&&&#J:.........::^^^~~!!75PG#&&&&&@&&####&@@@@@@&&&##BBB##&&&#####&&&&&&##PJ5#&&&&&&&&&&&&&&@@@@
!Y#GB#B5~!?PBYJ##B@@@@@@&&BGP5555PGB#&@@@@@@@@@&GJ7~^^~^~7YGBB#&&#BBB##&&&&GPB#&&&########GG#&&G5B&&&@@&#G57~~!!!~^^~!7J55YYYPBP:........:::::^7J5GGGGGPG&&&&&#####B5^YBB##&&&GB&@@@@@@@&@@@@@@@@@@@@@@&@@@&&&&&&&&BPPGGGB#&&&@@@@@@@@@@@@&5!:.................:^~~!!77!~~^^:::.................:!G&@@@@&&&@@@@@@@@@&&G!............::^^!JJJ5PPG#&@@&&&&&&@@@&&&&&&&&&&&&&&######&&&&####&&&&&&&&&&&&&&&&&&&@@@@
?5GGGP5?!?Y5P5YP#########BGGP55YYYY5PGGBBBGP5J7~~~~^:::^~!?J5PPPPPPGB#&&&&#PB###BB#&&&&&@&&@@@&5G&&&&@@@&BPYY???!^^^^7JJYJJYG#B?..........:::^~!7JYYPBBB#@@@&##B###G?P#####&&#Y#@@@@@@@@@@@@@@@@@@@@@@@&&@@@#B####&&&&&&&&&&####&@@@@@@@@@@@&#Y7~::::::::^~~!7J5B&&&@@@@&&&##B5?7!^^:::::::...:7B@@@@@@@@@@@@@@@@@@@@@@@&5!.................::^^^~?PG&@@@@@@@@@@@@@@@@@&&@&&&&&&&&&&&&&##&&&&&&&&&&&&&&&&&&&@@&&
G##BBBBGB#B##BB###BBBBBGGGGP555YYYJJJ???7!!!~~~~~~~~~~^::::^~~!7JY5GB#&&&&#B###GGB#&@@@@@@@@@&GP#&&&&@@@&BP55Y5J!^^~!???JJYP##B7^...........:^~~!7?J5###&@@&&#BBBBB5G##BBBBBBP5@@&&@@@@&@@@@@@@&@&&&@@@&&&@&J7G##&&&@@@@&&BGPGB#&&@@@@@@@@@@@@@&5!7YPG#GYG#&&&&@@@@@@@@@@@@@@@@@@&&&BP5Y55YJYYB@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#J^...................::^JG#&@@@@@&&&&@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&@@&&&&&&####5!
@@@@@&&##BBBBGB#BBBBBBBBGPP5555YJJ???7777!!!~^~~~!!~~~~^::...:^~7?Y5GB##&#####BGB#&@@@@@@@@@@#G#&&&&&@@@&BP55PP?~~~!777?JYP####5~:..........:^^~~!7J5&@@@@@&&#BGPPGGBBPP55PPPY#&&&&&&&&&@@@@@@&&&&&&&@&&&&&G!^G&#&&&####BG5PGBBB########&@@@@@@@Y^^~?5BPJG##&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?...................:^~YB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BP5P^
@@@@@&&&###B##B#BB#BBBBBPPP5Y5YJ?JJ77?7777!!~!!~~~~~!!77!!~^...:^!?J5PGBB##&&&##&&@@@@@@@@@@&#####&&@@@@&&BGGP5J!!77777?JY5PB#&#J^:.........::^~~!7YG&@@@@@&&#BG5Y555YJJJJJJYGBB#&&&&&&&&@@@@&&&&&&&&&&&&&#Y^?GPPPP55PGG5J??7!!!!7777?YB@@@@@@@#5:..^7?7?YYPB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:.:.................^?B@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&5J:.
@@@@@&&#&&&#######BGBGGBGPP5YYYJ?JJ???77!77!~!!77?JYY5555PP57^:::^~7?J5PB#&&&&&&@@@@@@@@@@@@&&B?JYG&@@@@&&&##BG5????77?J!::YB#&#G7~:.......::^~77J5P#@@@@@@&&##GP5Y777777777JPPB##&&&&#&#BB&&&&&&&&&&@@&&#B7~7777?JJJ?!~^:......:~~^~JB@@@@@@@@&5:..:~~!???YGB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&5!:~7?Y5J~..............:7#@@@@&@@@@@@@@@@@@@@@@@@@&##&&@@@@@@@@@@@@@@@@@@@@@@P...
@@@&&&##@@@@@&&&&###&&&&&&#########&&&#BPGPPPGBBB###&&&&&&&&#PYJ!^^~~!JPB###&&&&@@@@@@@@@@@@@@G!7JY#&@@&&&&&&##G5YYYJY5?:.~PPBBGPY?!^:...:^^~!?JJPBB&@@@@@&&&&BGGP~.:^777!77?5PGB#&&&#B5!^!P###&##BG#&&555?~~^^^~7!^...........:!7!7P&@@@@@@@@@@#~.:^~~7???YPGB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BJ^.~B#BBB#&@&B5!:..........!B@@@@@@@@@@@@@@&&@&&#BPJ7~^~!7J5PB#&@@@@@@@@@@@@@@@@#:...
&&&@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&#GY7!!7J5PGBBB#&&&&@@@@@@@@@@@&57~7B&#&&&&&&&&#GGGGPGGP!..YYJ5Y??JYY?~^::~!7?J55PB#&@@@@@@@@&BGBBY...~JJ??JJJ5PGBBPPGP7:..:!?J5GG5J5B&P~?!^!^.::::...........:75GPPB&@@@@@@@@@@@&Y^^~!!?JJJJ5GB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BYJJJJ?7~:...^!#@&&&&@@@&&&#BB##BBB##&&@@@@@@@@&BPY??77!!~^^^^^~!?J5PGGBBBBB#&&@@@@@@@@@@@@#^....
@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BGP55YY5PGGGB#&&&&&&&&@@@@@#J^!PBGB#&&&&&#BB##B##BJ..5GJ?!~^~!77!~^^!7?YPPPPB#&&&@@@@@@&BB&&G~...JGPPPPPGGBGJ~:^^^.......^7JJ?JP#G7?7!Y?:............:^^~PGBBBB###&&&@@@@@@@@G!!!7?YYYJJPB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B:...::~!!!~~7P55&#BB#&@&&##&&&&&@@@@@@@@@@&GY7~^:::^^~!!!!7!!7?JY5PGBB###&&&&&&&&@@@@@@@@@@&^.....
&##&&@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GPY5P55Y5GB###&&&&&&@@&&Y7JYY?5B&&##&5?PB##::P#5?7~:::^^:::^~?J5PPPGGB&&&&@@&&&&GG&...~B#GYPGB###J........:....^~?JY5GBPPP5#G~...........:~!!!PGP##BBB#&&&@@@@@@@@@P7!!!?5P5YYPB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&?...:~Y#&&G5YYY55B####&&&&&&&&&&&&@@@@@@@@&^...:~~~!77??JJJJJJ?JY5PGB####&&&&&&&&&@@@@@@@@@@#~......
@@@&#&@@@@@&&@@@@@@&@@@&#GY???JJ??7J5?7?Y5PBB&&@@@@@@@@@@@@@@@@@@@@@@@&###BPJJYYG####BBGB#B#&&#B55~!775B#GPBP!75B####PJPB5JY?^...:...:^~!?JJJJ5PB#&&&&&&##PP#&&B~...?BJ~?GB#&&G^...:^~~~^...^~7Y55PB#####B5!^::::....:~JYYJ555GGB#&&&&&&@@@@@@@@@PJJ7~7J5PGGBB###&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B5~:.....7#&PY?7?J5BB##&@@@@@@@@@@@@@@@@@@@@@@&?...:~7777?JJ?JYYYYYJJJJY5G##&&&&&&&@@@@@@@@@&&&#G^.......
@@&#G&@@@@#P#@@&&BY7~:..................:::::^~?5#&#GPJJ?~~~~!??7?JJ5GGG?^P#B##&@@@@&#P?Y55PBG555!.:~!J55JYY!!J5PGGBBBBG5Y5J!:.......::^^~!!!?YPGB###BGGBPP##&&P:..:!~.^5B#&&&J^^~!?JY55?~~?Y5GGPGB##&##BGJ!~~~~:::^^7J#BG5Y?5G#&&&&&#BB&@@@@@&YYJJJJY5PB######&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@5.......JB&&PJ7!JB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@GJ~^~~!7777??7?YYY5YY77?YP#&&&&@@@@@@@@@@&&#BBBB?......:::
@@&&&&@@&#PY5J!:.......::.................::::^^!J5~...::.:!JYJ7!~^::..!^.J?7#&@@@@&&#Y?7..~YJYJJ..~!?YYJJ5J?JY55PPPPPPP55Y7~^::::...:::^^^^~7J5GGBGGP5GGPBB##B7:......?GB&&&&BPGB#&&&&#BB#&&&&&####&##GP5J???7~~7?!7JG@BY77?PB&&&BBB5J?B@@@&&B&BYYJYGGP5PPB#&&&##&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B......7PGP#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&Y?7!7!!!?J??7JYJJJ?7?YB&@@@@@&&&&&&&&&&#BBBB#5..........
P7:^?!^:....................................::^^~7J5GY!!YPYJ5P5J??7!~..~J!^..~P&&&&&#GJJ?!~?JJJJ^.~5Y5PPGGBBGP55555YYYYYY5Y?!~~~^^:::..:::^^~7?YPPPPPPGGPPGGGGP7^.....7GB##&&@&&&@@@@@@@@@@@@@@@@&####BGPYJJJ?77JY77?J&#?!~!YG##BPPPJJ7~JB@&##B&GJJJJP##BGGB#&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&~...:?YPG#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#BP55YJJJ555YJJY???Y5PB&&&&&&&&&&&&######BBBP...........
JJ^:....:^~!!^............:^^::::.......::.......:~Y&@P77J5?!~~~^^!~~::7!.....^JG###BGPY?7?JYJYJ.!BGGB##&&##GP55YYJJJJJJY5P5YJJ?7!~^.....::^~!7JYY55PGBGGBGGGGBY^....7BBB##&&&&&@@@@@@@@@@@@@@@@@&##&##BP5YYJ7?JJ7~!~Y&P7~^!YGG5JPPJY5~^~JB&##&&GJJJJ5&&#BBB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#7:^77G#BB&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&#BBGP5YY??J?JJ5PGB#####&&###&&####&#BGBP^.........:
5G?::~!!!!~:..............:^:^^^^^:::::::::::::.....J&#J!!!^.:^^:::^~!!:........^PB#&#P?!~7JYY5GP&&&&&&&&&#BPYJYJ?77??JY5PGBBGPY7^.........^~!7777!!77!!?YY??YP?:...~PBBGB#&&&&&&&&@@@@@@@@@@@@@@&&@@@&&BP5J???7!~^^~5#Y~^^!J55J?5YYG?^:^~5#&&&B5YP5YG&&#BB##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#G5JG&&&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&#GP5YYYJJY5PPGGBBBB#&&###&&&###&&#B#&#GY!^:....:
P##GPYJ!~^^^^:...........^~!~^:.::^^^^^^::.::::^!7:.:5&P7^^^^^:....:7Y~..........^J#!~~?YYYPB&&@&&#####B5Y???77!77JY5PGGG5?!^..........^!!7!..........:::^!?!:..^?PGGGBB#&#&&&&&&@@@@@@@@@@@@@@@@@@@&BY?777~~~^^^~YG7::^~?P5!?YY5J~:::^J&#P5J?5GGPG###BB##&@@@@@@@@@@@@@@@@&&@@&&&@@@@@@@@@@@@@@@@@@@@@@#GB&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#BG55YYY555PPGGGGB#&&###&&&###&&&##&&&&##BG57^:
#&@~JP5J!:.........::^^:^7YY~:..:^~~~~^:^~!?JYY7^.!BG?^......::~75B:...........~B9!7YYYY5B&&&#BGBBB5J?7!!77!~!7JYY5Y?~............:^~!7J^.............:~!^..:^7JYPGBB###&@&&&&&@@@@@@@@@@@@@@@@@@G?77!~~^~~^::^77:::^7P5!!JJJ?~^:::^?PY???JGGGPPGBBB##&&@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@#55GGB###&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#BP555YY55PPPPGGBB#BBB#&&&#B#&&&&&&&&&&##&#BGP
&&#P!...!Y!......:^~!~^~!!~!PPG57^~?J7!7???JJJ?JJYJ^..:....^7!JPPB#&@#............!GP5P5YY5YJ?YB##GP5555?:...^~~!~~~~~!^:............:^~~!7?YY..............:^~:..:~!J5B#&&#B&&&&&&&&@@@@@@@@@@@@@@@@@5!~^^^^^^^^::::^:.::^YJ~~777!~^::^^~7?7?JYPPPPPGGB##&&@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#J~^~!7?YPB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BGP5YJY55555PGBBBBBBB#&&&BB#&&&&&&&#&&####BGB
P?:......:.......:7Y7:..:7J5Y?7!~^~J555Y7~^^::.........::..^B#&&@@@@&5............75J?##GPP5Y?P&#BPJ7!!^.........................:~!!7??JY5PP~..............^^~^^~7J5G&&@&&&&&&&&&#&&&@@@@@@@@@@@@@&#B?!~^::::::.........:~7~^~~~~~^^^~~~!7JY5PGGBBB##&&&@@@@@@@&@@@@&###&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#YJ!^::::^7YPB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BGP5YJJJJY555PBBBGGB##&&#BB#&&&&###&&&####BGB
..........................:^~!!~:.....:.......:::^::!7^:^^^7##&@&&&&#^...........:7??Y@@#GGP55#&&#B57^.......................:^!7?JJYYY5PGB#5.............:~7??JYPB#&@@@@@&&&&G?YGB#&&&@@@@@@@@@@@#P5GP?7!~^:............:^^^^^^^^~~~7???JYPGGB##&&&@@@@@@@@&&&##@&&#GBB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GGP5555Y?JG##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#BP55Y?JJJJY55PGGGGGGB###BB##&&&####&&&###BBGB
..............................::^^^:.........:~!~^:^!JJ?!!~~JG#####BBJ........^~^!7?JB@@####B#@@@&&BJ!....................^!7??J55YJYYY5PPPPJ............^5PB###@@@@@@#P5J?JYY7.!7?YPB#&@@@&&@&&PP5YPBG5J?!~^::.........:::^^^~~~!!7J555PGBB#&&&&@@@@@@@@@@@&#BGB&#GGGGB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#BPGB#&&#&@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#G55YJJJJJJY5PPPPGGGGB#BGB#########&&&####BBBB
................................::.:^......:~!JJ~::::^~!JJ7!?5GBB###&&G......^J5!YYP5@@@&&&&&&&@@@@&GY:................:^7???J5PBB5????JY55J7...........!#&&&&#BG&#P?~:.........!77!!?Y5GP57?GPGJ5PBB#BP5Y?7!~^^::::::::::^^~~!7?JJ5GBBB#&&&&@@@@@@@@@@@@@@@@&BPG#BPGGBB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BGBBB###&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GPYYJ???JYJYY5PPGGGGGBBBBB#########&####BBBBBB
.................:..............::::^~...::~?P##G?~~!7JY5YY55PGGB#&&@@@P^..:!GBPYGB&@@@@@@@@&&&@@@@@&P7^:..~.........:^~!!7?YP##&&BPY???J55Y?7~^~^:::~7Y#&#GJ~^~7P7^............~777!?JYJ7!~?YYPGBB###BGP5YJ?7!~~^^^^^^^~~~!!7?JY55GB##&&&&@@@@@@@@@@@@@@@@@&#BB##BGB####&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BB#####&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#GP5YJ77??JJ??J5PPPGGBBGBBB#B#########B##BBBBBGG
.................:..........:~~^:!P5!7J7~::~YGBBGP55PB#&&&&##BGG#&&@@@&#P5Y5&@@&&@@@@@@@@@@&&&&&@@@&BGPY77JJ?!~^:::~~!7?7!?P#&&&@@@&BGGPPGGGP57!?J5PPPGG#B7:...:7!:.............7????JJY7!7?Y5GB######BBGGP55YJJ??7!!!7??7!???J5PGB#&&&&&@&&&@@&@@&@&&###&&#BPPGB########&&&@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@&&&@@@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP5YJ???JJJJJ5GB#B##BGPPGGGPPYJGBBB#BBBB##BBBBBG
....................:::::..::~!~7G&&&@&G7^^75PGBB#&&&@@@@&@&&#BPPG#&@@&&&BB@@@@@@@@@&@@@&&&&&&&&&&#GPGGBB#G5J?77?Y55YY5Y??G&&@@@@@@@@@@&&####P?!?YPPPGGGBP^...::^^:............~JYYYYYP5J5GB###&&&&&&###BBBBGP5YYYY?!~^^:..JJ!7?5GB##&&&@&&&&&&&&##GYJJY5GBBGPPPGB#B######&&@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@&###@@@@@&&&&@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5JYJ??77?JYG#&@@@@@@@&BGGGG#&B5PPBB####BGBBBBBG5
.....................^!??!^::::~JB&@@@@#Y~^!J5G##&&@@@@@@&&&&&&#BG#&&&&&B#@@@@@@@@&&&&&@@@&&&##&&&&&&&&&&&#GY?7?5GGGG5YY5P#&@&@@@&@@@@@@@@@@&B5JY5P55PGBB5??7!~~!^:.......:^::^^:^^^:^^~~77??77777YGB##BGP5YJ?7!!!~^:......Y?:^^^?5PG##&&#BBB#&&BPGY7?Y5GBB#BGGGGBBBBGGGB#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@@@&##&&@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@BPY?JY?????JPB&@@@@@@@@@@@@@@@@@@&&&&&&&&@&&###GBG7
.....................:^7Y55?!~^!5B&&@@&#P77JJJ5B#&&@@@@@@@@&&&&&&&&####B#@@@@@@&&&&&&&@@@&###B#&&@@@@@@@@@&#P55GGGGPJ!!75G#&@@@@&&&@@@@@@@@@@&#BGP55PPGBBBGGBBP7^^:.......:::........................^~!77??7!~~~~^:.......G7^^^^^7YG#BB#BBB##&&GGGPPGB##B#&&####BGGBGPPGB#&&@@@&@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@#G5Y555G&@@@@@@@@@@BG##&@@@@@@@&@@@@#5?J??J????JYG&&@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@&J^
..................:~~~~^!?JJJ?7YG#&&@&&&#GBP7~!JG#&&@@@@@@@@@@@@@@&##G5#@@@@&&&&&###BBBBBGBBB#&&&@@@@@@@@@&&####GP5?!^^^?G#&@@@&&&&@@@@@@@@@@@@&BPPPGGGBBGGBGY^...........................................~J??JJJ?7~^:::::7G?!??7775##BBBB###&&######&&#BB##&&&&&&#BBGGPGGGB#####&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BG5J7~:::^!?YPB&&##B5^^75PB###&#B#@&GJ?7777?777?JYG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&Y..
..............::^^!~:::!PBB###&&@@@&&&&&&&&BJ^:^!YG#&@@@@@@@@@@@@@&BY?#@@&BYJ?7!~^::...:^?GB##&&&@@@@@@@@@@@@@G?!?J?~::.:Y#&&@@&#&&&@@@@@@@@@@@&BPPGBBBBGPY!:.............................................:!!7????77?JJJJ5BBP5PGGGG#&&#BB##############BGGBB###&&&&##&&&##BBBBB##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P55?~^:...::::::^^~7J5?!?...^75GB#BPG&#Y77!!!!77777?JG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@@&Y.
...............:^^^^...^7JJP&&&@@@@@&&&&&&@&#PJ!~!JP#&@@@@@@@@@@@&G7J&&##Y..............~YG###&&&@@@@@@@@@@@@P^::^~~::...!G#&@@&##&&@@@@@@@@@##BG5P#&##GJ~.......................:^^......................^^~~~!!!7?JY55PGGGGPGB###&&&#B########B###BBBGGGGGBB#&&&&&&&&&&&####&&&&&&@@&&#&&@@@@@@@@@@@@@@@@@@@@&7.::.......:::::::^~~!~..J!.....:~7?J?!^^~~~~~!!!7?JJ5B&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@&&&&@@&
:::.....................:?5G&&#&@@&&&&B#&&@@@@&#BPPG#&@@@@@@@@@@#P55BBB#B!......:^~!7J5GB###&&&&&@@@@@@@@@@@&~...::::::..~G#&&@&##&&@@@@@@@@@BB#BB&@@...................::^^~!7JJ7:................:::^^~~~!!!777??JJY5YYYY5GGGGB&@#BBBBBBBBGGBBBBBBBBBBBBB#&&&&&&&&&&&&##&&&&&&@@@@&GPG&@@@@@@@@@@@@@@@@@&B~............::^^^^^~!!:..^57...........:::^^^^~~!7?JJ5##&@@@@@@@@@@@@@@@@@@@@@@@@@@P&@@@@&##&@@@
....................:....:7G&#B#&#B#&#PB&@#GB##BG5JYPGGB#&#BPPBBB#BP5PGGPJJJJY5PGB#&&&&&&&&&&&&&&&@@@@@@@@@@#~.....:^^^..~P##&@@&&&&@@@@@@@@&&&&&@@@@@B............:^~7?Y55GGB##&&&&P?^............::^^~~~!!777???JJJJYYYYJ??JY5555G@&BBBBBGGGGGGGGGGBBBBB#BB##&&&&&&&&&&&&&&&&&&@@@@@@#P!^?PB####&@@@@@@##BGJ:..........::::::^^~~~!7^...^YY~........:::::::^^^~~!77Y##&@@@@@@@@@@@@@@@@@@@@@@@@@@#PG##&&&&&&&&
..:~~::..:....:............^GBGGBPPGBGPB&@J^~!77~:..:~^^~~~~~?PB&&#GGP555G#BG55GB##&&@@@@&&&&&&&&&&@@@@@@@@&B!.....:~??~:7G##@@@&&&&@@@@@@@@@@@@@@@@@@5.....^!?YPGB#&&@@@@@@@@@@@@@@&G?^......^^^^~!!7?JJYY55555PP555YYYYJJ???J???JG@&BBGGGGGGGGGGGGGBBBB#######&&&&&&&&&&&&&&&&&&@@@@@&B?^~7JJ777JB#&GJ?YPP7.............::::::^~!77?!.....7PP?^........::::^^^^^~~!?#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@&&&&
~JYJ??JJY5J7~^^.............^GP5YY5P5YP#&G!^:^^^^^::::....::^?PBB####BGPB&&GYYGB##&&&&@@@&&&&&&&&@@@@@@@@&&^^:::^75PYJ5#&&@@&##&@&&@&&&@@@@@@@@@@&#?^^!?YPGB#&&@@@@@@@@@@@@@@@@@@&BJ^:::..~7JJY5PPGGGGGGGGGGG55PPP5PP55Y555J??7J5PPGGGGGGGGGGGGGPPGGBBB#######&&&&&&&&&&&&&&&&&@@@@@@@&PJ?YGYPGGB#J~JGBP!................::::^^!?YPBG?.....7G&&B5?~:........:.:::!PG#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&
5P5J?YG#####B7.:7~::.........PPJ?J5555G#&G?!7????!:.........:^^~?PB###&&&&#BB#&&&&#B#&@@@@@@&@@@@@@@@@@@&&&&&GYJ7?77YB#BB#&@@&&BGG&&&&B!:^!YPGPB##&G777JJJYY5PGB#&&@@@@@@@@@@@@@@@B7.^7~::^~7??YP55PPPPPPPPPPP57::7J5GBGGPPGP5?YY??!~!YPPPPGGGGGGGPPPPPGGB#######&&&&&&&&&&&&&&&&@@@@@@@@@@@&#GPBBB#P~!YGP7.............::::::^^~!?5B&&#BP57^...:7J5PBBBBGP5J7!~~!?YP&##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&
&#G5GB####&&&#B&B:...........5Y7?YYY5PB#&#PGGG5!!!:...........:^7???5#&&&&&&&&&@@&55B&@@@@@@@@@@@@@@@@@@&#&&&&&#BBPPB&@@&@@@@&##BG#@&B~........:^~~::^~7!!7J5PBB#&&@@@@@@@@@@@@@Y^....^::^~!7?JGPJJJJYYY555557.....^?PBBG55P5J!JY?~:.:~!?JJY55PPGGGPPPPGBB#################&@@@@@@@@@@@@@@&#&&#YJG##B57YP7.............::::::::^~7J5GGBBPP##GP5J~.....:~!7?JY55YY5GB##&&&&@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&##
@@@@@&&#&&&@@@@@J............P5??JYY5PB#&##BG57!7!............::::^!5#&&&&@&#&@@@@@@@@@@@@@@@@@@@@@@@@@@&#&&&&&&&&&#&@@@@@@@@&&&#B&&B!................^^^~!?5B#&&&@@@@@@@@@@@@@Y.......:^~!7?JP#5?????JJJJ?7^.......~JPGPJ?J7~~77!^.....:::^~~!?JYYY555GGGGBBBBBBBBBBBB##&&@@@@@@@@@@@@@@@@@@@&&&&&#P5YY?:............::::::::^~!77JY5PPYG#GPG#&GYYYJ7~^:::::^^~~~!7JJ5B#&@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#GP
@@@@@&####&@@@@@7............PP5J?JYYG##BGGP5?~!7^...............:~JPB#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@&#PB&G7^.................::^!5GB##&&@@@@@@@@@@@@@Y......:^^~!7?JGG!!~~~~^^::..........:^!??!~!^^!77~:............::^~!!7?JY5PGGGGGGBBBBB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@&GPJ!~:............:::::^^~!!!!7JYYYJ5BBPPB#BYJ5B##B57?5GJ~^^~!!~~!!75#@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&B5?
@@@@&&###&&@@@@#.............!J55JYY5GBGP5YJ7^^~^...............:~7JYYPG##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@BP&&5!:...................:!YY5GB#&&&@@@@@@@@@@B^......^^^^^^~7J~^^^^::................:~!~^^^~?JJ7^...............::^~!!7?JY55PPGB####&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@#BY7!!:...........:::^^~~!!!77JJJJJ5GGGGG##PJJP#&#GY?5#&BY7JB&#BGJ!?Y5G&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&PJ^
@@@@@@@@@@@@@@@J..............:~?5PPG#BPY?!~^:::............:::::^~~!77J5GBB#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@&Y~:..........:.........^^^!J5G#&&&&&&@@@@#J^......:::::^~!J?!~^::...................^^^:^^~7?J7^................::^^^~!7??JY5PB#B&####&&&&&@@@@@@@@@@@@@@@@@@@@@@@#5?77!:.........:::^^~~~!777?JJJ5GGGGGB#&B5YPB&&BPYJG&&#PJP&&#G7:^~!J?7Y#&#&&@@@@@@@@@@@@@@@@@@@@@@&&B5?7:.
@@@@@@@@@@&&&................:7PG#&#G?^:...............::::::^^^^~!7?JYPGB##&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@&&@#&@@@@@@BJ7~~~^.......^...........::^!?G####&&&@&Y:.........::^~~7?J7~^^^::..................^:^:^^~!7?7^..................:::^~~!!755G####BB##&&&&@@@@@@@@@@@@@@@@@@@@@@@@#5?7!~~:........::^^~~~!!77??JYPGGBBB##&#GPG#&&#G5Y5#@@&BP#&&&#P5GP7~:.:!?JJYPB#&@@@@@@@@@@@BJ!^?@#^~7J7...
@@@@@@@@@&##BPGG~................^5&@@&BJ~.................:::^~!~^~~!7!7J5PGB##&&&@@@@@@@@@@@@@@@&J?&@@@@@@@@@@@@@@@@@#&@@@@@@@&#GP5555YJ?7~:..~:....:::::::::::^JPPB#&&#?..........^!!!!7!!~^^^~~~^^::::..............:::^^~!!77!~~!!!~^......:~!7777???77?5GG###BBBB##&&&&&@@@@@@@@@@@@@@@@@@&&@@&GJ7!~^^~^......:::^^~~~!!77?JYPPGBB##&&&###&@@&#GP5G&@@@@&@@&@@@@@@&P!^!?J55GB#&&&&&&&&&@@@B^:.?&@@G!:.....
@@@@@@@&#BBPYJ??J^..............:!G@@@@#Y!..................::^!7!~~!~~!JY5GB###&&&@&#G&&#Y!!Y#@&#J:~#&@@@@@&&@@@@@@@@@@@@@@@&&#GB#&&#&&&#BB9J!.::^~!7!!~^^^:..:^^?PPBBY~........^YGP55!::~~~~7JJJJJ?777!!!!:..::.::.:::^^~!777!~!7?????7777?JY55PPPPGGBBB#BBBBBB##BB##&&&&@@@@@@@@@@@@@@@@@@@@@@#G5J?7~^~~~:...:::^^~~~~!!7??Y55GGB##&&&&&&@@@@&#BBB#&@@@&B&@@@@@@@@@@@#GGB&&@@@@@@@&&&&@@@#5P#&@@@@@@5.....
@@@@@&#P5GGGJ~~!JJ7^...........:!Y&@&#P?~:...................:~??!~~^^~!?YPBBB##&@&#BJ?BP7~.^Y#&BY!^7#&#BB&#B&@@@&&@@@@@@&&###BGB&&@@@@@@@@@@@&##BPJ!!?YPP5J?7!~:.....~~!?YG5^....:^JB#BB5..:!!!!7??JYYJYYJ7~~!^:!?7:^~^:^^^~!777!~~!7??JJYYYYJJJJYY55PGGB##&&&#P55B&&#B###&&&@@@@@@@@@@@@@@@@@@@@@&BPJ77!~^^~!!!~^^::^~~~~!!77?JY5PGB#&&&&@@@@@@@@@&&#GB&&@@&&&&@@@@@@@@@@@@&@@@@@@@@@@@@@@@@&&G#@@@@@@@#:.....
@&&@ɁYB5!~~?555JJ7~~^:^~7?Y5PPPJ!^^^::.....^^...........:^?5?!~~^:^~7J555PG#&&#BBG#&#PJ?JY55YJ7!7P5PGGGPG&@@&#&&@@@#P5GB#&&@@@@@@@@@@@@@@@&#BB#GYY5G####BGGY!:.....::^^?P^..^~?5B&&&&#?!JYJ?777?JYYJYY7:.^~~75GY!!~~~~~~?J?777777?JY555555YYJJJJY5PGB#&&&&&&&BGB&&&####&&&&@@@@@@@@@@@@@@@@@@@@#P?~^~^^^^~~!7??7!~~!!~~!77?JY5GBB#&&&&&@@@@@@@@@@@&BB#&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?......
&&@@#Y!!!?JJ?!7JPGGPP55PP5PB##BPY7~::::^^^::..^~:....:~!!!!?7?GGPPY?^.:^~7?JY55Y?!?G#&&@&&#G5J?J55?!7?5GBBGG#@@&PB#&&#GYYB&@@@@@@@@@@@@@@@@@@@&&#GBG??5G####&&&#P7:......::~J:.!PB#&&@@@@@&&#GPY7!!?55555?:.:^^!JYJ7~^^~??7JBPYJ??JY55PGGGGGGP5YJ???YGGB#&&&&&&&@@&##&&&&&&#&&&@@@@@@@@@@@@@@@@@@&BBPJ7!^:::^^~~~!7?YYJ7!!!777??YB&&&&&&&@@@@@@@@@@@@@&&##&##&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&~......
@@@&GY??JYYY?!7JPGGPPGB####B5?YJ7^:::^^^::::::^::..:7PBBBGGPPB###B5?^......:^^::7PB#&&@@@@&#GPPGPY7~7YG##BB#&@@B5GBBBBG#&&@@@@@@@&@@@@@@@@@@@&&@&GGG77YG##BBB##&#P?~:.....:~YPP##&&&@@@@@@@@&#G57~7YPPPPGJ~~~~?YJJ?7~^^7P5Y#&PYJJ5GGB###BGBBBGP5Y???JG#&&&&@@@@@@@@&&##&&&##&&&@@@@@@@@@@@@@@@@@#?::^^~~::::^~~~~~~!?YPP5J777J5PG&@@@@@@@@@@@@@@@@@@@@&&######&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&:......
@@@&#BGGBBB5J?J5GGGGG#&&&#BY~7YJ^.:::::::::^^~^:::^~7P&&#G55B#&&##P?:....:^!?YP#&&B#&@@@@@@&&#BBGY77JPBBB#&&@&#PGBBB##&@@&&&&&&&&&&@@@@@@@&&#B&&#G55?7JG&&#BGGG##BBP?.....^?PB###&&@@@@@@@@@&&#P?7YGBGGGBBG5Y55YYYY?~^^YBGG&#P55GBB##&&#BBB#&BBG5J??JP#&@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@G:......:^^::^^^~~~~~!7YPBGPB&@@@@@@@@@@@@@@@@@@@@@@&&&&&####&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&!......
@@@@&&@@@&&#BB#BGGGGB#&&#BJ^:~7^.....:::^^:^~!~^:^^~!5&&GYJ5B#&##&B57~!77Y5PB#&&&##&&&&@@@@@@@&&#GPPGBBBB#&&P?7YB####&&&&&########&@@@&#&#BPYPB&#GYY?!?G#&&BG55P#####7....?PGB###&&@@@@@@@@@@&&BPPB&#GGB###BGP5YYYJ7~:~5BG##P5PGGB##&##BGB#&&#BGPJJJYP#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G:............::^^^^^^^~7P&@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&?.....
@@@@@@@@@@@@@@&BGPGB##BGP7:.:^^.....::^::::^~~~~~~~!7G&B5JJPBBB#&&@#P???JYY5PB#&#B#&&&&&@@@@@@@@&&&&&#B###&5^.:5#&&&&&&&#BGGBBBGB&@@@&#BBP5JJG##PPJ??7?5B&&##G5YG##&&P^..~PGBB###&&@@@@@@@@@@@@&&&@@#PG#&&##BP5Y5YJ?~^?PGGG5?JPB##BBBBGGG#&&&#BG5YYYYPB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GP5?:............:~?5P55P#&@@@@@@@@@@@@@@@@@@@@@@@@@@&##&@@@&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B7...
@@@@@@@@@@@@@&#BPG#&#G5J~..::::....::::....:^^!7?77JP#&BGPB#BGB#&@&BY!777JY5PGG5YB&&&&&&@@@@@@@@@@@@&##BB#G~..7#&&&&&&@&BP5PGGGGB&@@&#BGP5J7JGGY?YJ????YGBBB##BPP#&&&&Y:.!YBBB###&&@@@@@@@@@@@@@@@@@BP#&&&&&B5JJJJJ?7??JJYJ?~J###GPGBBBB#&&&##BGP5PP5PGB###@@&#&@@@@@@@@@@@@@@@@@@@@@@@@@@&P7~~~!JYJ~.........?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&B#&@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&P7
&&&@@@@@@@@@&##B&@@#GY?~...:........:::.....:~^::7JYG&&&&@@&GGGG&&#P?~!!!7J5P5J7JB&&&&&&@@@@@@@@@@@&##BB#G7:.^G&&@@@@@&#BGPPPGGB#&&&#BBGP5?!7?7~77!!~!7?J?JPB##BB#&&@@&57:!PB###&&&&@@@@@@@@@@@@@@@@BB&@@@@&G?!!77?JYJ!!~7~^~YBBGPGBBB##&&###BGGGGGGGP7~!5@@PJJ#@@@@@@@@@@@@@@@@@@@@@@@@@@G!:.::^!JPB#P!....7B@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#B##&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
B&&&@@@@@@@&&&&@@@BJJ57:.............::.....^:...?JJP#@@@@&#BGP#&#PJJ?^:^~!J5YJ?JYPB#&&@@@@@@@@@@@@&&&&@#Y!:^5&&@@@@@@&&#BPPGGGB&&&&&#B5JJ~^^~^~!~:::^~!77?5GBB###&@@@&BJ^7YPB##&&&&@@@@@@@@@@@@@@@@#&@@@@@&5!~~~!J55?~:^^::~75GGGBBB#####BBBBGGGBBBBG?^J@@&J!5@@@@@@@@@@@@@@@@@@@@@@@@@@@5^....:^!JG&@@&#PG&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@&BP??G##&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
B&&&#&&&&&##&@@&#GJJY7:..............:::........77?YPB&@@@&###&&5PGGG?:.:^!JY5YJ7~?5B&&&&@@@@@@@@@@@@@@@BPJ?P&&&@@@@@@@@&BGGBGB#&&#&#G?7!^..:^~!~:..:^~~~~!J5GB#&&&&&G?^^~!?YG##&&&&@@@@@@@@@@@@@@@@@@@@@~^^^^!YPY^:::..:^!J5PPGBBBBBBGBBBBBBB#####Y~&@@@#7?@@@@@@@@@@@@@@@@@@@@@@@@@@@#J^....:!!YG#&&###&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&###BBPYGPPB&&&&&&#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#&B5P##B###&@@&B5555!.................::::....:!!7?7YB&&&&&#&@B7J#&&P!^::^7J55Y7^^7P##&&&&&@@@@@@@@@@@@BGPPG#&&&@@@@@@@@&BB#BB#&&##BY7^:....:^~^:..:^^^::^!?YPBB#&&GJ!~~~~7JYPB##&&&@@@@@@@@@@@@@@@@@@@@@&B!:::::!Y57......:^~7JY5PPPGGGGB#######&&&&&#P@@@@@#YG@@@@@@@@@@@@@@@@@BGB###&@@@@&G?:.:J?!JPBGGGB&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@&####&&@@@@@@@@&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#BY?5P5J&@@@&#GP55Y7^^::.............::::::.:~~~~^..~?5GGY7~7?^~G&&&GJ7~^~7YGG57~75GB###&&@@@@G5B@@@@BPB#GPG##&&&@@@@@@@&&&&&&&&#B5?~:.......::...:^^^:::^~7JPGB#B5?JYYYYJY55PB##&&&@@@@@@@@@@@@@@@@@@@@@&5~^^^^:!?7~:.....::~!7?JYY5PGBB####BB##BPPB&&&@@@@@@&GG@@@@@@@@@@@@@@P7!~!Y#&@@@@@@@@&PYGG~~PGGGB#&&&&&&&&&@@@@@@@@@@@@@@@&BP5Y5#@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
PY?J?77?&@&BGGGPGGGBGJ~::::...........:::::::::^^::::^^^::...^!7G#&&&BY77JG#&#BPPGBBBB#&&@@@&7.~#@@@P?G#B5P####&&&@@@@@@&@@&@@&GJ!~^.............:^^^:.::::~?5G##BGBB#####BBB##&&&&&&@&@@@@@@@@@@@@@@@@@&P??YYJ7?YYJ!^:....:^^~~!??J5PBBBGY?J5B&&#P?JG&&@@@@@@@@#P&@@@@@@&@@@@&~:..:!P&@@@@@@@@@@&B&PYBGBB#&&&&&&&&&@@@@@@@@@@@@@&GYYG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
YJ?7!77JGP5Y5PGPGB###PY!^^::....::::....:.....~?~^:::.:......:^!P#&&&#G5G&@@@@&&&&###B#&&^.~#@@&PP&&5!JBG5G#&&&@@@@@@@@@@@&G7^:...............^^:...::.::!5#&&&&&@@@@@@&&&&&&&&#&#B#@@@@@@@@@@@@@@@@@&&@@&##GBBBBP?!~^^^~~!!77?JYPGGJ^...!5GPG#&&BBB#@@@@@@@@&##&@@@@@@@&BBBBP555JYG&@@@@@@@@@&B&@#BB#&&###&&&&&&&&&@@@@@@@#Y!~5&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JJ777???77?5P5YJJ5P55YY?!^:::::^::::..::....:^!~::::::::::::^^^7B&&&&&&&&@@@@@@@&###BG##PJ^.^5&&#&&&@#Y~?5!:!P#B&&&&@@@@@&#&&B5~::.....................:...:~P#&&&&@@@@@@@@@@@@@&#BBGG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GYJJYYJ??J5PGGB5^^YP?!YBG?77JG#&&#&@@@&P5B&&@@@@@@@@@@@&@@@@@@&&B&@@@@@@@@&B#@@###&#####&&&&&&@@@@@@@&B?^J#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7!~~~~~~~?55J7!!!!7777!~~^^^^^!7!~^:^~~^:::~77~^^:::^~~7?JJYYJP#&&&@@@&&&@@@@@@@&&&BGB5!:..7B@BJ5GB#P77YJ~.!PB5B#BB#&&&&5^^5BG?^^^:........................:~5#&&&@@@@@@@@@@@@@@#GPG#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&#BYYJG#BBY:.~!!?JJY5PPPG#&&&&@@@&GYP#&@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@###&@@##&#####&&&&&@@@@@@@#J:.:G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:::...::^PBY!^^^^^^^^^^^^^^^~JPGY?J?7~^^!7J55YYYJJJYPGGBB#&&&#@&&@@@@@&&@@@@@@@@&&&#B?:..:75#P.!Y?~^^JY^:~5##JJPY!!G&&&B^:?#&P7~~^^:......................::~JB&&&@@@@@@@@@@@@@&##&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&G55#.::^~~7??JY5PB&@@@B#&#BG5?75#&@@@@@@@@@@@@@@@@@@@@@@@&&&&&###&@@&#####&&&&&&&&&&&#P7:...?&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.......::5#P7^^^^^^^^^::::::^JGG57PGPY?JG###GGBBBBBBBBG5YP&&##&&@@@@@@@@@@@@@@@&@@@&?:~!^~^7P..J?^.^J?..?G?5GJ!J#@@&GY5PGBG5PG5J!:.....................:~!JP#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GY5B#J.:^~!J5PY555PP55B##BBG5J?7777YB&&@@@@@@@@@@@@@@@@@@@@@@&&&&&#&&@@&&#####&&&&&&#P?^....~YB&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.........^YGP?!~~^^^^^^^^^^^^^^~!!7JYY5PGGBBGPGGGGPP5YJ?JG&###&&&@&&@@@@@@@@BPGB&&&BPB#J!~.~:..!!..!?...YB#7!B?YG&&&#BY!75B&&@@5~..:^^:...............:!777YG#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&GPP5P?YB##&&BPY?775BBPPJ!JGP?!~!7JYJJ5#&@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@@&&########&G7:...^?P#&&&&&@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~^^:......:!YP5J777!!~~~~~!!!!~!7J5PGGPGGGGGPPP5YYJJJY5PG###&&@#&&&@@@@@@@@@J!YB&@@@@@#PJ~~~::..:..:^:..^YJ7?5BG57~7P#&#GJ?5B&&@@5^::!PY7~^::............:~~~~?Y5P#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#G5G&@@@@@#J!7??775#&G!^?G5J7!!7?JYJJ5B&&@@@@@@@@@@@@@@@@@@@@&PG&@&@@@&&####&&&&&&####&&@&&&&&&&&&&@&&&@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
GGPY7!^::::^!?Y55PP55YJ?JYY55Y5GGGGGPPPPPPPP555555PPGBBBB###&@&&&@@@@@@@@@&Y?B@@@@@@@@@@GJ5Y~:.::...:....^!!~7PGY77J5G#@&&&##B&&J::^?B&#P~7?:.:::::::...:!!~~!777?5GBB#&@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&GPB&@@@@@@@&PJYYY?75##P??GGP5YJJ??????YG#&&@@@@@@@@@@@@@@@@&&#?5&@@@@@&&########&&&&&&&&&&&&&&&&&&&&&#B#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
PB####G5?7JJJY55GB##BBGGPPP555PPPGGPPP55PPGPPPPGGPP5YYYYY5BBG#&&&&&&##BBP5JYB&@@@@@@@@@@@@@&P~!?^...:....:^^!5#BPGBGPP#&@@&##&@&GY5B&@^7!^!7^^^^~~^^~?Y?7!??J?JY55JP&@@@@@@@@&&@@@@@&#BB#&&&@&&&&&@@@@@@@@@@@@@@@@@@@@@&G&GP#&@@@@@@@@@&PJJY?7JG@@&P5GBPYYYYJ7!7J5GBB#&@@@@@@@@@@@@@@@#B5!G&@@@@@&&&&&##&&&&&&&&&&&&&#BBB##&&&#BBB&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7YGB#&&&&&&BG&&PY5G#&&&&&&&&&&&&&&&&&&##BGPYJ?7!~~~!7?JJ?5BGGGBP55Y?!!!~~~7?P@@@@@@@@@@@@@@@@@&&B?!~~:::^^~~!J5PB&#GPG#BB##&@@@&#B#&#BBGJ^::^7YJJJYPPY5PP5J!7?YYJ55YJYB&@@@@@@@&&&&&@@&#BPG#&&&&#&&&&@@#GG#@@@@@@@@@@@@@@@&GP5#&@@@@@@@@@@@#5JJ?!!JB&&BP5GB5YYYJ7~!JPGB##&&@@@@@@@@@@@@@#5Y77#@@@@@@&&&&&&&&&&&&&&&&&&&&&#BBB#&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
^!?Y5G#&@@&!^JGG5JJP#&&&&@&&&&@@@@@@@#GY7~^.....^!7J5PPYJYPBGYJ55?~^^^~77!!JB@@@@@@@@@@@@@@@@@@@@&Y~^:??7!!7!!!5&@&BG#BBBGB&@&@&&&&G?7YBY~:.:!?5PG&@@@@&#B5???PPY55J5B&&@@@@@@&&###&@@&#GB##GGPG#&&@@@&?:~J@@@@@@@@@@@@@@@@#P#&&@@@@@@@@@@@@BJ?7!~!YBBJ7?YPBBPJ77!!?5PB#&&@@@@@@@@@@@@@B?7!~Y#@@@@@&&#GPPG##&&&&&&&&&&@@@&&####&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
?!~?JYP#....^!7JPPBBBBBBBGB&@@@&5!::..:...^!?J?!~~!?J?7JP5JJGP7~~7YGGY??J&@@@@@@@@@@@@@@@@@@@&BP!:^?PYJJ??J5B&@&#&@@&&&@@@@@@@@&GPB&@#J~.^7YB#&@@@&#BBPY?!J##YGBG&&&@@&#G#&&#BB#&&&@@&&?.:PBGPB&@@@@B^.!B@@@@@@@@@@@@@@@BB&&&@@@@@@@@@@@@@BP55Y?JP5~^!JY5B&BPPPPB###&@@@@@@@@@@@@@#Y~^^:!G#@@@@@&#B~....^7#&&&&&&&&&@@@&&&&&&&@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&B7~7YPGG5:......:^Y##BBGB#BGB#@@P:..::~!777?J7~^....:^!!~!777??77?5B&#G5J!!B@@@@@@@@@@@@@@@@@@@&&G!~~?J5#&BPG&@@@@@@@@@@@@@@@@@@@@@@@@@@#J~JG&@@@@@Y^~~^~^:.~P5JB&&&&&@&#G5PGGPB##&&&@@@G...:5GB#&&@@@G^.^5@@@@@@@@@@@@@@@##&&&&@@@@@@@@@@@@@@@@&BJ??!~!7???YG#&&&@@@@@@@@@@@@@&BP5?^^:..:J#&@@@@&##?......J&&&&&@@@@@@@@@&@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
PG5?7?J?!~........:!B#GPG###B##&P.:^7?Y555?!~^........:~~~~!77??JY5G###BY!^~G@@@@@@@@@@@@@@@@@@@@@G!~7?J5&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@##&@@@@@@@~:::::...^77YB&&&&@@&B5JY5YG&&&###&&&?....!PG#&&&@&!...!#@@@@@@@@@@@@@@&#&&&@@@@@@@@@@@@@@@@@@&P?77!!7????J7^~7JJYY55YJ7!^!7::~7^::!P7~5&@@@@&##5......~&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
J~::!?JYJ^.........^BB5YG#####&&GPGBB##BY!^:~~^:...::^~~~!7JJJJ??5GB#&&G?~!5&@@@@@@@@@@@@@@@@@@@@@BPBBP5G#&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P::^^^^^^^^~!5B##&&@@&BPPPPG#&&#B#B##P......5G#&&&&&BJ7Y#@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@&5!~~!!77!:..:::::........^..:7~::^#@#G#&&&&&#BB5~:...:B&&&&@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...:!7?7...........~BPJYGBBBB#&&@@&&&&B7^^~77^::::^~~^^~!777!!~~?PB&&&&5?5#@@@?P&@@@@@@@@@@@@@@@@@@@@@&&G5JG&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#GGGBBBGPJ!!?PB&&&&@@@&&####&&&#GBBBG......^PG#&&&&&@@@@@@@@@@@@@@@@@@@@&@@&@@@@&&@@@@@@@@@@@@@@&P7~^:~~:.....................^~:::^7?J5B#&&##BBBBBBBBGB&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&##&&@#J5#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
..:~7?7.........:..JBPPGBBBB#&&&&&&~^777~::::^^~^^^~~~^^^^::^75B&&&BJ75@&BP..^?G&@@@&&&&@@@@@@@@@@@@&PJYG#@@@@@@@&@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5Y5#&@@@@@@@@&&&#&&&&&###BG:.....:YG####&&&&@@@@@@@@@@@@@@@@#^J&##&@@@@&@@@@@&@@@@@@@#PG57^.........................^::::::!7J5GBGGBBB##BB####&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&?^~5#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...~JJ:........:::~#&&&&&BGGB&&####B?^^JY!:.:::^^^:^^^^^^^^^^:^~7JP#&#G?^!57:......^JB#GG#&@@@@@@@@@@@@&BB&&@@@@@@@@&&@&#G7!JB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&##&@@@@@@@@@&&&&@@@@@@&###G!.....!G##BB&&&&&@@@@@@@@@@@@@&P..5@&GGPB@@@@@@@@@@@@@@@PPP555~...........................:.:..^!7YYY555B#B&&#BB#&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#5?^~YB#&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@