////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////[[[[[[[[[[[[//////////////////////////////////////////////////
//////////////////////////////////////////////////[[[###\:::xxxx xx:\####[[////////////////////////////////////////////
//////////////////////////////////////////////[[#\:x _&&&__________^ xx\##[////////////////////////////////////////
///////////////////////////////////////////[#\x ^__&&&&&&&&&_____&&&__^ _^^^ xx\#[[////////////////////////////////////
////////////////////////////////////////[#\x ^^&__&&&&&&@&@&&&&&_______ ^^^ __^^ x:\#[[////////////////////////////////
///////////////////////////////////////[\x ^^&_&__@dHH3p33p3pp3Hd@&_^ ^^__&___^^_&_^ x:\#[////////////////////////////
//////////////////////////////////////#x ^__^&&&dHpW799999999EE97NpH@_^^&@&&@dH3pWWWp33d@_ :#[////////////////////////
/////////////////////////////////////# ^^^_&&&^&H379EEJzzzJJJJJJJEE97NW3@@dH33pN999EEE99997Npd& \[//////////////////////
////////////////////////////////////# _^^^&&&_&3N7EJzzzzzzzzzzJzJJJE97NWpppWN9EJJJJJzzJJJE97NWp3d #/////////////////////
///////////////////////////////////[x^^___&&@dpN7EJJzzJJzzQQQQzQQQzzJ97NNWN79JzzzzzzzQQQzJ977NWWp3@x[///////////////////
///////////////////////////////////# ^ ^^__@HW77EJJJJJzzQQQDDDDDDDDQzJ97N777EJzzQQQQQDQQzzEE97NNWWpd:[//////////////////
///////////////////////[#\##[/////[x^_^ ^@dHN7EJJEEEJzzzQQQQDDDDDDQzJE9N7EEEzzQQDDQDDQQzzJJE97NWWWW@\//////////////////
////////////////////[x3EJzzJ93x[/[: ^_d3p77EJE99EzzQQDDDDDDDQQQzzJEE7N7EJQzQQDDDDDDQzzQzJE7NWppWW^[/////////////////
//////////////////[xWzzJJJzzQQz7& &_x ^dpW99EJE99EzzQDDDDQzJEE99EEEEEE9N7EJzzzQDDDDDDDQQzzJE997Wp3pH#/////////////////
/////////////////[^9JEEEE9EEJJzJJJ7H^ x^@p7EEEEE7EzzQQQQzJ9777WpWN79999779EJJJzQDDDQQQzzJ97NNN997W33px[////////////////
////////////////[ EJEE997777799EEE73& xx_Hp79JEEEEzQQQQz97W3d_^^ _379777EJJJJzzQQQzzJE7N3Hdd3W777W33_[////////////////
////////////////\NEEE97NNWWppWNN7NNpd^xx_3W79EEE9EzQzzENpHddHd&&&@d& &p79EJJJzzzzzzJJ97pd&_^^ ^dW77p3_[////////////////
//////////////// E9997NNWWWWpppppWWp3&xx_HW77999EJJE9N3H3EzJ93x#\x_dd_d9zzzzzzzzEEJE7Wppp3_^ ^_&^_H7Np&[////////////////
///////////////[_E7777NNNNNNNNWp33pppd : HWN99EEEE979NH3WJQJ7Nx///#_HdWzQQQzzQzJEEJE7zDQz7#[[[:^@_&3NW&[////////////////
//////////////// 9799977777777NNWp3333^:x@pN79EEE99zDJWWpWNd^ [/[/#^3WJDQQQJzDQzEJzzEEJzE@/[[[/\_@dpWW_[////////////////
////////////////\779EEE9999779997NWp33&xx_3pN79EEEzPPDJ97NN3 x &W7JQDQQQEEDDQJzQQzE79px#[/[[:&dpNWNx[////////////////
////////////////#p79EJzJE9979999997Wp3@ x d3WNN799EEJzJJJJJE9799EEJzQQQQQQz9EDDQJJzQQzzz9WHd@&_@H3W773\/////////////////
////////////////[_79JzQzJE9999EEEE7Np3d^xx^d33pNNN77999EEEEEEJJJJJJJzzzzzzzJzDDQJJJzQzzzJJEE97NWppWW3 [/////////////////
/////////////////\37EzzzJEE99EEEE997W3H&x::^@H3WN7799EEEE99EEEEJJJJzQQDQQQQQzJ979zQQQQDDzEE97NWpp3p3^#//////////////////
/////////////////[xp9EzzzJJJEEEEE9E7WW3d ::x @H3pNN79EEEEEJJJzzzzQQDDDDQzz9NNWW7EzQQQzzzW33pWWpp33H #///////////////////
//////////////////[ W9JzzzJJJJJEEE97WW3H^:::x^dH3pN779EEEJzzzzzQQDDDDDDQJ7N999EzzQQQQQJ9NWNpppp3Hdx[////////////////////
///////////////////[x39EJzQzzzzJJE97NW3H&x:\:x dH3W799EEJzzzQQQDDDDDQQDQzEJQQQQQDDDzzzE7NNNp3p3H&:[/////////////////////
/////////////////////:d7EJzzzzzzJJ97NWp3d^x\::x_3W79EJzzzQQDDDDDDDDDQDDDQQDDDDDDDDQzJJE7NWWp33H&\///////////////////////
//////////////////////[^p7JzzzzzJJ97Wp3dd^xxxxx&N7EJzQQQDDDDDDDDDDDDDDDDDDDDDDDDDDDQEJE97NWWpp3^[[//////////////////////
///////////////////////[x39JzzJJJE73&&dd& x xx^p7EzQDDDQQDQDDDDDDPPPPPPPDDDDDDDDDDDQJJE97NWWWWWpd :#[///////////////////
/////////////////////////:H9JJEEEN&#/#: xx x HN7EzQDDDDDDQQDDDDPPPPPPPPPDDDQDDDDDDQzJJ97NWWNNN7NNWH \[/////////////////
//////////////////////////#@N997p^[///[#::x x&W7EJQQQQQQDDQDDDDDPPPDDDPPPDDDDDDDDDDQzzJE7NNWNNN777NWWdx[////////////////
///////////////////////////[ @&^:[/////[#\xx 3W7JzQQQDQQDQQQDDDDPPPPPPPPPPDDDDDDDDDQzJJE97NNN77999NWpWpx////////////////
/////////////////////////////[[/////////[#xx&pp7JzQQQQQQzJJJJzQDDDPPPPPPPPPDDDDDDDDQzJJE9777779999NpppW@[///////////////
/////////////////////////////////////////[\x@3379EJJJzzzJE97EzQDDDDDPPPPPPPDDDDDDQQzJEE99977777997WppWW3#///////////////
//////////////////////////////////////////[x@HHWN799EEEEE9733N9JzQDDDDPPPDDDDDDDQzzE9999999977997NWpWWWd#///////////////
//////////////////////////////////////////[\_dd3pWNN777777Nd ^&dW9EJzQQQQQQQzzzzzJEE977799777777NWWWWp3 [///////////////
///////////////////////////////////////////[x_&@d3pWWNNNWNWp \\xx^d3WN799EEEEEEEE997777777NNNWppppWWpH #////////////////
////////////////////////////////////////////#x __@H33ppppWW73 \\:x^& _dHH3WWWNNN7NNNNNWNNWpHddH3WWW3&x#/////////////////
////////////////////////////////////////////[\x ^^_@dH33ppW9EW&::^&H _pp&_3HHHH33pppp3d&^ x @HpWNp@ #[//////////////////
/////////////////////////////////////////////[\x ^^^_@H333p9JJEHx#:x\ && x&&&@&_&&&&_:##\: dpNNW@x#[////////////////////
//////////////////////////////////////////////[#:x^^___&@dHp7Jzz93dHd^&d&_dd&&&&&__&&_:#x&pN7N@x#[//////////////////////
////////////////////////////////////////////////[\x __&__&dHHp7EJJJE7dWJWpzz79JJ97NHd_ @3W77px[/////////////////////////
////////////////////////////////////////////////[#\\x^_@@@@@ddd3N7EJJzzJ9EJJNJzJE97WWN977Np^[///////////////////////////
/////////////////////////////////////[[[#####\\##\::\:x^&@ddddd@@HpN9EzzzJJEEEEEE997777Np&#/////////////////////////////
//////////////////////////////////[[#\xxxxxxxx::::::::\\x &dH33HH@@d3pN99EEEE9E99977NW3_\///////////////////////////////
///////////////////////////////[[#:x xxx xxxxxxxxx:xxx:\##: &H33333d@@dH3ppWWWNWWWp3@ #[////////////////////////////////
////////////////////////////[#\xx xxxxxx::xxxxx:\\###: @H33333Hd@@@@@@dddd@^x[///////////////////////////////////
//////////////////////////[#:x xxxxxx:xxx xxx\######x^d33pppp3Hd@@&&&@_x#[////////////////////////////////////
///////////////////////[#\:x x xxxxxxxxxxxxx xxx:\#######x^&dHHH3HHHdd&_ :[//////////////////////////////////////
/////////////////////[#\x xxxxxxx xxxxxxxxxxxxxxxxxxx:::\\#######:x ^_&_^ x:#[///////////////////////////////////////
///////////////////[#\xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx:x\##\#######\::x:\######[//////////////////////////////////////
/////////////////[#:xxxxxxxxxxxx xxxxx x xxxxx::::::\####\\####\:\\\#########[////////////////////////////////////
///////////////#\:xxxxxxxxxx:x:xxxx xx xx::\\##\#\##\\\###\\#:\#:#######\\\#[//////////////////////////////////
////////////[#\:xxxxxxxx:xx:xx:x:xxxxxxxxxxxxx x::\######\#\\\\\#\\\#::#:#####\\\\\\\#[////////////////////////////////
/////////[#\:xxxxxxxxxxx:x:::\x:::xxxx:xxx xxx::\\:\:#::\\\#\\\\\:#\#####\\\\\\:\\#///////////////////////////////
/////[[\::xxxxxxxxxxxxx:xx:::\x:\::::::x ./yummy-code xxxxx:\:\\\\:\::\\#####\\\\\\\\::\[/////////////////////////////
/[#:xxxxxxx:xxx:xx::::\#\\:##\\\\\x_my.monkey.head.com_x//&&| xx:\:\\\\::\:\\#\\\\\\\\\\\::\#[////////////////////////