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

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