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