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