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