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