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