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