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