.,:~~:,,,:::,::~::::::,,,.,:~~==~~~~~~~~~~~~~~:,,...:~:::::::,,,,,,.,,,,....,.............,,,....................,..............,.........,,,,,,,,.,,,......,...,,,,,.,,,.....,,::,,,,,,,,.........,.....................,,,,,,,,,,,,,,,,.,,,,,,
.,:~~:,,,:::,::~::::::,,,.,,~~~=~~~~~~~~~~~~~~:,,...,:::::::,,,,,,,..,,,..................,,,...................,,..............,,........,,,,,,,..,,,......,...,,,,,.,:,.....,,,,,,,,,,,,...............................,,,,,,,,,,,,,,,,,,,,,,,
.,:~~:,,,:::,::~::~~=~,,...:===================,,...:~~:::::::,,,,,,,,,,...,,,,,,,,,,,,,..,.,....................,..............,,........,,,,,,,,,,,,......,,.,,,,,,,,:,.....:,,,,,,,,,,,...............................,,,,,,,,,,,,,,,,,,,,,,,
.,:~~:,:::::,::~~:::::,,...,~~~~~~~~~~~~~~~~~~:,,...,:::::::::,,,,,,,,,,.....,,...........,,,...................,,..............,,........,,,,,,,,,,,,,........,,,,,,,,:,.....:,,,,,,,,,,,...............................,,,,,,,,,,,,,,,,,,,,,,,
.,:~~~::::::,::~~:::~:,,...,~~~~~~~~~~~~~~~~~~:,,...,:::::::::,,,:,,,,,,.....,,...........,,,...................,,....,.........,,........,,,,,,,,,,,,,......,,,,,,,,,,:,.....,,,,,,,,,,.,..............................,,,,,,,,,,,,,,,,,,,,,,,,
,,:~~~::::::,::~~:::::,,....:~~~~~~~~~~~~~:::::,,...,:::::::::::::::,,,,.....,,..,,,..,...,,,...................,,..............,,........,,,,,:,,,,,,,.....,,,,,,,,,,,,,.....:,,,,,:,.,.,..........,.,.................,,,,,,,,,,,,,,,,,,,,,,,,
,,:~~~:~~~::,::~~:::::,,,...:~~~~~~~~~~~:::::::,,...,::::::::::::::::,,,....,,,....,......,,,...................,,,.............,..,......,,,,:::,,,,,,.....,,,,,,,,,,,:,.....,,,,,::,..............,,,::..........,....,,,,.......,,,,,,,,,,,,,
,,:~~~:~+=::,::~~:::::,,,...:~~:~~~~~::::::::::,,...,::::::::::::::::,,,.....,...,......,.,.,...................,,,..,,.........,,........,,,,,,:,,,,,,,....,,,,,,,,,,,,,.....,,:,,,,,,,,,.........,,,,,...........,....,,,,,,,,,,,,,,,,,,,,,,,,
,,:~~~:~+=::,::~~:~~~~,,....~========~~::::::::,,...,::::::::~~~::,,,,.,....,,,,,,,,,,,,,,,,,...,,...........,..,,,,.,,,,,,,...,,,..,.....,,,,,,,,,,,,,,...,,,,,,,,,,,,,,.....,,,,,,,,,,,...........,,....,......,......,,,,,,,,,,,,,,:,,,,,,,,,
,,:~~~~~+=::,,:~~:~~~:,,,...:~~=~~~~:::::::::::,,....:::::::::~:::,,,,,,....,,,,.,,,..,,,.,,,....,,,.......,.,,,,,,,,,,,,,.,,,.,,,..,.....,,,::,.,,,,,,,,..,,,,,,,,,,,,,,.....,,,.,,,,,,............,.....,.............,,,,,,,,,,,,,:,,,,,,,,,,
:,:~~=~:=+::,,:~~~:~~~,,,...:~~=~~:::::::::::::,,....:::::::::::::,,,,,.....,,,,,,..,,,,.,:,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,..,.....,,,::,,,,,,,,,,...,,,,,,,,,,,,,.....,,,,,,,.....................,.............,,,,,,,,,,,,,,,,,,,,,.,,
,,:~~~~~=+:~,,:~~~:~~~:,,...:~~~:::::::::::::::,,....::::::::::::::,,,,,...,,,,,,,,,,,,:,:::,,,,,:,,,,................,,,,,,,,,,,,.,......,:,,,,,,,,,,,,,...,,,,,,,,,::,......,,,,,,,,,..................,,.............,,,,,,,,,,,,,,,,,,,,,,,,
,,,~~~~:=+::,,:~~~:~~~:,,...,::::::::::::::::::,,....::::::::::,::,,,,,,....,,,,,,,,,:,~:::::::::,,:,,,,,,,........,,..,.,,,,,,,,,,,,,....,,,,,,,,,,,,,,,...:,,,,,,,,,,,......,,,,,,,..,................................,,,,,,,,,,,,,,,,,,,,,,,,
,::~~~~:=+~~,,:~~~:~~::,,...,:::::,::::::::::::,,....::::::::::,,,,,,,,,....,,,,,,,::::~=~~=~,~,,,,,,,,,,,,......,,,.,,,..,,,,,,,,,,,,,..,,,,.,,,,,,,,,,....,,:,,,,,:,,,......,:,,,..,,,........................,.......,,,,,,,,,,,,,,,,,,,,,,,,
:,:=~=~:=+~~,,:~~~:~~~:,,...,:::::::::::::::::::,....:::::::::,,,,,,,,,,...,,,,,,:~~~~~~:::,::,::::::::,,,,,.......,,,..,,,,,,,:,,,,,,,..,,,.,,,,,,,,,,,,...,,,,,,,,,,,,......,,,,,..,,,........,...............,.......,,,,,,,,.,,,,,,,,,,,,,,,
,,:=~=~:=+~~:,:~~~:~:::,,...,::::::::::::::::::,,,...,::::::::,,,,,,,,,,....,,,:::~~:::::,:::~:~~~::,:,,,,,,,,.....,,,.,,,,,.,,,,,,,,,,..,,..,,,,,,,,:,,,...,,,,:::::,,,,.....,,,,..,,,,........,........................,,,,,,,....,,,,,,,,,,,,
,::=~=~:=?=~:,:~~~:::::,,,..,::::::::::::::::::,,,...,::::::::,,,,,,,,,,...,,,,:::,:::~,:::~:=~=:~::,::,:,..........,,,.,,,,,,,,,,,,,,,..,,..,,,,,,,,:,,,...,,,,:,,,,,,:,.....,,,,::,,,,,,.....,,........................,,,,,,,....,,,,,,,,,,,,
:::=~=~:=?=~:,:~~~:::::,,...,::::::::::::::::::,,,...,::::::::,,,,,,,,,,...,,,,:,,::=::::~,~::~::::::::,,,,.,,......,:,,,,.,,,,,,,,,,.,,..,,,,,,,,,,,,,,,...,,,,:,,,,,,,......,,.,,,,,,,,,..............................,,,,,,,,....,,,,,,,,,,,:
,,,=~=~:~+=~:,:~~~:::::,,...,:::::::::::::::::::,,...,::::::::,,,,,,,,,,..,,,,:,:,:=:=:~~:::~::::=~,,,,:,,.......,,,,,,,,,,,,.:,,,:,,.,,,,,,,,,,,,,,,,,,,...:,,,,,,,,,,........,,,,,,,,,...............................,,,,,,,::,...,,,,,,,,,,::
,,,===~:~+=~:,:~~~:::::,,....::::::::::::::::::,,,...,::::::::,,,,,,,,,,.,,,,::,:~:~+=~~::~~~~~~::,,,:,,..........,:,,,,,,,,,,.::,,,,,,.,,,,,,,,,,,,,:,,,...,,,,,,.,,,.,......,,,,,,,,,..............................::::::::::::,...,,,,,,,,,::
,,,=~=~:~+=~:,:~~~:::::,,....:::::::::::::::::::,,...,::::::::,,,,,,,,,,,.,,,,,,=~=?:~:=:~::::~::,:~,:,,,,:::,,,,,:~~,,.,,,:,,,,,:,:,,,..,,,,,,,,,,,,,,,,...,...,,,,,::,.......,,,,,,.,.,,......,,,.................::::::::::::::,..::,,,,,,:::
..,~===::+=::,:~~~:::::,,....:::::::::::::::::::,,...,::::::::,,,,,,,,,,,.,:,::~===~=:~:~~::~:::::~:::~,:::,.,,:~~:::,,,,,,,,:.,,,,,:,,...,,,,,,,,,,,,,,,..,:,,,,,,...,,......,,,,.,,,,,,,.........,............,..,:::::::::::::::,,::,,,,,::::
..,~===::=~~:,:~~~:::::,,....:::::::::::::::::::,,...,::::::::,,,,,,,,,,,,,,,:=:?~~+~::~~~:::::~~~:~:,~:::,:~==::::,,,,,,,:::,,::,,:,:,....,:,,,,,,,,,,,,..,:,,,,,,....,......,,..,,:,,,............................::::::::::::::::,::::,,,:::,
...~===::~~::,:~~~:::::,,,...:::::::::::::::::::,,...,::::::::,,,,,,,,,,,,,::~,:~~+:~:==~:~::=~:~~:~=~:::,:~:===::::,::,,::,:,,,,:,,,,,....,,,,,,,,,,,,,,...,,,,,,....,................,,,..........................,:::::::::::,::::::::,,.....
...~=~=::~:::,:~~~:::::,,,...,::::::::::::::::::,,...,::::::::,,,,,,,,,,,:,:~:::~+::~~=~::::~~:~::~,::::~::::~::~~~,,,,,,,,:,:,,,,,,,:,.....,,,,,,,,,,,,,...,,,,,,.,,,,...............,,,,...........................::::::::::::,,,::::::,.....
...~=~=:,::::,,~~~:::::,,,...:::::::::::::::::::,,...,::::::::,,,,,,,,,,,,,~:::~=,:=:==:~=~~:~~:~,,,:::::~:==~~====~::,,:,,,:.,....,,:,......,,,,,,,,,,.....,,,,,..,,,,,.............,,,..........,,............,,::::::::::::::::,.::::,:,.....
...~=~=:,::::,,~~~:::::,,,...,::::::::::::::::::,,...,:::::::::,,,,,,,,,,,,,:::~:~~~=~:~=::~==~:.,,::,==+~=~====++=~~=:::::..,,,.,....,,.....,,,,,,,,,,.....,,,,,..,,,,:,......,..................,.........,:::::::::::::::,,,,::,.::::,:......
...~=~=~,::::,,~~~:::::,,,...,::::::::::::::::::,,...,:::::::::,,,,,,,,.,,:::~~:,::~::~~~:~~=~,,,:~====++=+++?++++=~=++=~~:,,..,,......,.....,,,,,,,,,,.....,,,,,....,::,.....,,,,,..,,........,..........,::,::::::::::::::,,,,,,..,::::,......
...~=~=~,::::,,~~~::::::,,,.,,::::::::::::::::::,,...,::::::::,,,,,,,,,,,:::~~,::~:~::~~~:~=~~~=~~++???++????????+==+++++=~~:,,.........,.....,,,,,,,,,.....,,,,,....,::,.......,,,.,,..........,,......,,,,,,,,:,::::::::,,,,,,,,,.,,:::,......
...~=~=~,::::,,~~~:,::::,,...,::::::::::::::::::.....,::::::::,,,,,,,,:,:,::::,,::,~:~,~::=~::++????????????????+++++++++++=~::::,.............,,,,,,,,.....:,,,,..,,::~,.........,,.,,..,.......,,...,,,,,,,,,,,,,,,:::,....,,,,,,,,,::,.......
...:=~=~,::::,,~~~::::::,,...,::::::::::::::::::,.....::::::::,,,,,,,:,,,::::,,::=,::,::~::,=++??????????????????????????++++~~~::.............,,,,,,,,.....,,,,,,,.,:~~,.....,,,,..,,,,........,,,,.,,,,,,,,,,,,,,,:::,........,,,,,:::,,......
...:~~~~,::::,,~~~::::::,....,:::::::::::::::,,,,.....::::::::,,,,,,,,,:,::::.:::,~,,~::::,~=++??????????I?+????????????+?++++~~~::,............,:,,,,,.....,,,,,,,,,::~,.....,,,,.,,,..........,,,,,,,,,,,,,,,,,,,:::,............,,,:~::::,...
....:~~:,,:::,,:~~::::::,....,::::::::::::::::::,....,::::::::,,,,,,,,:,,:,,,:,,::,:::,~~:,=++??????????????????????????++++++===:::,...........,,,,,,,.....,,,,,,,,,,::......,,...,,..........,,,,,,,,,,,,,,,,,,,:::,............,,,::~::::::..
...,~~~,.,::,,.:~:,:::::,....,::::::::::::::::::,.....:::::::::,,,,,,,,,,:=:.,,~.:,.:,::::==++?????????????????????????+?++++====~:::,....,.....,,,,,,,.....,,,,,,,,,,,,......,....,,..........,,,,,,,,,,,,,,,,,,::::............,,,,,:~:::::::,
...,~~~:,::::,.:~~,,::::,.....::::::::::::::::::,.....::::::::,,,,,,,,,,:,,,,,,,:,:,,,,:,:==+++??????????????????+?????++++++=====~:::,..........,,,,,......,,,,,,,,.,,,......,,,.,,,...,,......,,,,,,,,,,,,,,,,::::,...........,,,,,,::~:,,,:::
...,~~~:,:,:~,,:~~:,::::,.....::::::::::::::::::,.....::::::::,,,,,,,,,,:~,.,,,,,,,:,,::,~==++++??????????????????????+++++++=====~:::,..........,,,,,......,,,,,,,,.,,,......,,..,,.....,......,,,,,,,,,,,..,,:,,::,..........,,,,,,,::::,,,:::
...,:~~:,,,::,,:~~:,::::,.....::::::::::::::::::,.....:::::::,,,,,,:::,,,:.,,.,,,.,,,,:,===+++++??+?????????????????+++++++++=====~~::,,...........,,,......,~?II~,,=:,,......,,,,,,..,........,,,,,,,,,,,,,,,:,,,:,..........,,,,,,,,::::,,,,::
....:~~,.,,::,.::~:,::::.,....::::::::::::::::::,.....:::::::,:,,,,.,,,,:,.,.,,,.,,,,,:~~=++++++++?????????????+??????+++++=======~~::,,,..........,,,......,:~::,,.,,,,......,,,,,,.,,,,,.....,,,,,,,,,,,,,,:,,,:,...........,,,,,,,,::::,,,,,,
....,:,,,,:::,.:~~,,::::,.....::::::::::::::::::,.....,:::,,,,,,,,,,.,,::..,.,,,.,,,,:,~==+++++++????????????????????++++++++====~~~~:,,...........,,,......,,,,,,:,,,,,......,,,,,,.,,.,,.....,,,,,,,,:,,.,:,,,::,,.........,,,,,,,,:::::,,,,,,
....,::,,::,::,:::,,::::,,....::::::::::::::::::,.....::::::::,,,:,,,.,,,....,.....,,,:==+++++++?????????????????????+++++++=====~~~~::............,,,,.....,,,,,,,,,,,,......,,,,,.,............,,,,,,,,,,:,,,::,:,.........,,,,,,,,:::::,,,,,,
....::::::::::::::,,::::,,....::::::::::::::::::,.....::::::::,,,,,,,,:,,.,..,...,.,,,~==++++++???????????????+????++??++++++=====~~~~:,...........,,,,.....,,,,,,,,,,,.......,,,,,,,.,.........,,,,.....,:,,,::,:,,........,,.,,,,,::::::,,,,,,
....,::::::::::::,,,::::,,....::::::::::::::::::,.....,::::::,,,,,,..,:,.,,.,...,.,,,:::~~~===++++?++++++++++++++?++????++++++====~~~~::...........,,,,.....,,:::,.,.,...........,,:::,..........,,,,,,,,:,:,::,:::,........,,,,,,,,:::::::,,,,,
....,:::::::::::,,,,,,::,,,...::::::::::::,:::::,.....,::::::,,:,,,.,,,,.,..,...,.,,,,,::::::::~==++++++++++++++++++++++++++======~~~~~:,...........,,,.....,,,,,,...,........::::~~~:,..............,,,::,:::.,:::,.......,,,,,,,,,:::::::,,,,,
....,:::::::::::,,,,,,::,,,...::::::::::::::::::,.....,::::::,,,,:,,.,,........,,,.,:~~~~~~~::::~~~~====++++++++++++====~~~~~~~::::~~:~::,..........,,,,....,,,,,,,..,,......,~~~:~~~:................,:,,:::,,:::,,,......,,,,,,,,,:::::::,,,,,
....,:::::::::::,,,,,,,:,,,...,:::::::::::::::::,.....:::::::,,,.,.,,,,,..........,~~~~~~=~~~~::::~~~~===++++++=====~~~:::,::::::::,::~~::..........,,,.....,,,,,,,,,,,,.....,~=~::,...,,,......,,,,,::,::::::::::,,,...,,,,,,,,,,,,:::::::,,,,,
,...,:::::::::::,,,,,,,,,,,...,:::::::::::::::::,.....,::::::,,.,,..,,,,..........,::::~~:::::::~~~~~~~==++++===~~~~~~:::~~~~~~~~~::,,:~::..........,,,.....,,,,,,,,,,,,......,,,,,,,,,,,,.....,,,,,::,::::::::::,,,,,,,,,,,,,,,,,,,:::::::,,,,,
,,,,,:::::::::::,,,,::::,.....,:::::::::::,,,,,,,.....,:::::,.,,:,.,.,...........,::,,.,..,,=,,,:::~~~===+++=====~~~~~~~:::~~~~~~~~~:::~~~,.........,,,.....,,,,,,,,,,,,......,,..,,.,,,,,.....,,,,,,,::::,,:::::,.,,,,,,,,,,,,,,,,,,:::::,,,,,,
,,,,,:::::::::::,,,,,,::,,....::::::::::::,.,..,,.....,::::,,.,,:,.,.,........,.,::::::::....,~=:::~~~===++++===~~~~:~~~:~~=~~~:~~~~~::~~~,.....,...,,,,....,,,,.,,,,.,,......,,,.,,..,,,,......,,,:::,,::::::,,,,..,,,,,,.,,,,,,,,,,,,:::,,,,,,
,..,,:::::::::::,,,,,,::,,,...,:::::::::::,.,,.,,.....,::::,...,:,...,...........~~~~~~==~~~======~~~~==++++++===~~~~:,,~,,...~~~:~~:~~~~~,..........,,.....,,,,..,,,,,.......,,,,,,.,,.,,.....,,,:::,,,,,,:,,.....,,,,,,.,,,,,,,,,,,,,,,,,,,,,,
....,:::::::::::,,,,,,::,,,...,:::::::::::,...........,,:,:,,..,:,,,............,~~~~~~=================+++++======~~+:,,...~~,,,:~:~~~~~~...,......,,,.....,,,,....,,,.......,,,,,,...,:,.....,,,,.....,,,:,,,...,,,,......,,,,,,,,,::::,,,,,,,
....,:::::::::::,,,,,,,:,,,...,:::::::::::............,,:,:,...,,,,.............~======~~~~~~~~========++++?+====++++====~:~~::~~~~~=~~~~~...,.......,,.....,,,,,,..,,,........,.,.....,,,...,,,,.,......,:,..,,..,,,,.,....,,,,,,,,,:::,,,,,,,,
,...,:::::::::::,,,,,,,,,.,...,::::::::::,,,..........,,,,:,...,,,.........,...,~==+++++++===++++++====+++?++===+++====================~~:,,..,,.....,,..,..,,,,,,.,,,,,................,,..,,,,,,......,:,...,,,,,,,,,,....,,,,,,,,:::,,,,,,,,,
....,:::::::::::,,,,,:::,.,...,,,,:::::::,,.,:,.......,,,,,....,,,.............~=++++++++++++++++++==+++++?+++==+++++++================~~:,,,.,......,,.....,,,,,,.,,,,,.........,,,...,:,,,...........,,,,:,,,,,,,,,.......,,,,,,,,:::,,,,,,,,,
,..,,:::::::::::,,,,,,,:,.,...,:::::::,,:,,,,:,,,.....,,,,,....,:,.............==+++???++++++++++++=+=++++?+++=+++?????++++++++++++===~~~:::,,.,,...,,,..,..,,,,,,,,,.,,.......,,,,,...,:,............,,,,,,,,,,,,,,,,.......,,,,,,,:::,,,,,,,,,
,..,,,::::::::::,,,,,,,:,.,...,::::::::::,,,::,,,......,,,,....,,,............~=++?+????++++++++++++==+++???+++++++??????????????+++===~:,:,:..,,...,,,...,..,,,,,,,,.........,,,,,,,,.,,.............,,,,,,,,,,,,,,,,.......,,,,,,,::::,,,,,,,,
,,,,,:::::::::::,,,,,,,:,,,...,::::::::::,,,::,,,......,,,,....,,.............=+++?+??+?+++++++++++=+++++???+++++????????????????+++==~~~,,:,..,,...,:,.....,,,,,,.,,,........,,...,,,,,,............,,,,,,,,,,,,,,,,.........,,,,,,::::,,,,,,,.
,,,,,::::::::::::,,,,,::,,,...,::::::::::,,,:,,,,.....,,,,,.....,............,==+++++++++++=====++++++++????+++++????????I???????+++==~~::~,,...,,..,,,,,...,,,,,,.,,,,.......,,...,,,,,............,,,,,,,,,,,,,,,,,.........,,,,,,:::::,,,,,,,
,,,,,,::::::::::::,,::::,.,...,::::::::::,,,,,,,,.....,,,,,..................:==++++++++===~~===+++++++??????++++++??????IIIII????++===~::,,,..,:,..,,,,,.,,,,,,,,,,,,,,......,,,...,.,.............,,,,,,,,,,,,,,,,,,,.......,,,,,,:::::,,,,,..
,,,,,,::::::::::,,,,,,::,,,...,:::::::::::,,,::,,,....,,,,.,...,.............:====+++====~=~~==~=+++++++??????++??+?++????IIII?????++==~::,,,...:,,,:,,,..,.,,,:,,,,,,,,......,,.....,,.,,,,,......,,,,,,,,,,,::,,,,,,.......,,,,,,:,:::::,,,,..
,,,,,,::::::::::,,,,,:::,,,...,::::::::::::,,,:,,.....,,,,.,.................:~=========~~~====~~=======++++++++??++++++????I??????++===:..,,...,..,,,:,..,.,,,,,,,,,,,,......,,,..,,,,,,,,,,,,,...,,,,,,.,,:::,,,,,,,......,,,,,,,:::::::,,,,,.
,,,,,,:::::::::::,,,,,::,,,....:::::::::::::,,::,,....,,,...................,:~~======~~~~======~~::,::======+++++++++=++??????????++===:,.,,..,.,,,,,:,,,,.,,,,,,,,,,,,......,,,,.,,,............,,,,,,,,::::,,,,,,........,,,,,,,,::::::,,,,..
,,.,.,::::::::::,,,,,::::,,....::::::::::::::,,,,,,...,,,,..................,:~~~~~~~~~~~~==+++++=====~:~~====~~+++++++==++???????++===~,,.,.....,,,,,:,,,..,,,,,,,,,,,,......,,,.,..,,,,,.......,,,,,,,,:::,..,,,,,,,......,,,,,,,,:::::::,,,,.
,,...,::::::::::,,,,::::,,,....::::::::::::::::,,,,...,,,,.....,............,:~~~~~~~~~~~===+++++++++++++++++++++??????+=+++?????+++===....,.....:,.,.,,.,.,,,,,,,,,,,,,......,,,,,,.............,,,,,,,,::,...,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,
,,...,::::::::::,,,,,::::,,....:::::::::::::::::,,,....,,,.,................,:~~~~~~~~~~=====+++???????????????????????+=~=++???++++==~..,.,,.,.,,,.,,::,,..,,,,,,,,,,,,......,,,,,,,.,,,,,,,,..,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,....,::::,,,,
,....,::::::::::,,,,:::::,,....::::,:::::::::::,:,,....,,,.,................,:~~~~=~~:::~~~==++++++???????II?????????????+~=++??++++==,....,,..,,,,,,,,,,...:,,,,,,,,,,,......,,,,,,,...........,,,,,,,........,,,,,,,,,,,,,,,,,,,,.......,,,,,,
,,...,::::::::::,,,::::::,,....:::::::::::,::,,,,,,....,,,.,................,::~~===~~~~:,,,:::~~~~====++++++???????+????++=+++??++++=,...,,,.,,,.,.,,,,,,..,:::,,,,,:::......,,,,,,,,...,.....,,,,,,,,........,,,,,,,,,,,,,,,,,,,...........,,,
,,...,:::::::::::::::::::,,....:::::::::::::::,,,,,....,,,.,................,,:~~===~=+=+=~:::~=+=++++++=I++===~~=+++=====+=++??++++=,,,..,,,,,,,.:,.,,,,,..,,::,,..,::,.....,,,,,,,,,.........,,,,,,,,........,,,.,,,,,.,,,,,,,,,.............,
,,.::::::::::::::,,,:::::,,....::::::::::::::::,:,.....,:,,,................,,::~=====++++==~~~=?I?+III?+?II??I??=:~=+?++=+?????++++:,,,.,,,,,....,..,,,::..,,,,,,,,,,,,......,,,,,,,,........,,,,,,,,,,........,.,,,,,.,,,,,,,,,..............,
,::,.,:::::::::::,,::~:::,,....::::::::::::::,,,,,,...,:::,,................,,,:~==+===+++++++?=+++=7777I777III??+=++????+=+????++==,,,.,.,,,,...,,.,,,:,:.,:::::,,,,,,:......,,,,,,,,,.......,,,,,,,,..........,,,,,,,,,,,,,,,,................
,,...,:::::::::::::::::::,,....,::::::::,,::::,,,,.....:::,,................,.,::~=++==++++++++++??+=+?=?77I?II+++??IIII?++??++++=~,,,,,..,,,,...,,,.,,:,:..::::,,,,,,:,......,,,,,,,,,......,,,,,,,,,,,..,.....,,,,,,,,,,,,,,,.................
,,....:::::::::::,:::::::,,.........,,,,,,,::,,,,,,....,:::,................,..,::~=+==+++++++??????+?++++++?+????IIIII??????+++=:,,.,,,,,.,,,...,,.,,,,::..:,,,,::,,,,,......,,,,,,,,,,....,,,,,,,,,,....,,.....,,,,,,,,,,,::..................
,,...,::~::::::::,,,:::::,,............,,...,,,,..,...,,:::,....,...........,,..,::~===+++++++++?????I???III?????IIIII??????++==:,,,,,,,,,..,,..,,,,:,,~,,..:,:,,,,,,,,,......,,,,,,,,,,,...,,,,,,,,,,....,,,.....,..,,,,,,:,,................,,
:,..,,:::::::::::::::::::,,,...,,,....,:,....,,,.,,....,,::,....,..........,,~...,::~==++++++???+++?+??????????IIIIII??????++=~,,,,,,,,,,....,..:.,,:,,~,:..,,,,,,,,,,,,......,,.,......,....,,,,,,,,,....,,..........,,,::,.............,.,,,,,
:,...,:::::::::,,::::::::,,....:::,,..:,.....,,,.,:::,.::~:,....,..........,::....,::~=++???+????????????IIIIIIIIIIII????+++=,,.,,,,.,,,,,....,.:,,,:,::::,.,,,,,,,,:,,:......,,,,.,,,,,,......,..,,,,.................,,................,,,,,,,
:,...,:::::,,,,,,,,::::::,,....,,,:::,~,.....,,,.,,,,,.,,::,,...,,,........,,~,.....,:~++???????????IIIIIIIIIIIIIIIII??++++=,,,,,,,,,,,,,,....,.:,,::~,:::,.,,,,,,,,:,,,......,,....,,,........,,,,,,.,................,..................,,,,,,
:,.,,,:::,:::~:::,,,:::::,,....,::::::~,::,..,,,::,...,:,::,,...:......,....,=,,....,,:=+????IIIIIIIIIIIIIIIIIIIIIII??+++=~:,,,,.,.,,,,,,..,.,.,,,,::~:,:,,.:,,,,,,,::,,.....,,,,,,,,,,........,,,,,,..........,..........................,,,,,,
:,,,,,::,,::::::,,,,:::::,,,...,:::::~:::::,.,::,,,.,.:::::,,...,,........,,:~:,.....,,~=????IIIIIIIIIIII777IIIIIIII?++===?,,,,,,,.,,,,,.,.,..,.,,.::~::,,:.,,,,,,,,,,,:......,,,,,,,..,,.......,,,,,..........,,,........................,,,,,,
:,,,,,,,,,::::::,.,,:::::,,....,:::::~,::::::::,.,,,.,:~::,,,..,:,,.,.....,,~:,,,....,,,~+???IIIIII777777777IIIIIII?+=?++++.,,,,,,.,,,,,,,......,,,:~:~,,,,.,,,,,,,,,,,,......,,,...,,..,.......,,,,,...,.......,,,,......................,,,,,,
,:::,,::,,,:::,:::,,::,,:,.,...,::::::,::::::::,.,,....,,,,,,..,:,,,,..,,..~~,,:,.....,,,~+????III7777777I77IIIIII+=++????~,,,,,,,,,,,,,...,..,.,,,,~:::,,..,,,,,,,,,,,,.....,,,,,,,,,,.,,........,,.............,,,,.....................,,,,,,
::~~~,::::::::::,,,::::::,.,...,,::::,,::::::::,::::,..,,,,.,,.,:,,:.,,.:,.:~:::,,....,,,,:=+???IIII7II77IIIIII??+?????+++::,:,,,,,,,,,,,..,.,,,,,,::=,:,..,,,,,,,,,,,,,......::,,,,,,,,,.......,.....,............,,......................,,,,,
::~:,,,,,:::::::,::,:::,:,.....,:::::,,::::::,,,::::..,,,,,,,,..:,,:.,,,,:,,:~:::,...,,,,,,::=++?IIIIIIIIIII???+????????++:~::,,,,,,,.,,,.,,..,,,,.:::,,,,..,,,,,,,,,,,,......,,,.,,,,,,,,......,,....,...................,................,,,,,
:::,,.::,,,,,::::,::,,:,::,,...,::::,,:::::::::,,,,.,.,,:,:,,,..:,.::::..,.~::::,:,,..,,,,::::::=+????????++???????????+++::::,,,.,,,,,...,...,,:,,:::,::...,,,,,,,,,,,,.......,,,..,,,,,,...............................,..................,,,,
:::...,,::::,:::::::,:::::,.,..,,,,,,,:::::::,:::,,...,,,,,,,,,,~.,:,::,...~:~:::,,,..,,,:::::::::::~~~=????I?I???????+??~~:~,,,,,.,,.,,..,...,,,,,,:::,,,,,,,,,,,,,,,,,......,,.,,,,,,,,,..............,...............,,,..................,,,
:::...,.,:::,,::::::,,,,:,,....,:::,,,:::::::::::,....,,,,,,,,.,:,,=:::,.,.~,:::=:,,,,,,::::::::~~~+?????????????????+???~::~,,,,,,.,,,,..,..,,,,,,,,::::,,,,,,,,,,,,,,,.......,.,,,,,,,,...............,...............,,,...................,,
,::,..,,,,,:,,::::,,,:,,:,,....,,,:,,,,,:::::,,::,....,,,,.,,,.:~,:~::::,..,::~:::,,,::::::~~~=+?????????????????????+??+~~=~,,,,,,,,.,,,..,..,:,::,,,:,,,,,::,,,,,,,:,:.........,,,,,.,,......,,,.....,...............,,,,.....................
,::,..:,::~~:~~~::::,::,.,,,,,,,,,,,,,,,,,,,::::,,,..,,.,..:,,,:~,,~::::.,,.:,:::,,,,:~==+++++??????????IIII?????????+?+==:+~,,,,,,,,,.,..,,,..,,:,,:,,:,,:::,,,,,:,,::,,,,.....,,,,,,.,,.............,,..................,.....................
:,:,..:~~~~~:~~~::,::,,,,,,,...,,,,,,:,,,,..,:::,,,,.,,.,.,,,:.~:,,~:,::,.,.:,,,:,::::~===+++??????????IIIIII???????????+=:+~,,,,,,,,,.,,,,,,,,~,~:,:,:,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,.........,.....,.....,,,......,,,,............,,.......
,::,..:~~~~~~::::::::,,:,,,:,...,,,,::::::,..,,,,~~~:,...,.:,,,~:.:~:,::,,,,,,,:,::,:~:===+++?????????IIIIIII???????????+=:+:,,,,,.,,,.,,.,,,,::::,,,:,,,,,.......,,,,,...,,,,,,,,,,,,,,,........,,,....,.....,,,.......,,,.............,,,,....
::,::,:::::::::::,,:,:,,,,.:~,.,,::,:~,,::::,,,,,:::,,..,,.,,,,~:,,::,::,,,..::::,,:,~~===+++?????????IIIIIII???????????+=~~:,,,,,::,,..,,,,:.,::,,,,,,,,,,,,.,,.,........,.,,,,,,,,,,,,........,,,............,,......,,,,..............,,,,...
,,,,,.::::~:::::,,,,,,,,,,,,::,::,:,:~:~~::,:::,:::,,...,.,,,,,:,,,,:,,:,,,,.:,,,:,:,~~=+=++???????????IIIIII??II???III?+~=::,.,,,,.,,.,,,,,,,::~,,,,,,,,,,,,,,,,,.,,.,........,,,,,.,,,,......................,,.......,,,.,,..,.........,,,,..
,,::,,:~~~::::::::::,,::.,:,,::,,,,:::::~:::,,,,:::,,..,,,,:,,,::,,,:,,:,,,,,,,,::,:~:~+++++????IIIIIIIIIIIIIIIIIIIII???+:=:,,,,,,:,.,,,,,.,..:::,,,,,,,,,,,,,,,,.,,,,,..........,,,,....,.....................,,,.......,,,,,,,..........,,,,,.
,,,,,.:~:::::::::::::,::::::,,,::,,,:::,,:,,,,,,,,,,.,,,,,,,,,,~:,,,:,,::,,:,,,,:,,,::~?+?++??IIIIIIIIIIIIIIIIIIIIIIII??+=~:,.,,,,,,,,,..,,,,,::.,,,,,,,,,,,,,,,,,,,,,..,......,....,,......,...................,,......,,,,,,,.............,,,.
,,,,,,:::~:,,~:::,,,:,,,:,,:,,.,,,:::::,::,::,:,,,,,,.,.,,,,,,,::,,,,:,,,,::,.:,:,,,,:~+?????IIIIIIIIIIIIIIIIIIIIIIIIII?++~,,:,,,,,:::,,.,,..,,:.,,,,,,,,,,,,,,,,,.,,.,,.,...........,,,................................,,,,,,,..............,..
:,:,::::::::,:::::::,:::::,::,.,,:::::::,,,,,:,,,,,,,.,,,,,,,:,:,,:.,:,,,,::,,:,:,,,,:,+?????IIIIIIIIIIIIIIIIIIIIIIIIII??=:,:,,,,~~:,.,.,.,,,,,,,,,,,,,,,,,,,,,,,.,.,,,............,..,,,,..............................,,,,,,................,.
,,:::::~:::::,::,,:,,,,:,::::~,,,:,,::,,,,,,,,,,,,,,,,,,.,,,::,,:,:,,,:,,,:,,,,,:,,,,,:+?????IIIIIIIIIIIIIIIIIIIIIIIIII?I=~:,.,::,,.,.,,.,,.,,:.,,,,,,,,,,,,,,,,,,,,,,,.,..............,.,,,...........................,,,,,,,................,,
,,:::::::::,:::::::,,~::,:::::::,:,,,,,:,,:,,,,,,,,,,,.,,.,,::,,:,,,,:,,:,:,:,,,:,,,,,,?????IIIIIIIIIIIIIIIIIIIIIIIIII?I+=::,,,~:,,.,..,,,..,,,,,,,,,,,,,,,,,,,.,,...................,.,,,,,,...........................,,,,,,...............,,,
:,,,::,,::,::::::,,,:,,.,,::,,:,:,,,:,:,:,,,,,,,,,,,,,,.,,,,:,,,:,,,,,,,:,:,:,,,,,,,,,,:??IIIIIIIIIIIIIIIIIIIIIIIIIIIIII=~:,,,::,,,.:.,,,,.,,,...,,,,,,,,,,,,,,.,.,,....................,.,,,..............................,,,..............,,,,
,,,,::,:::::::::,,,,:,,,.,:,,:,,,,,,::::,:,,,,,,,,,,,,,.,,:,:,,,::,,,,,,:,,::~,:,,,,,,,~~?IIIIIIIIIIIIIIIIIIIIIIII7IIII++:,,,:,,,..,:,.:,,.,,.,,..,,,,,,,,,,,,..,,,.....,.,..............,,,,..............................,,,..............,,,,
,:::,:::,,:,:,,,,,:,,.,,:,,,:::,,,:,::,:,,:,,,:,,,,,,...,,,::,..,:,,,,,,,:,:,::,,,,,:,,:=+IIIIIIIIIIIIIIIIIIIIIII7IIII+?:,:,,::,,,.~,,,,,,,,,,.,,.,,,,,,,,,,,..,,,,...,................,...,,...............................,,..............,,,,
,,:::,,,,,:,,,,,,,::.::,,.,,:,,,,:::,::,,,,,,,,,,,,,,,.,,,::,.,,::,,,,,,,,,:::~,:,,,~:~:=?IIIIIIIIIIIIIIIIIIIIII77III+?:::,,:,,,,..::,,,,.,,,,.,,.,,,,,,,,,,,.,,.....,..,,.................,.................................,..............,,,,
,::,,,,:::,,,,..,:,:,,,:,,::,,,,,:,:,,,,,,,,,,,,,,,,.,,,,,::....,:,,,,,.,,,::~=::,,,:~::~=?IIIIIIIIIIIIIIIIIII7777II?+:~:,:,,:,,,,:~,,,..,,,,.,,,.,,,,,,,,,,...,,,.,,.....................,,,,..............................................,,,,
,:,::,,:,:,,...::,,::,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,.,..,:,,,..,,:,,,.,,,,,,,~+~:,,,:~,:=+?IIIIIIIIIIIIIIIII77777II?+~=:,,,:~,,,,.=:,,,.,,.,,.,,.,,,,,,,,,,,....,..,,,........................,.,,,.........................................,,,,
:,,,,,,,,,:,,,,,,.,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:,,,...,,,,,,,.,,,:::++:,:::~~=?+IIIIIIIIIIIIIIIIII7777II++==::::::::,,,~:,,,,,,,,,...,.,,,,,,,,,,,.,,...,,,....................,,,...,,,..,.......................................,,,,
,,,,,,,,,,,,,:,:,,,,,:::,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,.,,,,,,,.,,,:,,,,,,,,:,:+=~,:::~~=+=?IIIIIIIIIIIIIII77777II?++=::::::~~~,~,:,:,,,,,,,,.,,,,,,,,,,,,,,,,,..,.,,.......................,,..,............................................,,,,
,,,..,,,,:,.,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,:,,,,,,,,:::~=~,:~:+~++?=?IIIIIIIIIIIII777II7II?+~~:~~+~==+~==~:,,,.,,,,.,..,,,,,,,,,,,,,,,,,...,.......................,.,...............................,,,..............,,,
,,,,,..,,,:::,:,,,,,,,,,:,..,,,,,,,,,,,,,,,,,,,.,,,..,,,,,,,,,.,,.,,:,,,,,.:~:~==::::~=~????IIIIIIIIIIIII77777I??+~~:~+?+++?===~::,,,,,,,,,...,,,,,,,,,,,,,,,,.,..,........................,,....................................,,,.........,,,
::,,,..,,,,:...,,,,:,,,,,,..,,,,,,,,,,,.,,,,,,,,,,.,.,,:,,,,,,,,...,,,,.,,.~=~:~~~~,=:=++???IIIIIIIIIIIII777IIII+==~+=?????=++~:::,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,..,,........................,,..........,....................................,,,
,,,.,:,,.,::,:,,,:,,:,,,,,,,,,,,,,,,,,,,,.,,,,,,....:,:,:,,,.,,..,,,:,,.,,,==+::~~+:+~=?+???IIIIIIIIIIIIIIIIII?++==?+???I?+++=~~:,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,...,..........................,,...............................................,,
,,,,,,,::,::,,,,::,,,:,.,,,,,,,,,,,,,,,,..,,,,,,,..:::,,,,,,,,,.,:,,:,.,,,:+?+=:~=?==~=??+??IIIIIIIIIIIIIIIII?+==+IIIIII?++++:~~,,,,,,,,.,.,,.,,,,,,,,,,,,,,,,,..............................,..,,:............................................,
,,,..:::,,:,,:::,,,,:,,,...,,,,,,,,,,,,,,,.,,,,,,,:~,:,,,,,,...:::,.,,,..,:~?=+=~+??+=??III?IIIIIIIIIIIIIIII?+~~?IIIIII???+===::::,,,,,.,.,,,.,,,,,,,,,,,,,,,,....,,............................:,..............................................
,,.,,,,,,,,,,.,,,,.,,:...,,,,,,,,,,,,,,,,,...,,,:::,.,,,:,,,::,,..,.,,,.,,~=???I~+??????II??IIIIIIIIIII7II?++=+?IIIII?+?+=++~=::,,,,,.,,.,,.,,,,,,,,,,,,,,,,.,,..................................,,.............................................
,..::,,,:,.,,,,...,,:,......,,,,,,,,,,,,.,..,.::,:,,,,::,:~,,,,,,,,.,,,.,,,+?I?I?+???II??II?IIIIIIIIIIII?+++?IIIIIII????=+?+=~=,::,,.,,,,,,,,,,,,,,,,,,,,.,,.,....................................,.............................................
,,,,,,,:,,:..,,..,:,,.,,,,.,.,.,.,,,.,.,,,..,,::,,,,,,,,,,,,,,,,..,,.,,.,,,:IIIII=?IIIIII?IIIII7IIIIIII?+?++IIII7II?I??=?++=+?:,,,,,,,,,:,,,,,,,,,,,:,,,,,,,,,...,................................,.,...........................................
:,,,,,,,:,..,:,,,.,,,...,,,,,.,,..,,.,,,,,.,:,:,,,,,,,.,,,,,,,,..,,,,,,,,,,:,IIII??IIIIIIII?IIII777IIIII?IIIIIIIII?I?=+??????:.,,:,,,,,,,,,,,,,,,:,,,,,,,,,.,.,..,................................,,,.........................,.................
,,::,,::,.,...,..,:,,...,,,,,.,.,..,,,,,..,.,,.,,.,,,.,,,,,:,,,.,,,,,,,,,,,,:,IIIIIIIIIIIIIIIII?IIII?+IIIIIIIIIII?II+IIIIII?:.::::,,:,,,,,,,,,,,,,,,,,,,,,,.,...,.....,,..........................,,,...........................................
,,:,,:,,,,..,,,.,:,,,.,,,.,,.,......,,,.,.,,..,,...,,.,,,,,,,.,,,,,,,,,,:,,,,,:IIIIIIIIIIIIII7III7777II77IIIIIIIIIII7IIIII?,~,:::,,,,,,,,,,,,,:,,,,,,,,,,,,.,,,...,,..,...........................,.,,..........................................
功夫