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