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