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