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