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