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