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