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