@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#/**,................................,,,*(%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(*,...................................................****/#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&(,.........................................................*,............*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&(,,..,*................................,*////**,,,,,,,,,,,,,,,,,*(..................,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#*........(.....................,*****,................................*....................../#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&(,............(............,,,//,...........................................(.........................*/%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(,................*,......,/*,,..................................................*,...........................**&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*.....................*.*/*...........................................................*.............................**(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*....................,,/,,(,...............................................................*..............................,,(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,..................../*,....../,...............................................................,(............................ ...*/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&*..................,**,...........**....................................................,/***,......./,...............................,*(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(,.................*/,................,/...........................................,,*/*,.................*,................................*/&@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@&*................,/*......................*,....................................,(*...........................,/.................................*#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@%,................/,..........................,/,.............................**,,..................................*/................................,#@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%,..............,**...............................,*,.....................,**,...........................................**...............................,%@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@%(..............**....................................,*................,/*................................................,,.*,.................... . . . . ..#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@&*/............./,........................................**..........,/,,................................................./,......**..............................#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@/,./..........*,.............................................**....***...................................................*/,...........,*,..................... ......%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@%,...,/......,/*.................................................*(*....................................................,**..................*,..........................*@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@*......,,....(,................................................,/,..,(,................................................,/,......................../,.............. ....... .&@@@@@@@@@@@@@
@@@@@@@@@@@@%,......../.,/,..............................................,**,.......,*,............................................,/,............................*,**.....................#@@@@@@@@@@@@
@@@@@@@@@@@(,.........,(*.............................................,*,............../*........................................*,...............................*.....**,..... ..........*.&@@@@@@@@@@
@@@@@@@@@@*..........*,./..........................................,#,...................,*....................................*.................................*,...........//...........,..%@@@@@@@@@
@@@@@@@@@*.........,*....,*......................................*,........................,*,..............................,/,................................../.............. .*......... ..#@@@@@@@@
@@@@@@@&,........,/......../,................................,**..............................,*,.........................**....................................*..................,............#@@@@@@@
@@@@@@&*........,*..........**.............................*/....................................(*.....................**......................................*............... ..*............ (@@@@@@
@@@@@@,........*,.............*.........................,*,........................................,*,................*,.......................................*..................../........... .%@@@@@
@@@@@/.......,*................./.....................*,..............................................*/,..........,*,........................................,*................ ...,... ....... ..&@@@@
@@@@(.......,/...................,*................,/,...................................................//,.....,/,..........................................*......................,.......... ..,@@@@
@@@&,......,,......................,*............*/,.......................................................,**.,/,.........................................../,................. ....*.......... ...(@@@
@@@/......,*.........................**.......,/*............................................................****,..........................................*,.......................*.......... ....%@@
@@%......,,............................**...,/,............................................................**...../*........................................*.................. *. *@@
@@,....../...............................,/(,............................................................(,..........*/..................................../.........................,,......... .....&@
@%(,...,/...............................,*,,/,........................................................,/,...............**................................*..................... .....*......... ...../@
@#.....*,.............................,/,...../,....................................................,/,....................,/,.........................../............................*......... ......&
@/....*,............................./*.........*,................................................,/.........................../,.......................*....................... .....*. ....... ......%
&/...,/............................,*.............*/............................................**,..............................,,/,................../.............................,,......... ....../
&.(..*,...........................*,................,*,.......................................*/.....................................,/*,............,*......................... ....*.......... ......*
(..*.*........................../......................**,..................................*/...........................................,/,........./...............................*.......... ......*
#...(*........................*/.........................,/,..............................**.................................................,(,...,*....................... ... ... *.. ... ... ... ..*
#.../*,....................../,.............................**..........................**.......................................................*//.................................,.......... ......*
%.../.,*...................,*..................................*,...................../*.........................................................,,..,/*........................ ....,.......... ......*
&,.,*.../,................*,.....................................,(,................*,........................................................../.........*/........................*........... ....../
&*.,,....,/..............*,.........................................*/,..........,*,.........................................................../..............,**............... ...*... ....... ......#
@/.,,......,*..........,*..............................................**,.....,**...........................................................,,.....................*,,............*............ ......%
@#.,*........*,......../................................................../*..*,............................................................/............................./*.... ..,............ .....,@
@&../..........*,....,*.....................................................//,...........................................................,/....................................,,(*............ ..,*.#@
@@(./............*,../,..................................................,**...,**.......................................................*,........................... . . . . . * . . . ..,,,,. . . ,@@
@@&,/,.............*(...................................................**.........**..................................................,/........................................,.............. ....(@@
@@@#.*.............,,,*.............................................../,.............,*/,.............................................*,........................................*............... ...,@@@
@@@@**............,/...,*...........................................**...................,*,........................................,*.........................................*................ ...&@@@
@@@@@*,.........../......,/,......................................,*........................,(,....................................*............................ ....... .....*. ....... ....... ..(@@@@
@@@@@%/..........,,.........*,..................................,*.............................,*/...............................**............................. ............/.................. ./@@@@@
@@@@@@%*.........*,...........,*,.............................,*...................................*/,.........................,/............................... ...........*... ............... *@@@@@@
@@@@@@@%*......../.............../,.........................,*........................................,/*,....................(,................................ ........../....................,@@@@@@@
@@@@@@@@#*......./.................,/,....................,*..............................................,/,.............../,.......................... ... ... ... ... .*. ... ... ... ... ..*@@@@@@@@
@@@@@@@@@%*.....,*....................,*................,*,...................................................*/*.........**.................................... .......,*..................../@@@@@@@@@
@@@@@@@@@@@/.....*......................./,...........,*,.........................................................,*,...,*...................................... ......,,....... ............(@@@@@@@@@@
@@@@@@@@@@@@(..../........................../,.......*,...............................................................,#........................................ .....,.....................&@@@@@@@@@@@
@@@@@@@@@@@@@%...*............................,/,..**...............................................................,*....,**................... ....... ....... ...,,.. ....... ....... .*@@@@@@@@@@@@@
@@@@@@@@@@@@@@@/.,,..............................*(,..............................................................*,...........**,.............................. ../.....................#@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#.*............................./...,/..........................................................*,..................(,.......... ............... .,............. ......*@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@/*..........................,,.......,*,....................................................*..........................**.....................,....................,&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@&(.......................,*.............**..............................................,*..................... .,,, .*. .%@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@&/..................../..................**.........................................*,..................... ...................**,.....*... .................#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@&*................*,......................,/...................................,/........................ ............... .........*.*/*. ............../&@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@/..... .......*............................*,.............................*........................... .......................*....... ............,%@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@(... .....,. ...............................**.......................,,............. ....... ....... ....... ....... .....*. ....... ....... ..*&@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&. ..../......................................**................*,................................ ..................,,........... ........#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,.,........... ...............................*,.........*,... ............... ............... ................*.............. ...../@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#........................... ...................*,.,*....... ............................... .............*................. ..*&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.... ... ... ... ... ... ... ... ... ... .../,../,.. ... ... ... ... ... ... ... ... ... ... ... ..*.... ... ... ... .../&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&/.................... ...............*...........,/.. ............................... ......,*...................,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%* ............... .........,,,... ................*,............. ............... ...**.......... .......,/&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#,........... ...*/,......................... .....*,........................,*..................,(&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,....... ....... ....... ....... ....... ....... ..,/,.. ....... ..*/... ....... ......./&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#/,. ............................... ................,,*,,*,,....... ......./.*(&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(,........... ............... ...............**,.......,*/**,,,*/%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%(*................. ....*//*..................*(%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%##(/***,,,,,,,,,,***//(##%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@