(((///,(((**,,,/((((((/**,,.**,*(((///,,,*/,,/(#((##(//,,,###(((((*(///(///,**(/******/((/////****/((((((((((((#(*,/(((##/,*##//((((((((((((((#####/*,(%%%#/(##
/(/*///(((*/((,/((((((/**,.,**,*(((//(/*,*/,,/((((##(/(///###(((((*/(//(///,**(/****//(#%%%%%%(///((#((((((((#///*,((((##*,*##*/(((((#((((((##(####/,,###%#*###
/(/*//((((*/((,/((/((#/**,,,**,*(((*////,////((((###(/#(//###((((/*(((((((**((((((/,/(((///(/(#%#///##(((((#((#%#*,#####%/,/(/*((((#((#(#((#((#####*,,####(*###
///*///(((****,///((((/*(//,/(//(((*((/*,/(//((((###((###(###((((/*(//((((**((((((//(*/((((/((((#%%//((#((((((#%(*,######/,(##*(((#((((((##(((((/((*,*####//###
(((*((((((*/((,(((((((//((/,////(((*((/*,/(//(###(##((###(#(#((*****/////(/(((/((((/(*****,/(/,*,(%%((#(((#(((##(,,######*,###*((##(((###((####%%%%*,/####*(###
#((*((#(((*/((,(((((((//((/,/##((((*(///,(##(((######((((#####(((//(///////(/(/((##((/((.**..,,,*.*%%#((##(##(##(,*######*,#%(*(###((#(##(#####%%%%*,/#%#(*(###
###/(##(((*/((,(##((((*/((/,/(((((#/(/(/*(##(#((###############((/////////////(####%%###((/*****,***##(#########((/(/**//*,##(*#((((#(#(##(##(%%%%#*,(((#(((###
(((/((((((***,****/(///**,****,,*##((##############################(//######/////(##//,.(%%%%%%*,***/#//(#############%%%%#################((#%%%%#**#((###(###
(###((((((((((/(((((((((((((((((((((((((((((((((((((((((((#((#(##(#//(#(##(#(/***,*(#///,.#%###*/(,**/***(######################%%%#%%%%%%%#######(((#####(####
(##((((((((############################/.,**.,*/((((//(////////(#/##(#(///**/((/***//////.,,**,, ,.#///*******//((##########################%%%#%%##%%%%%%%%%##
(//////((/##############(#(/(####((###/....*,,,,**,.(#(/////**/(//#(///////*/((#((((#((//**.*.,,,((%#(((*************(/**(/((##################################
(///*/(((((###########(, ,* // .(,.(#/...,,,.,,,...../##(/*//((///////((##(////(((((((/(((((#(((/(#((((((/***********(//##*(*(/**/(*(*(*(///#(###############%%
((///(((((###((((((###(. ,,./* ,(,.((/////*.....,,,,../%%%%%%%%#((((/(((##*//(((((((/(///(//*/*/(#(#******//**///****#//(#*(*(***#/*/*(*(#*##*(*(*/*#*/(/****/(
(////(######/ */(( .**.*, */. /,,,,,,,**/**////**##%%%%%%%%%%%%%%%%(///((((((/((//////*/*//(#/%//(/***********//#/((#*(*#*(*(/(**#*##*#(*(*#**(#**#/*/////
##%%%%%%%###(,....,**((/ /*,, (/*,#%%%%%%//########%%%%%%%%%%%%%%%%***/(////////////*/*****/%%%##############((((((#########(#/#//#*#(*#(*//(*(/(*##*/(/***
##%%%%%#####//////**/(((*.,.... ,##,*%#%%%%%/(((((((%%%%%%%%%%%%(*****,,,/*****//////////////*#%%%##########(/((((((((((((######%%%##(((####%##%####(/#(((((#(
(##%%%%####(*,,,*/**((##*,,,....*/#(,/%#%%%%%/((((#%%####%%%%%%****%%%((((//****////*//*/*/*///%%%%##########(***(((///(##***///////%%%%%&&&&&&&%%%&&&&&&&%%%%%
(,**,..,/(#/ . (###///. (##**(%%%%%%%*(###%%###%%%%/**/**/%%%***(////////////*//*/*/*//%%(%%%%%%%%%%%#((##((((//##//*////*/(%%%%%%%%&&%%%%%%%%%%&&%%%%%
%%##(/**(####(#(((#####(((((//(///(**,,(%%%%#*/**#(####***//#%%##%%//*,*(/////////*//*/*/*/*///***#/##((######%%%########################/////(%%%%%%%%%%%%%%%%
#%%*/###############(..,*//(((((###******,#%#***(/**///(#%%##%%##%%%%%%%/////////*/*//////*////##((#///**(####%%%%%%%%%%%%%%%%%%%((######(##(((**#%%%%%%%%%%#%%
%%%##/(####.,*//((#####(((/**,..* (*#/*****(/**,***(#%%%%%%%%%%%##%%%%%(//////////**//////////(##(*///(/****(#%%%%%%%####%%%%%%##(*(######%%%%%%%##%%%%%%%%%%##
#%#####((##############/*/*,... ,.(*#////(/%(***/(%%#%%%%%%%%%%%#%%%%%%//////////////////(////(#*,*****((/*/*,*%%##%%##%%#%%%%%%%%%%%##*##%&&%%%%##((##%%######
((###(#%#*,**//((#################(**,,*******(##%%%%%%%%%%%%%%%%%%%%%#////(///////////////////*********/((****,/########%%#%%%%%%%%%&%#(##%%%%%%###%%%%%#####(
((##/((#%%%#%%****,,,,*////////((#%%%%%**/*/#(#%%%%%%%%%%%%%%%%%%%%%##/(///((////////(///(////***/(//****/((/*****#%%/**(%/(%%%%##%##((((#%%%%%%%%#%#%%########
%##(////(%###%*********/****(#(((#%%%%%(*/##(//%%%%%%%%%%%%%%%%%%%%%#(////(((//**///(//(//////*/***///****//((****,#((/(((/#%%%%%%####(%############%%%%%%%%%%%
%###(((###(##%%%%%%%%##(/**,###%%%%%#**##(/*//(%%%%%%%%%%%%%%%%%%%%##////(////***//(//(///(((///****///*,**//((*,,*,*/(####((((##(%%%#%###%###%###%%%%%%%%%%%%%
####(#####/(#%%%%%%%%%%%%%%%%%%%%%#*/##((((((/##%%%%%%%%%%%%%%%(**,*(((((((((((((////((((/(//*/*******///***//(/**,***###(#%%#####%%%%%%%%%%%%%%%%###%%%#(%%%%%
((((((((#%#%%%%%%%%###%%##(%%%%%%*/##((/((((#(#%%%%%%&%%%%&%%#(/**,*****//((((((%%((/((((((((//*********//**//((/******##%%%%%(%####%%#%%%%%###%#%#%####//%%%##
****////(((###%%%##########%%%%/////(((((((((#(%%%%%%%%%%%#/*((****,,,,,,,**////%%#(((#%%%#((/***********//**//((/*****(#%%%%###(#####%%%%%%%%#%&%%%##&%&%%&%##
*******////////////(((((#####(//((((//////(((((%%%%%%####(((/((/******,,,,,,,,,*#//(%%%(#%///******,******/***//(//****(##%%%(((######%%%%%#%%%%&%%%##%%%%%%(((
///**********************//*/#(/////((#(//////((((((##(#((((/(////////*,,,*****///(%%%%#%%/****//*************/////*****((((#((#######%%%%%%%&%%#%%%%##%%#%#//(
***************************(((##((/**////((##%%#(((((((#((((/(//(///((/(/,/////((%##%%(#%%///***//*************/////****/##%#((##%#%%#%##(###%%%%%%%%##((%%(//(
,,,,,..,,,********,....,,*((((#((/////(/////***##(((((((#(((/((/((//((((##/((((%##//%#%%#%/*////////***///*****/////*/****%%((((###%###%%%%%%&%%##%#((#%%%#((((
,,,********,,,.....,,***(#((((#/////////////////####((((#(((/((//((//(((((#/#%%%(//%%%%%%%/**///////////////****/////****/#########%%%%%%%%(%%#%%#(##########%&
,,,,*,****************/(((((((#////////(((((/////########((///(//((//(##(((%#%(///%#%%%%%%///*////////////////**///////*/*((((((##########%%%%%%######%##%%&%##
,,,,,,,,,,**********/(((((((((#(//////(#((////////######(((///(///(///(##%%%(////%%%%%%%%%/////////////////////**/////**/**((((((((///////////((((((((((####&&&
,,....,*,,,,,,,,,*/(###((((((((#((//(####((/////////(###(((///(////(//(%%((///((//#%%%#%%#//**////////*////(////**////////*/((((((/////////(((((((((((//(((((%#
,,,,,,,,,,,,,,,/(//*****///((((#########%##((////////*/((((/////**/(((#(//(/(((**/#*/#%#%(//*//////////////((///*****//////**////////////(((((((//////(((((((##
*********,,,,,,,,,,,,,,////((((###(########//(###(((///*/((////////(##(((#((((/**((///##%***////////////////((///*****//////*,*///////////////////*//((///((###
,****//////****,,,*****//(/(((#########(#(//(##((((((((/////////*///(((#%%#((***/(####%##**///////////*//////(///*****///////*//////***,,,,,**/////////////((((
,,,,,,,,,,********///*/////((######((((((((###%%##((((((((/////////((%%###(*****//((/**(////***///******////(/(///*****(///***,,,,,,,,,,,,,,,,.,,,,,,,,...,###(
,,,,,,,,,,,,,,,,,***/*//((/((######((///(((###%%%##(((///((///////(%%%&%%(/,*****/(/***///////************/((((////,***////**/********/////////////////////#%%&
,,,,,,,,,,,,,,,,,,,,,/((/((((##///%##(/(#####%%%%%###((///////(//(#/(%%%#*,,,**********////////***//////**//(((((//*,**//////***/******///////////////////#%%%%
,,,,,,,,,,,,,,,,,,,,,(((/((((****(#%%%&%######%%%%%###((((#%%%((((((%%%((/(,,,********//////////(%%%%%%//*//((((((//*,*///////////////****////**,**//////#%%%%%
,,,,,,**,,,,*,,,,,,,*(((((///****%#%&&&%%%%%%%%%%########(/(((/(######//(**(/*,*/**/*////////(%%##%%%%&//*///(((((((//*//////*/**///////////////////***/(#%%%%%
,,,,,,,,,,,,,,*/****/(((,*,,*****#%%%%%%%%%%%%%%&&&&&&&&&&&&&&%%##(##(**//,*///,****//////(##/#%%##%%%%#//*///(((/////((/(////****///////////////////////%%%%%%
*****,,,,,,,,,,,,,,*//**********#%%%%%%%%%%%%%&&%&%&%&&&&&&&&%%#%&&(//(**/(,**//***/*///((((##(/%%%##%%%//*////((((//((((/((//**/**///////////////////////%&&&&
***,,,,,,,,,,,,,,,,,***,********%%%&%%%%%%%%%%%%####((#((((((#%&&%#((/((*,*(////////(((//////###(%&%##%%(//////((//((##(((((//*/****///////////////////////////
*,,,**,,**,,,,,,,,,***,********/%%%%%%%%%%%%&%%%%%%%%####%(#%((#(((((((((*////////////*////((##%%&&%%##(//////((//####((/////******//////////////////////////
,,***,,,,,*********,,**********(%%%%%%%%%%%&&%%&%&&%%%%&%%&&((%&&%##((((((((((((((((///////////(#%%%&&%%%#(////(///#####(#####((((//**/////////////////////////
,,,,,**************************%%%%%%%%%%%%%%(#%#%&%%&&&&&%&%(#&%(#####(((############(/(((((##(/(#&&%&&&%%(//(/(((########((((////*//*////////////////////////
,,,,,,,,,,,,,,,,**************/%%%%%%%%%%%%%#%%(&%%%%&&((((##((%%#*######((#############(//(######(#&&&&&&&%((((((########((((/////*/**//(/////////////////////
,*//((**,*,,,,*,,**,,**********%%%%%%%%%%%%#%%%(%%&&%%%%%%&&%%(%%#(*/######/(#%############(///###%%%&&&&&&&&&&%(/&%(((((((((//////*****/((((//////////////////
,,***,**//(/,,,,,,,************%%%%%%%%&%#%/(((#%%&%%&&&&&%%%&%#(#((/*(#####(//###############(//((#%%&&&&&&&&&&&&%%%((((((((((((((###((//(((((((((((((////////
,,,,,,,,,,,,,*///*,,,**********%%%%%%%%%%##%%%(%%%%&%%%%%%%%%%%#(/#(((/*######(/*//(############((/((##&&&&&&&&&&&&&&&%##########%##(////////(((#####(((((((///
,,,,,,,,,,,,,,,,*****((/*******%%%%%%%%#%%&&%%(#&%%&&%%%%%&&&&(%(/*##(((/,/((###((///(########%%%##//((#&&&&&&&&&&&&&%&&&%#(########(//****///(//(((########(((
,,,,,,,,,,,,,,,,,,,**,*****//(#%%%%%%%#%#%%##%%#&%%%&%%%&##/#(/*####((/*/((((#((((((########%%%%##(//%%%&&&&&&&&&&&&&%%&&%#((####(((//***/////////(((###(##
,,,,,,,,,,,,*,**,,,***,********%%%%%%%#%%%((##%#&&%%&&&&%%%%%*/#(*/######(/**/(((((***/(#########%%%%#((%&&&&%%%&&&&&&&&&&&%%&%######((////*/////////////////
****,,,,,,,,,,,,,,,,,*,,*******%%%%%#%%%%%#%&&%#%&%%%&&&&&&&%###*/#(*/#######((****/((((/**/((#######%%%%%#%%&&&&&&%%%%%&&&&&&&&&%//////***/*////////*///////
*****************,****,,,,*****#%%%(##%###&&%%&%#&&%%%&%%%%%####/*(#(*/#########((************//((#####%%%%#%&&&&&&&&%%%%%%%%%&&&&&&&%%%#/*******//////////////
,,,,,,,,*************************/#(#%%%%&&&%%%&(%&&%%&&&&%######**(#(*/############(/***///***///(((###%%%##%&&&&&&&&&&&&&&%%%%%%%%&&&&(/******///////*/////
.....,,,,,,,,********************(#%#%&%%&&(#&&&%#%&&%%&&&%######(//##(**(###%############((((///////((###%%%#%&&&&&&&&&&&&&&&&&&&&&&&&&&&%///*****////////////
,,/(/,,,,,,,*,,******************/(%%%%%%%%%&%%####&&%%%&&((######(*(##(**/(###%###############(((((((((####%%#&&&&&&&&&&&&&&&&&&&&&&&&&&&&*(%#//////////////
*,,,*,,,*,..,,,,,,*************#%%#((%&%%%&&&%%&&%#%&&%%%%/(###(###//###(/**//(###############################%#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#%%((////////////
***//***,,*,,.,...,,,,*****////&%%%%(#%&&&%%&%&(&&%%%%((#######/*(###(/**,*////((###########################&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#((##/////////////
**************,,,..,,,,,,,*****((#&%#%%&%#(#%&&&&&&(#&&%%%#(#######(//(###(//**,,****///(#####################((&&&&&&&&&&&&&&&&&&&&&&&&&&&////////////////////
,**,***********/***,,,,,,,,,,*/(((/(%&&%%&&&%((#%&&((%&%#((######(/*/####(////////*****//((########(((((((//(#&&&&&&&&&&&&&&&&&&&&&&&&&&(////////////////////
****************/(/**/*/////**(##(///((%&&&%%&&&%#((#&&%%##((#######(//(####(/**//(/////////(((((((((((((//*//(%&&&&&&&&&&&&&&&&&&&&&&&&&%/////////////////////
***//((//////*****************##(((((((/((#%&&&%%&&&%#%%%###((######(/*(#####((////(((//////((((((((((///**/(##&&&&&&&&&&&&&&&&&&&&&&&&&&//////////////////////
***,,*,*********,*****///((///((((######((((((#&&&%%%%&%%##%########((//(#####(//**///((((((/(((/((((/////(((//&&&&&&&&&&&&&&&&&&&%&&&&&(///(/((///////////////
******************************/((##%%%#%%%%######%&&&&%%####%########(/*/(#####((/**////(((//(/((((/(/**/(((((#&&&&&&&&&&&&&&&&&&&&&&&/((////((///(#(((//////
*******************************(##%%%%%%%%%%%%%#%###%&%%#############((//((######(////////(((///////*////(((((#&&&&&&&&&&&&&&&&&&&&&&&&///////////((///((//(%(/
**************,,**********/****//#%%%%%%%%%%%%%%%%##&&&%#############((/*/((######(***//**///////////////((((#%&&&&&&&&&&&&&&&&&&&&&&&/*/////////////////(/////
//****/////////////(((##((/(////(((%%%%%%%%%%%%%%%#%&&%%#############((//*/(######(//***//////***//////(((((#%&&&&&&&&&&&&&&&&&&&&&#%##(/**//((///(///////(
//****//(###(**//*,,*****/*//####%%&%%%%&&&&&%%%%%%&&&%%##############(////((######(///*//////****///////((%#%&&&&&&&&&&&&&&&&&&&&&&(/////(////((##/**/////////
***,,,,,,,,***************/(#%%%%%%%%%%%&%%&&&&%%%&&&&%###############(///*/((#####((//////**//*///////(((###&&&&&&&&&&&&&&&&&&&&&(//((((//(((////(((%##(////
******/***//*****,***/(###%%&&&&&&&&&&&&&&&&&&&%&&&&&&%###############((//**/((#####(((/*/*****//////(/(#####&&&&&&&&&&&&&&&&&&&&&&//////////////((///////(####
********///(/**/////#%%%&&%&&&&&&&&&&&&&&&&&&&&&&&&&%################(//***/((####((//************//(######&&&&&&&&&&&&&&&&&&&&&/////////////////////////////
////(//****/(///(%#%%%%%%%&&&&&&&&&&&&&&&&&&(//&&&&&&&%################(//****/((####(/*,,,******////((####(#&&&&&&&&&&&&%%&&&&&&(/////////////////////(((/////
/////(((((/***(%##%%%%&%&&&&&&&&&&&&&&&&////(&&&&&&&%################((/*****//(#####/**,,*****///((####((%&&&&&&&&&&&&%&&&&&&(//////////////////(///////////
////####(((((#%%%&&%%%&&&&&&&&&&&&&&&&/.......&&&&&&&%%################((//******/(######(//////**/((####(((%&&&&&&&&&&&%&&&&&&(///////////////////////////////
///(%%####(###%%%%%%&%%%&&&&&&&&&&((/**,..,(%&&&&&&%%%################(//*******/((#######((((//((####(###&&&&&&&&&&&%&&&&&&&////////////////////////////((//
((/(#%#####%%%%%%&&&&&&&&&&&&&&%(((/*/***/**/%%%%%&&&%##################((/*********/((#########(((########(&&&%&&&&&&%&&&&&&&/(((///////////////////*/////////
//*/(%#######%%%%&&&&&&&&&&&%//*///**///((///%%%%&&&%%%##################((//*********/(((######(((######(((%%&&&&&&&&%&&&&&&/////(////////////////////////////
/////######%%%%&&&&&&&&///////((///////////#%&&&&&&%###################((///****//***////////(((######((##&&&&&&&&&%&&&&&&/////////////////////*///**/////(//
/((/(####%%%%%&%%%/(%#(//(////(/////////////(%%&&&&###################(///*****//**,,*****//(######(###%&&&&&&&&%%&&&&&/**/*//////////////////////*/###%#(#
//(/(######%%%&&&%%#///((////((/((//(///(((#%%%&&&&&&%####################((///*//******,,,***/(###########%&&&&&&%%%&&&&&(/*****///****//////////*****/%%%%%%#
((/(%##%%%%%%&&&((((((#(/(((((((//(/((/(/(#%%&&&&&&&&%####(################((///****,,,*,,,**/(############%&&&&&%%%&&&&/((///*/*///*****//////////***#%%%%%%
((((#%%%%%%%%%%((((/////(/////(/((((#//((#%%%&&&&&&&%#%####(###############((///***/**,,**//(##############%&&%%%%%%&&&&((/((((((/(((////////*/*//////////&&%%%
(/(((%%%%#%%%%%((((///(((/(//(///((((((((%%%&&&&&&&&%%%#####################((/**/////////(################&&%%%%%%&&&&(((/((((/(((((((((/*********/*/*////&&&&
////*(%%%%%####(/(((/((((((((((((((//(((%%&&&&&&&&&&%%%######################((///**////((#################&&&&%%%&&&&((((((((//(((/(((/(((//((//***********/&&
//////(%%%%%###(//(((/(((((/(//(((//(((%%&&&&&&&&&&&%%%########################(((/(/(((###################&&%%%%&&&&((((/(/((/(/((/(////((////*/(((///*/(***/%
///////(#&&&%%%/(///((/(/(((((((((((((#%&&&&&&&&&&&%%#########################((((((#####################&%%%%&&&%((((((((////(/////(//((((///(//*/(/(////**(
(//((//(((##(//(/(///(/(((//((((/(((/#%&&&&&&&&&&&&%%%%##########################((#######################(%&&%&&&&(/((((((////////(//*((////((((/((((((((((((/
/(((/((((((((/(((((((((((((((((((((/#%&&&&&&&&&&&&&%%%%%################################################((#&&&&&&&&//(/((((////(((((((((((/(/////(((//(((((((/(
//(((((/(((#%#(((((/(((//((((((((/(#&&&&&&&&&&&&&&&%%%%%%%##############################(##(#########((((#&&&&&&&&%/(//(/(/(//(((/(/((((((///(((/((((//(///((//
/(((#((####%%%%##(/(((((((/((/(((((&&&&&&&&&&&&&&&&%%%%%%%%##########################################(((((%&&&&&&&**//////(((//(((((((((((/(////(((/((((///(((/
(/(((((##%%%%%%#######((((((((/(((#&&&&&&&&&&&&&&&&%%%%%############################################(((((#%&&&&&&&.,*,,,/((//(((((((((((//(/(/(///(((((//(((/**
((##(###%%%%%%%%###(###((##((((((((%&&&&&&&&&&&&&&&%%%%%%%#########################################((((((%%&&&&&*,,,.,,,,*/////(//((((((((((((((((/((*/(/(/((
(##(###%%%%%%%%%#########(####(#(##%&&&&&&&&&&&&&&&%%%%%%%%%%##%%##################################((#(((%&&&&&(/*,,..*,**//(/(/(((//(/(((/((//(((((((((((/
#(#(###%%%%%%%%#%#######(####(#((((&&&&&&&&&&&&&&&%%%%%%%%%%#%%%%##############################(((#((/%&&&&&&&(((((#(*...,*,*/*,*////(((/((//(((((((/((((((
#######%%%%%%%%%%#######(((((######&&&&&&&&&&&&&&&%%%%%%%%%%###################################(((((//&&&&&&&&&(###((((#(((*....,/*/***((//(/((#(#((##((#((((
(#######%%%%%%%###%##%##(#########%&&&&&&&&&&&&&&#%%%%%%%%%################################((((((//%&&&&&&(((##((###(##(((.,,,*///**,/((((###(#######(%
(######%##%#%##%%%#%####%#%#######%&&&&&&&&&&&&&&&%###%%%%%%%%%###############################((((((//(&&&&&&&&&((/##(((#((####(((#((/**,,,.,**///(#((#/(##(###
##########%#%%#%###%%%####%%%#####%&&&&&&&&&&&&&&&((####%%%#%%%%#############################(((((///(%&&&&&&&&&(#(##(#####(#####((####((/*,.,,,,.*,*//((###(##
##(##########%%#%%%%##%%%%########%&&&&&&&&&&&&&###########%###########################(###(((((###&&&&&&(#((((((((##((###((((#(((###(,.,,,.,.,/*/*#((%
*,,,,****,*,**,**********,,*******************************************************************************************/////////////////////////////////////////
*********,,,*******,*********,**********************************************/////(//***********************************////////////////////////////////////////
**,****,,***,,,***********************************************************//(/((((((#(**************************//**/*//******/////////////////////////////////
,*,,,*,,,*,,*,*,**,*******************************************************((/(/(((((##*************************/*/**********//*////////////////////////////////
,,,,,*,*,,*****************,**********************************************#(((/((((###******************************/*///*****/////////////////////////////////
,,,,,,,,*,*,,,,***********************************************************##(((((#####*******************************/*********/*//////////////////////////////
,,,**,,,*,,***********,**************************************************/%%#%(((((###*************************************/**//*//////////////////////////////
,,,,,,*,,,****,*,,**************,****************************************/##((((((#(##************************************/*////**/////////////////////////////
,*,,,,,*,,,*****,********************************************************/##(%((#####%***************************************//**///**/////////////////////////
,,,,,,,,*,,,,************************************************************/(####((#(##%*****************************************//***///////////////////////////
,,,,,,,*,,***,,**,*******,***********************************************(##(#(((((###*************************************////////////////////////////////////
,,,*,,,,,*,,,**,***,,****************************************************(###########(***************************************/*////////////////////////////////
,,,,,,,,,,*,***,***,**,**************************************************/%&%%(%&&&%%/***************************************/////*////////////////////////////
,,,,,,,,,,,,*,*,*,***,,*,*************,*********************************&&@@@%@@@@@@@@#********************************/********//**///////////////////////////
,,,,,,,,,,,,,*,*********,**,*******************************************/%&&@@@&&@@&&&&&***************************************/*///////////////////////////////
,,,,,,,,,**,,,,,,,,****,***********************************************&&&@@@&@@@@@@@@&/*****************************************///////*//////////////////////
,,,,,,,,,,,,*,,,,**,***************************************************&&&@@@@@@@@@@@@&(*****/************************************//**/////////////////////////
,,,,,,,,,,,,,,,,,**,*,*****,,*****************************************/&&&@@@&&&&@@@@@&(***********/************************************///////////////////////
,*,,,,,,,,,,,,,,****,*,*,*,*,*,**,,************************************%&&@@@&&&&@@@@&%**************/********************************//*///*//////////////////
,,,,,,,,,,,,,,,,,,*,,,*,*,**,,*****************************************&&&@@&&&&&@@@@&%********/***///*************************/*******////////////////////////
,,,,,,,,,,,,,*,,,,,,,,*,,*,,****,****,*********************************&&&@&&%&&&&&@&&%********//***//********************************/**//////////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,****,**********************************/&&&&&&%&&&&&&&&%********/****//******************************/*/**//////////////////////
,,,,,,,,,,,,,,,,,,,,,,,,*,,,,*****************************************/&&&&&&&&&&&&&&&%********/*//***************************************/////////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,*,,******************************************/&&&@&&&&&&&&&&***/********/**************************************/***/////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,***,*,*************************************/&&&@&&&&&&&&&&**//*/**/***/*/*/**************************************/////////////////
,,,,,,,,,,,,,,,,,,,,,,,***,,******************************************(&&&@&&&&&&&&@&****//*****/*/****************************************//////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,***********************/**************(&&&@&&&&&&&@&&&(***///***********************************************///////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,**,***********************************#&&&@@&&&&&&@&@&(///*/***************************************************//*/////////////
,,,,,,,,,,,,,,,,,,,,,**,,*,**,,,**,**,****************/***************#&&&@@&&&&&&@&@&////////*******/******************************************///////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,***********************//**************%&&&@@%&&&&&@@@&///////****/*********************************************////////////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,********************//****************%&&&@@%&&&&&@@&&////*/////***/*/************************************************/////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,********************///**************%&&&@&%&&&&&@@&&/*///*//********************************************************/////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************/*///**************&&&&@&&@&@@@&&///////*********************************************************/////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*****************/*////************/&&&@&&%&&@&&@@@&////*///***/***/**********************************************/*/////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,***,*****************/////***********(&&&&@&%&&&&&@@@&/////////*********************************************************///////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******************/**/*/******//*//#&&&&&&&&&&&@@@&&(////*/**********************************************************//*/////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,*****************/*///*****/*////%&&&&@&&&&&&@@@&////////**/********************************************************/////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***************//***//**********//%&&&&&&&&&&&&&&&//////*********************************************************/////////
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,***************/***//********//*%&&&&&&&&&%&&&&&%//////**********************************************************/****//*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********************///********//%%%%&&&%%%%&&&&&&&&&%////*************************************************************///*//
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******************//******/(#%%%%%%%%%%*#&&&&&&&%%%%#/****************************************************************/***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,*************/*****/*****#%%%%%%%%######,/%&&&&&&&&%%%%%(*****************************************************************/
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************///***/%%%%%%%%%%%%#/*##%%&&&&&&&&&&&&&%%%#/***************************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*************/////(%%%%%%%%%%%%%%%%#(((#%%&&&&&&&&&&&&&&%%#/*************************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************/#%%%%%%%%&&&&&&%%%/ .##%&&&&&&&&&&&&&&&%%%(********************************************************/**/
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,**************(#%%%%%%&&&&&&&&&&%%%(#%%%&&&&&&&&&&&&&&&&&&%%#*********************************************************//
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,************/#%%%%&&&&&&&&&&&&&&&&&%&&&&&&&&&%&&&&&&&&&&&&%%#*********************************************************/
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,************#%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&(%%%&&&&&&&&&&%%#********************************************************/
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***********(%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&%%%(********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***********#%%%%%&&&&&&&&&&&&&&&&&&&&&%%%&&&&&&&&&&&&&&&&&&%&%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********/#%%%%%%&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#/*******************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********/#%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%/*******************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********(#%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%/*******************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********(#%%%%&&&&&&&&@&&@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#/*******************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********(#%%&&&&&&@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*,****#%&&&&&&&@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***(#/***/(%&@@&@&@&@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**/(##########@&@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,/(#####%@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&%#********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&%%#/********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,/*,,,,,,,,,%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/******///********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,/**/(,,,,,,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*******///********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,(,*#,,,,,.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*******((/********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&******//(/*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,.&&&&&&&&%%&&&&&&&&&&&&&&&&&&&&&*******/(/*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&**//*/((//*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&*****/(///*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&**/////(//*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%*/****///(*********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,****,,,,,,,,,,,*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&******////*********************************************************
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******,,,,,,,,,,,/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(*****/(#//*********************************************************
..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********,,,,,,,,,,,/&&&&&&&%%&&&&&&&&&&&&&&&&&&&&&/*#(/((#///*********************************************************
.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********,,,,,,,,,,,(%%%%%&&%%%&&&&&&&&&&&&&&&&&&&&********///*********************************************************
...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,********,,,,,,,,,,,(%%%%%&%%%&&&&&&&&&&&&&&&&&&&&&********//**********************************************************
...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********,,,,,,,,,,,#%%%%%&%&%&&&&&&&&&&&&&&&&&&&&&**///*/#(//*********************************************************
....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********(*,,,,,,,,,#%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&,*/#%((#(/**********************************************************
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********(#/*,,,,,,.#%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&,*((#//(*#**********************************************************
.....,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,************(#%%#(*,,,,%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&%,(****#&%#**********************************************************
.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***********(#%%%%&%##(%%%%%%%%%%%&&&&&&&&&&&%&&&&&&&%/#%%%%&&%#***************,******************************************
....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,**********(%%%%%%%%%%%%%%%%%%%%&&&&&&&%%&&&%&&&&&&&&&%%%%%%%%(**********************************************************
.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***********(%%%%%%%%%%%%%%%%%%%%%&&&&&%%&&&%%%%&&&&&&%%%%%%%%%(**********************************************************
.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**************(#%%%%%%%%%%%%%%%%%&%%%%&&&%%&&&%%%%&%&&&%%%%%%%%%#/**********************************************************
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*************(#%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%&&&&&%%%%%%%%##/**********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%##/**********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,******************(#%%%%%%%%%%%%%%%&%%%%&%%%%%%%%%%%%%%&&%%%%%%%%%###***********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,*,****************(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%##%***********************************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**************(##%%#%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%&%%%%%&%%%##%**************************************************/(#%%&&&&
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,************(#%%#%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%&%&%%%%&%%%#(#***************************,,****/#%%&&&&&&&&&&%%%%%%##(//*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********(#%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%&&%%%%%%%#(#*****,,,*,,*,*/(#%&&&&&&&&&&&&&%%%%%%##(/***,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********(#%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%&&&&&%%%##((&&&&&&&&&&&&&&%&&&%%%##(/**,,,,,,,..,......................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********(%%###%%%%%%%%%%%%%%%%%%&%%%%&&&&&&&&&&&&&&&%%%###/%%%#((/*,,,,,....(#,.......................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********(%#####%%%%%%%&%%%&&&&&&%%%%%%%%%%%%%%%%&&&&%%%#%(/(/,................/(*.....................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*((%&&%####%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%#(/(///*................/(, ..................................
,,,,,,,,,,,,,,.,,.,,,.....,*/#%%&&&&&&&&&&&&&&&%%((##%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##///////*.................((,.................................
,,,,.....,,*((%&&&&&&&&&&%%%%%%%%%%%%#(/,,......./((#######%%%%%%%%%%%%%&%&&%%%%&%%%%%%%%%%%%%%##(////////*. ................((................................
&&&&&&&&%%%%%%%%%%%%%#(/*,....... .../(((#####%%%%%%&%%%&%&&&&&&&&&&&&&&%%%%%%%%%%%##(////////*..... ............/(..............................
###(/*,..... ./((((##%%%%%%%%%&&%&&%&&&&&&&&&&&&&&&&&&&%%%%%##(////////*...... .. ......*#............................
./((((##%%%%%%%%%&&&&&&%&&&&&&&&&&&&&&&&&%%%%%%##(////////,...... ....... .... .((..........................
*/((#%%%%%%%%%%%&&&%%&&&&&&&&%&&&&&&&&&&%%%%%%##((//////,... ....... .. ......,(#........................
,/(##%%%%%%%%%%%%%&&%%&&&&&&&&&&&&&&&&&%%%%%%%#(/(((((/,.. . ... *(#......................
./(##%%%%%%%%%%%%%%&&&%%%&&&&&&&&&&&&&%%%%%%%%#((((((/,..... ....../(/ ...................
.*/(##%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&%%%%%%%%%#(/((((/. ........ ........../(#..................
(//(###%%%%%%%%%%%%%%%%&&&&&&&&&&%&%%%%%%%%#(/#(((* ..... . ............/(#................
/#/((###%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%##((#(((*. ......... .. ...................(((..............
..(%(((###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(%%#((, ... ..... . ................../(#............
.*%%(####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%###( .... . ......................(##..........
(%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##.. .. . ....................(#/ .......
../%%&%%%%%%%#####%%%%%%%%%%%%&&%###(... ...... .....................##( .....
./%%%&&&%%####%%%%%&&&%%###/. .. . .... . .................. .((/....
.....,/((#######((/,. . ..................,((/..
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////(((((((((((((((((((((((((((((((((((((((((((((/
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//////(((((((((((((((((((((((((((((((/////(((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////((((((((((((((((((((((((((((((((((((((((///((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//((((((((((((((((((((((((((((((((((((((((((//((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(((((((((((((((((((((((((((((((((((((((((///((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(((((((((((((((((((((((((((((((((((((((((//(((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////((((((((((((((((((((((((((((((((((///((/(///((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///////(((((((((((((((((((((((((////////(((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(/(/////(((((((((((((((((((((//////////((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////(////((///((((((((((((((((((/////////((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////(/////////(((((((((((((((((((///////(((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//((((////////((((((((((((((((((((///////(((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(((((////////((((((((((((((((((((/////((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/(((((((((/////((((((((((((((((((((//////(((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/////((((((((((((((((((((//////(((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/((((((((/////(((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/(((((((((/((//((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((#((##(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((#((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((##((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((####(##(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((#####(##(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((####(####(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((####(####(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((##(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((#####(((#####(((((((((((((((((((###((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((##((((((((((((((((((((((((((##((###((######(((((((((######((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((##(((((((((((((((((((((#((((######(((########################(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((##((((((((((((((((###########################################(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/((((((((((((((((((((((((((((((
(((((((((#####((((((#################################################(/((((((((((((((((((((((((((((((((((((((((((((((((((((((((//((((((((((((((((((((((((((((((
((((((((((#####((((##################################################(//((((((((((#####((((((((((((((((((((((((((((((((((((((((/(((((((((((((((((((((((((((((((
(((((((#(#((#######################################################(((/*/(((((((((((((((((((((##((((((((#(((((((((((((((((((((//(((((((((((((((((((((((((((((((
(((((##############################################################(#((**/(((((((######((((((#(((((((((###(((((((((((((((((((//((((((((((((((((((((((((((((((((
(((((#################################################################(/***/(((((##((((((((((####((##########((((((((((((((//*/((((((((((((((((((((((((((((((((
((((###################################################################(/***/(((#####################%%####((((((((((((((//**/(((((((((((((((((((((((((((((((((
((((##((#((#############################################################(/////(####################%%&%######((((((((((/****/((((((((((((((((((((((((((((((((((
(((((((((((##############################################################(////((###############((##%&&%####((((((((((//****/(((((((((((((((((((((((((((((((((((
((((((((((################################################################((///(((#############((((##########(((((///***//(((((((((((((((((((((((((((((((((((((
((((((((((##################################################################(((((((#############(((#########((((((//////(((((((((((((((((((((((((((((((((((((((
((((((((######################################################################(((((((((#######(((((####%%#(((((((////((((((((((((((((((((((((((((((((((((((((((
((((((((##((####################################################################(((((((((((((((////((((###(((((////((((((((((((((((((((((((((((((((((((((((((((
(((((((############################################################################((((((((((((((((((#%%##(((((((((((((((((((((((((((((((((((((((((((((((((((((
((((#################################################################################(((((((((/****///(#(((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((######################################################################################((((/////((((#(((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((##########################################################################################(/******//((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((#########################################################################################(((//****/(((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((########################################################################################(((((/***//((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((#########################################################################################((((/**///((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(###########################################################################################(((//*///((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((############################################################################################(//////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
##############################################################################################(//////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((#######################################################################################((((((//////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(################################################################################((#########(((//////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(###############################################################################((((((((((((((((/////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((#############################################################################(((((((((((((((((/////((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((###########################################################################((((((((((((((((((////(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((###########################################################################((((((((((((((((((////(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((######(###########################################################################(((((((((((////(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(###############################################################################(((((((((((((((/////(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
#######################################################################(########((####(((((((((/////(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
........,,,,***///(((((########################################################((((((((#(((((((/////((((((((((((((((((//////(((((((((((((((((((((((((((((((((((
%####(((//****,,,............ .......,,,****///(((((#########################((((((((((((((((/*///((((((((((((((((////////////(((((((((((((((((((((((((((((((
&&&&&&&%%%%%%%%%%%%%####(/,,*****,,,,,,,......................,,,**////(((((((########(((((((((****/(((((((((((((((////////////////((((((((((((((((((((((((((((
&&&&&&&&&&&&&&&&&&&&&&%(((%%%%%%%%%%%%%%%%%%####(((///**,,,,........................,,,,**///((*,,*((((((((((((((/////////////////////(((((((((((((((((((((((((
&&&&&&&&&&&&&&&&&&&%#(#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%####(((///****,,,,..............**//(/...,,,************////////////////((((((((((((((((((((((((
&&&&&&&&&&&&&&&&%((#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%####(((//**///(((,........ ......,,,,,***//((((((((((((((((((((((
&&&&&&&&&&&&&%((#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%&&&%%%%%((//((#####((//**,,,............. .........,,.,*///(((
&&&&&&&&&((#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#((//((((((//////////*******,,,,,,,,,,,.....................
&&&&&&((%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(*/**/*//(((#(((((((((((((((/////////////*///(((((((//*****,,,,,.
&&((#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#((*.,,,..*(####%%%%##%%&&&&%####%%&&%#(((//////////(##%%%%###%%%%%#
(/(%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%##(/****........*(((#%&&%%%%%%%%%%&&&&%####%&&%((((((//////(#%%%%%%%%%%%%
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#(((((/***,,..........,*****/(###%%%%%%%%%%@@&%####%&%#(((((////((#%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#((((((///**,,.. ..,,*****///((#%%&%%%%%&@&%####%%(////////(#%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#((((((/////*,,,,...........,,,,*****//((/(%%#%%%%&@&%###%%&%#///////((%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(((((////////***,,,//*,,,,,,,,,**********///(#&&&&@@#####%#(///////(#%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%(((((///////////***********,,,,,,,,******//////(%%&@(((((((((//////((%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%//((//////////////**//***,,,,,,,*************///%&%#(((//(((////////(%%%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*////////////////////////****,,,,,,,,,,,,,,,,,*//////////////(##%%%%%%%%%%%%%%%&%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%/,,/////////////////////////////*****,,,,,,,.,////////(((##%%%%%%%%%%%%%%%%%%%&&&&%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%(,.,*/////////////////////////////////*,.,(#%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%&&&&&&%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%(/,..,,*/////////////////////**,..,,/(%%%%%%%%%&%%&&&&%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%#(/*,..,,,,,,,,,**,,,....,**(#%%%%&%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%##((///////((##%%%%%&%&&&&&&&&&%%%%%%%%%&&&&&%%%%%%%%%%%%&%%%&&%%%
/((#%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%&&&%%%%%&%%%%%%&&
#(((((////((((##%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%&%%%%%%%%&&&&&&&&%%%%%%%%
&&&&&&&&&&&&&%%##((((///////((##%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%&&&&&&&%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&%%##(//////*//((##%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%###((/****////((#%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&%%%%%%%&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%###((/******//((##%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&%%%%%&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%#((//*******//((#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&%%&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%#(//*******//((##%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%###((////**/*//((#%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%#(////*****//(##%%%&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&%&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%##((///******//(##%%%&&&&&&&&&&&&&&&&&&&&%%&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%####(//*******///((#%%%&&&&&&&&&%%&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%##(((//********/((##%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%##(((//*****
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%#
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%&&%%%
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****,*,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,**,**,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****
,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****
***,******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,*****,,*
**********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,*****
***********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,*
,,,,,*******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,
,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,
.........,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,****,,,,,,,,**,,,,,,
................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***************,,,,,,**,,,,,,
............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********************,,,,***,,,,,,
.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*((((((###############((**,,,,,,,
............,,,,,,,,,********************///////*,,,,,,,,,,,,,,,,,,,,..,,,............,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,*((##################(((**,,,,,,,
............,,,,,,,,,**/,*//////*****/////***////,,,,,,,,,,,,,,,. . ....,,,,,,,,////(/*,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,**######################(**,,,,,,,
............,,,,,,,,,***,*////(((((((/*******////,,,,,,,,,,,.. .. . . ....,**/////((###(//**/*,,,,***,,,,,,,,,,,,,,,,,,,,****######################/**,,,,,,,
............,,,,,,,,,/*/,*//(((((((((((((((((/*/*,,,,,,,. .............,,**(((#(#(((((#((/**,,,,,,**,,,,,,,,,,,,,,,,,,,,,****######################/**,,,,,,,
.............,,,,,,,,/*/,*//(((((((((((((((((/,,,,,,,,.. ...,.,,.,,,****//((((#######(#((((/******/*,,,,,,,,,,,,,,,,,,,,,****######################***,,,,,,,
............,,,,,,,,,/*/,*(((((((((((((((((((/,,,,,,, .....,,***////((((((########%%####(//*,,,,***,,,,,,,,,,,,,,,,,,,***/######################**,,,,,,,,
............,,,,,,,,,/*/**((((((((((((((((###(,,,,,,. . ....,,,**/////((((#######%%%%%%%%%###(/******,.,,,,,,,,,,,,,,,,,***(#####################(**,,,,,,,,
............,,,,,,,,,/*/.*//(((((((((((((####(,,,,. ......,,**//((/((#(###(######%%%%%%%%%###(//((*,,.,,,,,,,,,,,,,,,,***(###################(#(**,,,,,,,,
............,,,,,,,,,/*/.*///(((((((((((((###/,,,. ........,,*///((((#((###(####%%%%&%&&&%%%%##(#/((/,.,,,,,,,,,,,,,,,,***(((############(#(((((/**,,,,,,,,
.............,,,,,,,,/*/ *////(((((((((((((##/,,, ..........,,**/((((#((#########%%%%&&&%&&&&%%%###(*,,,,,,,,,,,,,,,,,*****((###########(#(((((((***,,,,,,,,
..............,,,,,,,/*/ *///(((((((((((((((#/,,. ............,,**/((((((######%#%%%%%&&&&&&&&&&&%%%%#*,,,,,,,,,,,,,,**,,****(///(((((###((((/((///***,,,,,,,,
..............,,,,,,,/*/.*///(((((((((((((((#/,, ...........,,****/(((#((##%#%#%%%%%%%&%&&&&&&&&&%%%%#*,,,,,,,,,,,,,,,,,****(/(..((//**//,(..,,,/****,,,,,,,,
..............,.,,,,,/*/ *//(((((((((((((((((/,. .............,,///(#(##(###%#####%%#%%%%&&&&&&&&&%%%%#/*,,,,,,,,,,,,,,,,***,.,..,.,*,/((*../,,*.*.**,,,,,,,,,
................,,,,,/*/ *//(((((((((((((((((*. ............,,//(#%(#%/#####(####%%%##((###%&%&&&%%##/*.,,,,,,,,,,,,,,,***,*,. ,//*,*(.,.,...,,,**,,,,,,,,,
...............,,,,,,/*/ */((((((((((((((((((, ............,,,*(####%(#%(##/##%%%(##&&&&&&%%##%&%%#(/*,,,,**,,,,,,,,,,***.,*...*,**,**.,......*,**,,,,,,,,,
...............,,,,,,/*/ */(((((((((((((((((( ........ ......,,//((#(#(##/(%%%####%#%%%%&&&&%#%%%#(,..,,,,,,,*,,,**,***. ..#,....,..., .. ..****,,,,,,,,,
...............,,,,,,/*/ ,/(((((((((((((((((/ ..... .............,,/(///%%###%###(//((##%%&&&&%%%%%#*..,,,,*,,,**,,,****. ..&*.....(/., .. ..**,,,,,,,,,,
................,,,,,/*/ ,/(((((((((((((((((,. .......,,... .........,/%&%##(((//(#%%((#%%&&%%%%#/..,,,,,,,*,**,,**** . .*. . ./*.... ... **,,,,,,,,,,
..................,,,/*/ */((((((((((((((((/* .......,.**///*,.. ...,(&&&&%##(*,//(#%%%%(#%%&&%%%#/,.,,,,,,,,,***,***, , ... .... .. **,,,,,,,,,,
..................,,,/*/ ,//(((((((((((((((*, ...... ...,*/(((/. ..*(%&&&%#/*,,*/(#%&&%%##%%&%%##/,..,,,,,,,****,***, ., . ..**,,,,,,,,,,
..................,,,/*/ ,/((((((((((((((((*, ..... . .,*/##(, ../##&&&%#(,,,,*/##%%%#%%%%%%%%#/,..,,,,,,,,,,,,***. .,*//*,,**,, .**,,,,,,,,,,
..................,,,/*/.,//(((((((((((((((*. .... .,*/(/. ..,/#%&&&&%(*,,...,,/(((#%%%%%%%(/.....,,,,,,,,,,***. */,,***,,,.,,. ,*,,,,,,,,,,,
...................,,/*/.,/((((((((((((((((*. ..... .. ....*#%&&&&&%(*,,,,***/(#%%%%&&%%(,......*,,,,,,,,***. .,.,,,,,..,**,... ,*,,,,,,,,,,*
..................,,,/*/.,/(((((((((((((((/,, ........ ......,(%&&&&&&&%#((###%%%#&&%%&&%%(*../.,,,,,,,,,,**** ,,,,.,,,..,,. **,,,,,,,,,,*
.................,.,,/*/.*/((((((((((((((/*,... .............. .......,/#%&&&&&&&&%#(##%%&&%%%&&&%%(*,,/,,,*,,,,,,,****,. ..,,,..... **,,,,,,,,,,*
.................,,.,/*/.,/(((((((((((#((/*.... ............. .........,/#%&&&&&&&&&&%#####%%%&&&&%%((/*(,*,,,,,,,,,***, ..,... .**,,,,,,,,,,*
...................,,**/ ,/(((((((((####(/* ... ................... ....,/(#&@&&&&%%%&&&&%##%%&&&&&%#(###*,,,,,,,,,,,***, . .. ....,,,,,,,,,,,,,,
....................,**/ ,/((((((((((##((/*,,,. .................. ......*/(#%%##%&(#%%&&&&&&%%%%&&%###(/**,,,,,,,,,,***.. ........ ..,*,,,,,,,,,,,,
....................,**/.,/(((((((((((((/**,,,,. ................... .. .,*/(*..,*#,/(#&&&&&&&&%%%%%(#%/***,,,,,,,,,,*,... ................**,,,,,,,,,,,,
....................,**/.,/(((((((((((((***,,,,.... ................ . ..,/(#%&&%&&%,*/#%&&@&&&%%%&%(##***,,,,,,,,,,,***....................... ,.....,,,,,,
....................,**/.,/((((((((((((/**,,....... ............... .....,*##(##%&&&&&&&(,/(#%&&&&&&&&%#(%,,,,,,,,,,,,,,***,...................... . ...,,,,,,
....................,**/.,///((((((((((/*,,,....,.. ............, .......,/###(#%&&&&&&&&&,*(%%%&&&&&&%##*,,,,,,,,,,,,,,,,*,,..................,,,,....,,,,,,,,
....................,**/.,/((((((((((((/*,,,....,, .........,**.......,,,*/((/(##%%&&&&&&&,*(%%%%&&&%###/,,,,,,,,,,,,,,,,,,,...........,,,...,,,*, ....,,,,,,,
,................,,.,**/.,///((((((((((*,,,.. ................ ..... ...,.**,*/(*//(%%&%%*(#%&%&&&%#/,,(/,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,, ......,,,,,
,...............,,,,,**/.,/////((((((((*,,... .. ........... .. ...*/(//((#(###/,(%%/##%%&&&%%#*****,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,. .......,,,,
,...............,,,.,**/.,///////((((((,,.... .. .......... ....,,**/*//#%#%%%%%##%((%%%%%%%%/***,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,. . ........,,
,...............,,,.,**/.,///////((((((,,.... ........... .........*/(/(((##%%%%%%%%%%%%%%%%#,,,,,,,,,,,,,,,,,,,,, .,,,,,,,,,,,,... .........,
,...............,,,.,**/.,///////(((((/,,.... .. ........... .........,,**/(##%%%%%%%%%%&%#&&%%%%#*,*,,,,,,,,,,,,,,,,,,. ...,,,,,,.... ..........
,.............,.,,,,,**/.,///////(((((/,,.... ...... . ...............,,*//((#%#%%&%&&&%&&&%%%%%%#(,,,,,,,,,,,,,,,,,,,,, . ... ...... .
,...............,,,,,**/.,///////(((((/,,.... . ... .................,*//(((##%%&&%&&&&&%%#%%%##(,.,,,,,,,,,,,,,,,,,,,,. . .. ........
,..............,,,,,,**/,*//////((((((/,,...... ..... .............,,*//#(((#%#%%%%%%%%%%%(#(#(,,,,,,,,,,,,,,,,,,,,,,, . .. . .......... ,
,.............,,,,,,,**/,*/////(((((((*,. ...............,*/(/((#####%%%%%##(######/....,,,,,,,,,,,,,,,,,, ....,,,....,,.. ........... .
,.............,,,,,,,**/.*////((((((/(*,. ...,. ................,,*,**(/(#(####((##########(..,,,,,,,,,,,,,,,,,, ... .......... .......... .,,
,.............,,,,,,,*//.*////((((((((,,. .,...,,. ..........,,,,,,,,,,****/////((#######%#####(((*,,,,,,,,,,,,,,. ... . . ........ ,,... .,,,,
,.............,,,,,,,**/.*//(((((((/*,,,,,,,,,...,,,,,. ...........,..,.....,,,,,////(###################((/,,,,,,,,,,........... . ... .,,.........,,,,,
, ....,,,*//.*//(((/,,,,,,,,,,,,...,,.,,,. .....................,,.,/#########%########%#########(/*,,,,,.......,,,,,,.... .,,.........,,,,,
, .,*//.,//*,,,,,,,,,,,,,,.,,,..,.,, .....................,/,((################%#####%%%%%%%###(((((##(,,,,,,,,,,,,,....,,,.........,.,,,
,. .......... ,*,*.,,,,,,,,,,,,,,,,,,,,,.,,.,,. .....................,*((((((((###%%######%%#####%%%%%%#%%#####(*&@&*,,,,,,,,,,,,,,,,,.........,,,..
,,,,,,,,***********,..,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,. .....................,*#(//(##########%###########%%%%%%%%%%%%%%(@@@%&@&*,,,,,,,,,,,,...........,,..
,,,,,,,,,,,****,. ,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,, .....................,/#(((((####################%%%%%%%%%%%%%%(&@@&@&@@@@&/****,,,,,.........,,,,..
,,,,,,,,,,,.......,,,,,,,,,,,*,,,,,,,,,,,,,,,,.,,,,, ......................(#((((((((#######%##%#%#%%%%%%%%%%%##%#%*&@@@@%%@@@@@@@&/////////********,,,.,
,,,,,,,,....... .,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,, . ................,,,,..,(#((((#(#(########%%###%%%##%###%######/%@@@@@#%@@@@@@@@@@(*******************
,,,,. . ,,,,,,,,,,,,,**,,,,,,,,,,,,**,,,,,,**,.....,...........,*..,,,,..,(((((((((##################%%%%%%%%%%%##@@@@@@(&@@@@@@@@@@@@@/****************
.. .. . .. . ,,,,,,,,,,,,,****,,*,,,,,,,**,,,,*,**%%****////**/////*,/(*,,.....*/(((###################%%%%%%&&%%%%%%%(@@@@@@&@@@@@@@@@@@@@@&***************
. . ...,,,,,,,,,,,,,,***,,**,**,,,*/*,,,/(*,*#%&///**///*///((((((((/....**//((######(##########%%%%%%%%%%%%%%%#(@@@@@@@#%@@@@@@@@@@@@@@@@@@/************
... ... .. .,,,,,,,,,,,,,****,,*,***,*((#**,*(///*/#&@///***//*///(((((#((/.**/////((#(##((#########%%%%%%%%%%%%#%%(/@@@&@@@@(%@@@@@@@@@@@@@@@@@@@(/**********
.. ...,,,,,,,,,,,*****/**/,/(/**#%%#***##**&/*(%@@///*,**/////((((((/**///////(((((((((((((#(######%%%%%##%#(*%@@@@%@@@%#&@@@@@@@@@@@@@@@@@@@@/**********
........ ,,,,,,,,,,*****//(*/*(#(*/%&&&(**/#*,/((,/##@@/***/*//////////////////**///(((((#(((((#####%%%%%%%%%%#/#@@@@@&&@@@##%@@@@@@@@@@@@@@@@@@@@&,*/*/*****
. . ,,,,,,,****,/(//#((//#%(*/%&&&%/*/%#*.*#(/*((#@&///*//(///////////(((///////////(((((#(((###%%%%&&%%%(#@@@@@&@&@@@%#%&@@@@@@@@@@@@@@@@@@@@@/*/*....**
.. . .,,,,,*,*/*(/*##(%%*/%&(//%&&&%(**(%#*///&%*%((#@(/////(/((/////(//((////////////(((((((#(###%%%%%%%%#@@@@%@@&@&@@@##%&@@@@@@@@@@@@@@@@@@@@@@,,*,.....
.. .,,,**,/*,(#/#(/&%&(*%&(//%&&&%(/*(%&(***/@(**###&&(((((//(//////(((((((/(////////(/((##########%%%##@@@@@(&@@&@&@@%%@@@@@@@@@@@@@@@@@@@@@@@(,......,
. .. ,,,,****#/*%%(%(#*%%#//#&&&%((*/%&*,*/%@/,/#%%&&((((/(((/////(((((((/(((((//(/((((##(##%####%#/&@@@@&%&@@@&@@@@@%%&@@@@@@@@@@@@@@@@@@@@@@@&......,,
. .,,//*(/((#%*%&(%(#*(%(**(%&&%(/*/%&&((,,*#%#/,,/%%&%@(((((((/(((((((((((((/((((((/(((######%#%##(%@@@@&@#%@@&&&@@@@@%&&@@@@@@&@@@@@@@@@@@@@@@@@.......,
. . ,,*#///((((#&/#%,*#(**/%&&&(//*/%&(,,**//(/**/%%%&(((/(/((((/((((((((((((((#(###(#####%##*%&@%&@&%##@%&%@%&@@@@&&@@@@@@&@@@@@@@@@@@@@@@@@@........
... .,,*%%//((#((%&%/&**//**/#&&/**/%&&%##***///#&/*,(%%%((//(/((((((/(////(((/(((#(###(######(,#@@%@@@@/#&@#&&@%&@@@@@&@@@@@%@@@@@@@@@@@@@@@@@@@*,,,..,.
... .,,,*%%#/((####%%&(#,**,*(%&&%/**/##&(/%(*/**//%//*/*(%%%&(/////((/(/(/(((/((((((((((#########/#%&@@@@&@&(&%@@@&@%&&@@@@&@@@@%@@@@@@@@@@@@@@@@@@@@(//***//
.,,,,(%((##%%%%%%,,***(%%&%(**/(#%#&//#/,,*//(///***/#&&@(///(////(///////(/((///((((#####/#@%&&&@&@#(##%@%@@&&%&&@@@@&@@&%&@@@@@@@@@@@@@@@@@@@@&/,.***/
. ,,,,,/%&&((##%%%%%(,,**/#%%%#/*//#%&%#//%(/,,**((((/***/#%&%(//////(////(/////(///(/(((#((/&&&%@&@@@@@@%#%%%#@&&%%&&@@@@&@&%&@@@@&@@@@@@@@@@@@@@@@&..,,***
.....,,,,,,/&&&%##%%%%(,,,*/#%%%#////#%#(*%#(**/((/&*/*/&&@&(////////////////(//////((**%@@@@&&@@@&&&%#&@%#@&%@%%%&&@@@@@%@@@&&&@@@@@@@@@@@@@@@@@@.*,,*,.
..,,,,,,,,#&&&%#%%%%,,,,/##%##/(//#%%%###&&/*##(/*(#%///,,**(%&@@#///////**///*///(/////*,/@@&&%&&@@@###%&%&&(@%%&&@&@@@&&&&&%&&@@@@@@@@@@@@@@@@@@,*,.,(#
.,,,,,,,,*(%&&&%%%*,,,*(%%%#(((/#%%(**%#(%/**##(**#%////****/#&@&/(////***/*/**/(///*,,,&@@%%%&%####&%%###%@@@#@%@&&&@@&@@@&&&%%&&&@@@@@@@@@@@@@@@@@@,..%%##
.. ,,,,*,,,,,*/#&&&&(*,,,*/(%%#%%(#%%#***(%%%##/*(##//%%//##*,,*/%&&&/(////**/////////,,.*%#@&&%&@&&%@&&@&%%&%@&@@&&@&@@@@@%&&&&&%%&@@@@@@@@@@@@@@/.##((#
,,,,*((/,,,,,*(#%&*,,..*#%%%##%%%%#(%#%#%&/*###/(%(##%@//(%&@&(////**/////**,,.((@%&&&&&&&%((((#&@%%%#&&&&%#@&&&@&@@@@@%&&%&&&@@@@@@@@@@@@@@@@*.,(#%&
.,,,,,,/((##**,,**(#%*,,,..*/##%%%&%*****/(#/*/%%#/(#%(//##&/((#&@(/*/***/////*,,(#(%##&&%#(((##&%##&&@%%&&&&&@&@@@@@%##%&&&&&&@@@@@@@@@@@@@@@./#(*#%
.,,,,,*/(#######***//,,,..**/((%%%&%%%(#%*(%#%##((/*#%(/%/%%(//#%((%(%#//*/**//**#%(/#%(##(#(((((#&&@%%&&%(#&@@&&&&&&&@@@@@&%%%%&&&&&&&@@@@@@@@@@@@@%%(#(%#
,,,,*,*/(((#%%###(/*,,,..*****(%%&%#**%%/*&%(###%&%//%%(/%/%%#/((%#(%(&/****/*/%####((&@@@@@&@##&&%%#&%@@###&%@@&&&&&&&&&@@@@&&&&%%&&&&&&@@@@@@@@@@@@@#((#%%%
,,,*/*//((((#%####/,,,,.******(%%##%%%#/*%%(%%%%%%%///%#(#(((%%(((%&(/&&,***(%%&%&&@&(%((((%@#%#&%@@#%%#@&&@@&@@@&&&@@@@@#((##%%%&&&@@@@@@@@@@@@@@%%##@##
,,**//(/((###%###(*,,,.,****/(#%%##%%%%((%##(%%%#/%%&//##(#/#(%&%#((%%#,(%%&@&&&%%((&((%&@&%#%%&@@####%@&@@&&@@&@@@&&&@@@@@##%%%%&&&&&&@@@@@@@@@@@@@&%##&
,,*////((####%%##/,,..,*****/%#(((((%%((%%#(%%%/%((&%%//(%%%/#/%&%#((#&%%&&&&&%((##(##%@%#&@####@&@@@@@&&&@&@@@&&@@@@@@(###%%%%&&&&@@@@@@@@@@@@@@%%%&&%
,*,*//(/((#%%#%#(*,,.,****//(#%###%&(%(%%&/#(((%///(%%#/%/#%%##/((&%%#&((%(((&&@%(#%(%%#&&(%%@@@@&&@@@@@@@@@@@@@@@@@@@###%#%%%&&&&&&@@@@@@@@@@@@@%%###%
****((/((#######*,,.*****/(#(/(((/(###%&/#%%%//%(#%(#%%%//(&%((/#(%&(%(%####/(##%&&((%#(#%&&@&%&%%&&@@&&&&@@@&&&&&@@@&@@@@@@@%####%%%%&&&&&&@@@@@@@@@@@@@&%%&&%
**/*/(((((###%#/,,.******(/##%%#((##(&%#%#%%%/&/&(/%#(#(/(%%(%/#/%%((%#%#/&&%%((%((##%&&%#%&%@@&@&&@&&&@@@@@@@@@&&@&@@@@@@@%####%%%%%&&&&&&&&@@@@@@@@@@@%&%%#
**///(((#(####*,,..*,**/((/(#%%%%#%##%#%(%%&/&(%(///%((%///%%/%/%/&%#((%%%%//#(/%(%&&&(/(%&@%@&&&&&@@@&@@@@@@@@@@&@&&@@@@@#%%###%%%%&&&&&&&&@@@@@@@@@@@@%%%%#
////(((((###(*,,..,*,***/(##%%##((((((%#%%/#(#/////(%&%#/(%%(%/%/%%%%/((/#(#&(#%#%&%@%@&&&&&%@@&&&@@@@@@@@&&@&&&@@@@&%%%%%#%%%%&&&&&@&@@@@@@@@@@@@&%(*,
//(((((#(##(,,,,..**,****((%%%#(((((((##%%%(&(%%###%&%(%&((//%%(%/%/(%###((#(%%%/(##&%#@%&&&&&@%@%&@@&@&@@@@@@@@@&@&&&&@@@%%%%%%%&&&&&&&@@@@@@@@@@@@@@@///(
/(/(((####(*,,,...*,,,,,,*#(%%%%######%%%(####(%((((&%%///(###/(&%%(#/#%/(#%##&%&%&&%@%%&%@%@@&&@%@@@@@@@@@@@&&&&&&@####%%%&%%&&&&&&&@@@@@@@@@@@@@@##((
*/(#((#((/,,,,,..,,,,,,,,,/(#((/((((##%%%%##((((/(((////%#(%#%(//#%&(#%%%####/((##(&%&&&&%&&&%%%&%&%@&&&@%@@@&@@&@@@&&@&&&&%(((#%%%%&%%%&&&&&@@@@@@@@@@@@@@%(((
*//(###(*,,,,,...,,,,,,,,**(*/#&&&%%####(###%#%%%%#%%#%#%&(#%%#////%%%%%%(###(%%&&%%%&&&&&&%%&%&%%@&@%@%@@@&@@@@@&&@@@&&%/##((##%%%%%&&&&&&@@@@@@@@@@@@@@##
%%%%############################################################%%@&&&&&&&&&&&(%########################((((((#(((((((((((((((((((((((((((((((((((((((((((((((/
#%%%###########################################################%&&&&&&&%%%&%&&%(%#############(########((((((((((((((((((((((((((((((((((((((((((((((((((((((/*
##############################################################%&&&&&&&&&&&(%&%&%(%###############(#(#(((((((((((((((((((((((((((((((((((((((((((((((((((((((//*
##############################################################&&&&&&&&&&%%%%%%%&%################(((##((((((((((((((((((((((((((((((((((((((((((((((((((((///**
#############################################################%&&&&&&&&&&@&&%(#%&%#############((#(#(((((((((((((((((((((((((((((((((((((((((((((((((((((///////
#############################################################%&&&&&&&&&&@@%(%*%&&(##########((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(((//////
%%##########################################################%%&&&&&&&&&&&&&(#/#%%(########((#(((((((((((((((((((((((((((((((((((((((((((((((((((((/////////////
%%%########%################################################&&&&&&&&&&%&&/(%%#%#######((((((((((((((((((((((((((((((((((((((((((((((((((((((((/////////////
%%#%%%%%%##################################################%%&&&&&&&&&&&&&%*%#(%##%########((((((((((((((((((((((((((((((((((((((((((((((((((((((////////////*,
###########################################################%&&&&&&&&&&&&&&&&/(/%%%######((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///////////.,
%%##%%#####################################################%&&&&&&&&&%&&&&%%*#%%(####(((((((((((((((((((((((((((((((((((((((((((((((((((//////////////////***
##########################################################%%&&&&&&&&&&%&&&&(/#%#&%(#(((((((((((((((((((((((((((((((((((((((((((((((((((///////////////////////*
#%%%######################################################%&&&&&&&&&&&&&&&&%%/%%(#((((((((((((((((((((((((((((((((((///((((((((((((((///////////////////////,
#%%%#####################################################%%&&&&&&&&&%%&&@&%(%%/#%#(((((((((((((((((((((((((((((((((/////((((/((((((///*******..***//////////*
#########################################################%&&%&%%&&&&&&&&%%&((/%%%#(((((((((((((((((((//((/(((((////////(((((((((/////*. .... .,,**** *****
########################################################%%&&&&&&&&&&&&&&&&/%*(#%%#(((((((((((((((((///////*,.*/(///((((((((((((((/,,. ... ,..,, .*****
########################################################%&&%%%&&&&&&&&&&&&/#*##&%((((((((((((((((((((,,*... ./////////((((((((//. . .**,,**
#######################################################%%&&&%&&&&&&&&&&&&&/**##%%(#(((((((((((((((/** .. . . *.*((((((((/,,.. ...,**
#######################################################%&&&&&&&&&&&&&&&&&&/&/#(%####(((((((((((/,*,. .,. ..,//(((((/**. .. ,,**
#######################################################%&&&%&&&&&&&&&&&&&&&(/&(((%&(###(((((((((((/**.,,...,,,. .,,*/((((((//.. .,,...,,*
######################################################%&&&&%%&&%&&&&&&&&@@@%*/#*####(((((((((((((/*,,//*,.*/*, ..*,//(/*////* . ,,*,,*,..,
######################################################%&&&%&&&&&&&&&&&&&&&@%//(#&%(#((((((((((/////*/**,..///. .....,*//(////. . . .*****,..,*
#####################################################%%&%&%&&&&&&&&&&&&&&&&%/*##&%(##((((((((((((/////*,..*//*...,,**,,//((///,. .,. .,*****,....
#####################################################%&&&&&&&&%&&&&&&&&&&&&%//%**#%%((((((((((((((((///*****////*,,**,,*/////***,,,..,,,. ..,*****,, ..
####################################################%%&%%%&&&&%&&&&&&&&&&%&&(#(*((%%(#(((((((((((((((((((((/////**//*,*/***/***/*******.........,,********,.,,,
####################################################%&&&%&&&&&%&&&&&&&&&&&&&(##**#%%##(((((((((((((((((((((((((/////////*,**/////////**,,,,,,,*****************
###################################################%&&&%%&&&%&%&&&&&&&&&&&&%(##,,(#%##(((((((((((((((((((((((((/////////*,*/////////***************************
###################################################%&&&&&&&&&&%&&&&&%%%&@@&&(/*,/##%%(((((((((((((((((((((((((((//////////*/////////***************************
##################################################%&&&&&&&&%&&&&&&%%&&%&&%%(/*(/#%%(((((((((((((((((((((((((((////////////////////////****/******************
##################################################%&&&%&&&&%&&&%&&%%&&&&&&&/%*/(/%#((((((((((((((((((((((((((((//////////////////////////////////**////******
##################################################%&&&%&&&&&&&&%&&%&&%%%&&&/%//###%/#((((((((((((((((((((((((((((//////////////////////////////////////******
#################################################%&&&&&&&%&&&&&&&&%%&&&&&&&*/(/#/(%(#((((((((((((((((((((((((((((//////////////////////////////////////******
#################################################%&&&&&&&&&&&&&&&&&&&&&&&&&/##/,(###(((((((((((((((((((((((((((////////////////////////////////////////******
#############################################(((&&&&%&&&%&&&&&&&&&&%&&%%&&&/*//(%%(((((((((((((((((((((((((((////////////////////////////////////////******
#############################################((#&&&&%%&&%&&&&&%&&&%%&&&&&&&%#/&%,**#%#/((((((((((/(((//////((((((((//////////////////////////////////////******
############################################(((%&&&%&&&&%&&&&%&&&&&&&&&&&&&&%/*%***(#%/((((((((///////////////////////////////////////////////////////////*****
############################################(((%&&&&&&&&%&&&%%&&&&&&&&%&&&&&%/*(**,##%(((((((//////////////////////////////////////////////////////////********
############################################((#&&&%&&&&&%&&%%%&&&&&&&&%&&&&&%(%#**#/(%#((((/////////////////////////////////////////////////////////***********
############################################(#&&&&%&&&%&&&&&&%&&&&&&&&&&&&&&%(##**((#%%#(((((//////////////////////////////////////////////////////************
############################################(#&&&%&&&&&&&&%&&&&&&&&&&%%&&&&&%(##*(*/(%%#(((((////////////////////////////////////////////////////**************
#############################################%&&&&&&&&&&&&&&&&&&&&&&%%%&&&&&%(**/(.(##%#((((((///////////////////////////////////////////////////**************
##########################################((#&&&%&&&&&&&&&&&&%&&&&&&&&&%&&&&/*//(*/#%(((((((//////////////////////////////////////////////////***************
##########################################((%&&&&&&&&&&%&&&&&&&&&&&&&&&&@&&&&(/%(*/,*((((((((////////////////////////////////////////////////****************
#######################################((((#&&&&&&&&&&&%&&&&&&&&&&&&&&&%&&&&*%#***//%((((((((((/////////////////////////////////****///*///******************
####################################((((((((%&&&&&&&&&&%&&&%%%&&&&&&&&&&%&&%%#/%%**,(/((((((((((/////////////////////////////*//*******************************
###################################(((((((((((&&&&&&&&&%&&&%%%&&&%&&&&&&&&&%%%(*%*///(((((((((((((//////////////////////////////*******************************
################################((((((((((((((&&&&&&&&%&&&&&&%&&&&&&&&&&&&&&/*#*/#**((((((((((((/////////////////////////////********************************
###############################(((((((((((((((%&&&&&&&&%&&&&%&&&&&&%&%%&&&&&/&%*/#//(((((((((/(//////////////////////////////**********,*********************
##############################((((((((((((((((&&&&&&&&&&&&&&&&&&&&&%&&%&&&&&/,/,//#////(////((///////////////////////////////******************************
#############################(((((((((((((((((&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&%/*/.(/(/////////////////////////////////////////*******************************
############################(((((((((((((((((%&&&&&&&&%&&&&&%&&&&&&&&&&&&&&&%#(*(*((*,#//////////////////////////////////////////******************************
##########################(((((((((((((((((((&&&&&&&%&%&&&%&%&&&&&&%%%&&&&&&/,////*#*////////////////////////////////////////////****************************
#######################(((((((((((((((((((((%&&&&&&&&%%&&&&&&&%&&&&%&&&%&&&&&%(%*(/*/**//////////////////////////////////////////////**************************
#######################((((((((((((((((((((((&&&&&&&&&%&&&&%%&&&&&&&&%%&&&&&&%(#%(*/.,/*//////////////////////////////////////////////////*********************
####################((((((((((((((((((((((((&&&&&&&&&&&&&&%&%&&&&&&&&&&%&&&&//%#***(*(//////////////////////////////////////////////////*********************
###################(((((((((((((((((((((((((&&&&%&&&&&%&&&%&%&&&&&&&&%&&&&&&&%(#%#*/#/*//////////////*/////////////////////////////////************************
##################((((((((((((((((((((((((((%&&&&&&&&&%&&%&&&&&&&&&&&&&&&&&&&%(/*%*/#//,*///*/*//////*/////////////////////////////////************************
##################((((((((((((((((((((((((((&&&&&&&&&&&&&&&&&%&&&&&&&%%&&&&&&%((*/*/#/.,*////***/////////////////////////////////////**************************
################((((((((((((((((((((((((((((&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/#((,/*//**//////////////////////////////////////*//******/********************
################((((((((((((((((((((((((((((&&&&&&&%&%&&&&&&&&&&&&&&&&&&&&%%&/&(/(./(/////////////////////////////////////*******//**************************
###############((((((((((((((((((((((((((((#&&&%&%&&&%&&&&&&&&&&&&&&&&&&&&&&&&(/&(//(*(,////////////////////////////////////////*******************************
###########((##((((((((((((((((((((((((((((%&&&&&&&&&%&@&&@&&&&&&&&&@&&&&&&&&&(/(*/**#////////////////////////////////////////*******************************
##(((#######(((((((((((((((((((((((((((((((&&&&&&&%&&&&&&&@&&&&&&&&&&&&&&&&&&%(/#/*/*////////////////////////////////////////*************/******************
(((((((((((((((((((((((((((((((((((((((((((&&&&&&%%&&&&&&&@%&&&&&&&&&&&&&&&&&//,%*/#**(//////////////////////////////////*****************/,*****************
((((((((((((((((((((((((((((((((((((((((((#&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%/**%,(,(*////////////////////////////////////***************#%##/ ,*************
((((((((((((((((((((((((((((((((((((((((((%&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&/(*%,/#//////////////////////////////////////**************/####(. ,************
((((((((((((((((((((((((((((((((((((((((((%&&&%&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&/(%#*/%(*//////////////////////////////////////************(####((((//**********
((((((((((((((((((((((((((((((((((((((((((&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&%/(%#,/##(,////////////////////////////*/////**************/##(%(%%(/*,**********
((((((((((((((((((((((((((((((((((((((((((&&&&&&&&&&&&&@&&&&&&&&&&&&@&&&&&&&&(/*///#(///////////////////////////*****//***************//##%#%#((***********
((((((((((((((((((((((((((((((((((((((((((&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&%%%%%%%#*&(*///#//////////////////////////////*********************(####%###(#(/*******
(((((((((((((((((((((((((((((((((((((((((%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%/.,(/*/,(///////////////////////////////******************##((((#%%%(#//**(*//(
(((((((((((((((((((((((((((((((((((((((//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/#%&&(,/,**//////////////////////////**********************(((%%%(%%%#(#(%&&&&&&
(((((((((((((((((((((((((((((((((((((((((&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*/%(#////////////////////////////************,************(%%%%%%%%%&&&&&%%&&%
(((((((((((((((((((((((((((((((((((((((((&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&@&&&&%(/,*%/%//((////////////////////*****************************(%%%%%&%%%%%%%%%%&
(((((((((((((((((((((((((((((((((///////#&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&%%&&&%#&%%,((/(,////////////////*/******************************/%%#%%%%##%%%#%%%#%&%
(((((((((((((((((((((((((((((((((///////%&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&%%&&%%#&%%//#/**/////////***////********************************%%%%%%%%%%%%&%%%%%%&&
(((((((((((((((((((((((((((((((/////////&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&%#/%(**#/(///////////***************************************%#&%%%%%%%%%%%%%%%%%
(((((((((((((((((((((((((((/////////////&&&&&&&&&&&&&&&&&&&&&&@&&&&&@&&&&&&&&&&%*&%#*/(/%(/#////////***************************************/%%%%#&&%#%&&%%&&%#%
((((((((((((((((((((((/////////////////(&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&@&&&&%#/#(///(/(%(////////**************************************#%&%##%&&%#&&%#%&&%#
((((((((((((((((((((///////////#(#%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&%(&///(#///%#///////****************************************#%%&&&%%&&&&&&&&&&&
(((((((((((((((((/////////////&%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&&%#//(%(/***********************************************%%%#%#%%%#%%%#%&&%
(((((((((((((((((////////////#%##%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&(//%&%%(//(%(/***********************************************%%##%%&%%%%%#%%&
%%&&%((((((((((//////////////&%((((((##&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&@@@@@&&%#/*#*#(#/(%#/***********************************************%%%%###&&%#%&&
&&&&%##(((//////////////////%&%(#####(#&&&&&&&&&&&&&&&&&&&&&@&&&&&&@@&&&&@&&@@&%#(&&%#/%#/*##*************************************************(####%%%%%%&%&%%&
%%%%%%%%%%./////////////////#(#######&&&&&&&&&&&&&&&&&&&@@&&&&&&&&@&&&&@&&&&&&&&%&%#/%((###*********************************************/&&&&%%%#%%&&%%%&&%#%
(%&&&&%%,.////////////////#%(#%##%##%&&&&&&&&&&&&&&&&&&@@&&&&&&&&&@&&&&@&&&&&%##&&&%/###(%%/*****************************************/%/%&&&&%%%%%%%&&%%&&%#%
&&&&%%%%%,/ *///////////////%%(#######&&&&&&&&&&&&&&&&&&@&&&@@&&&&&&@&&&&@@&@@&&%##&%%//%#/#%/************************************(###%&&&&&&&&%%&%%%%%%%%%%%%%
&&&%#*&%%/.,,///////////////&%(#####%#&&&&&&&&&&&&&&&&&@&&&@@@&&&&&&@&&&&@&&&@&(%&&&/#%(((%/***********************************/#%%#%&&&&&&&&&%%%#%%%%%%%&&&%
&&&%(*/%((/*///////////////(%########%&&&&&&&&&&&&&&&&@&&&&@@&&&&&&&@&&&&@&&&&&((&%%*#(##(%(******************(#%(#(*****/*****#%%&&%&&&&&&&&&%##%#%%%%%%%&&%
&&&(*(*%%#(.///////////////%%(##%####&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&@&&&&&&&@&%&&&/#*%(/%(***************/((**%**/*****/(/**#%&%&&%&&&&&&&&&&%%%%%%%&&%%&&&
&&(/(*(((*/////////////##%%###%%%##%&%&&&&&&&&&&&&&&&@&&&&@&&&&&&&&&&&&&&&&&&%#(/(%%*%(%((%#***********/(*******(//(*/****(***(%&&&&%%&&&&&&&&&%&&%#%%%&%%%&&
&&%%#/(,(#(////////////////%%(##%##%#&&&%&%&&&&&&&&&@@&&&&@&&&&&&&&&&&&&&&&&&&&&%(/%(%#(##%%********(********/***%(**/*#**(***##%&%%%%&&&&&&&&&&%%&%%%%&&%%&&
%%%%*(*/ (,///////////////(%######%#%&&&&&&%&&&&&&&&&&&@&&&&@&&&&&&&&&&&&&&&&%%%%##(/%(#%*%#%%,***/****************%*****(%###%%%%#%%&%%&&&&&&&&&&%&&%%%%&&&%%&
%%%#(*/(/.*///////////////%%(##%&%%%%&&&&&&%&&&&&&@&&&&@&&&&&&&&&&&&&&&&&&&&&&&%##((/((/(%##(%(********************((****#%%%%%%%%%%&&%%%&&&&&&&&&&%%%&%%%%&%%%
%&%*//*((*////////////*///%%(##&&%#&&&&&&&&&&&&&@@&&&&&&&&&&&&&&&@@&&&&@@@@@@(#&&%%/#%/##(/*********************%**,*#%%%&%&&&&&%%%%%&&&&&&&&&&%&&%%%%%%%%%
%%%/,/,(//////////////***%%####&&%%&&&&&&&&(&&&&&&&&&&&&&&&&&&&&&&@@@&&&&@&&&@@(/%&%#/(#/%#%&******************,,*%*,,,(%%%%&%%%%%&%%%&%&&&&&&&&&&%##%%%%#&%%
&%*/(,(/(*//////********/%%####%&%%&&&&&&&&(&&&@&&&&&&&&&&&&&&&&&&&@@&&&&&&&&@&&&&%%&%%(*((/#%&(**************,,,,,,((,,,*%%%&&%%%&&&%&&%%&&&&&&&&&&%&&&%%%%#&%
%%/,/*/(,*/*************(%&%%&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&@@&&&&&@@@&&&&&&&&&&&%((&&&%((/#(%&%#**************,,,,,,*%,,,%%%%&%%%#%&&%&&%%&&&&&&&&&&&%%%%%%%&&&
/(*//(/***************%%%%&&&&&&%%%%###%&&&&&&&&@&&&&&&@@@@&&&&&&@@&&&&&&&&&@&%(((&%%(#*((#%#%#/*******,,,,,,,,,,,,%*,,,%##%#%%#%%%%&&&%%&&&&&&&&&&%&&%%%&&&&
%(****(/****************%%%%&&&&&&%%%#%##&&&&&&&&&&&&&&&&&&@@&&&&&&@@&&&&&&&&&@&&%%%&%%*%(/##%#&(****,,,,,,,,,,,,,,,,((,,,(##%%%%%%%&&&&%&%&&&&&&&&&@@&&&%%%&&&
%///*(//****************%&&&&&&&###&&&&&&&&&&&&&&@@&&@@@@&&&&&&&@&&&&&&&&&@&%##%&%%/%%*((%(#,,,,,,*,,,,,,,,,,,,,,*%,,,*#%%%##%%%%%%%&%%%&&&&&&&&@@&%&&%%%&&
%/,///#****************(&&&&&&&&&%%%%&&&%&&&&&&&&&&&@&&&&@&&&&&&&&@&&&&&&&&&&&%#(/&%#*&%(/#(#(#*,,,,,,,,,. ,,,,,,,%,,,(%%%##%%#%%%%&&&%%&&&&&&&&@&&&&%%&&&&
///,((/****************#&&&&&&&&&%#%&&%%%&&&&&&&&&@&&&@&&&&@@&&&&&&&@&&&&&&&&&@&(/((&%%(#(#*##%(%/...,.,,,,,..,,*,*((#%/*%##%%%%#%%#%&&%&&%%&&&%&&@@&&&%%%%%%%%
**/(/((****************%&&&&&&&&&&%%##%&&&%&&&&&@@&&&&@&&&&@&&&&&&&&&&&&&&&&&&%##(/**((/####(#%&,,,,,,,,,,,,,##%#####%#%##%%%#%#(#%#%%&&&%%&&%@@&@&&&&%%%%&%&
(/*/(/**************//(&&&&&&&&&&%%&%&&&&&&&&&&&@&&&&&&&&&&&@@@&&&&&&&&&&&&&&&%###&%#((#%%&%#,,,,,,,, .##%%%%%%%%&&%%%%%##%%(%#%&&&%%&&%&&@&&&&&&%&&%&%
*(/((#%#((//***********&&&&&&&&&%%&&&&%&&&&&&&&&&&@&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%((&%# ,,,......,##%#%%%#&%&&%%%%%%#((%##%&%%%%&&&&%&&&&&&&&&&%&&
(*/((,#*///***********(&&&&&&&&%%%&&&&%&&&&&&&&&&&@&@&@&&&&&&&&&&&&&&&&&&&&&&&&&%%(/#&%##///,,...... ..,#%%%#%%#%%%&&&%%%%#######%%&&&&&&&&&&&&&&&&&%&&&&
/**/(/(///**//********%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(/**,,/&%%#(#%(,,,,,,.,,/%%#%%%%%%%%((&%%%%%%%%%%%%%%&&&%&&@@&&&&&&&&&%%%&
,*((*(////%/%%#*******&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%#*.*#&%%%#%&,,,,,,,,,,#%%%%%%%%%&%%%%%%%%%%&%%%%&&%&%%&&&&&&&&&&&&%%%&%
///((#/**(#%#*******&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&@@@&&&&&@&&&&&&&&%&&&&%*,%###&&&,.. .,,,,.#%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&@&%&&%%
@@&&&&%%%##&&%%/%%%%%%%%%%%%%&&%%%%%%%%&&&%%%%%&&%#(#, .*#((##*(,*.** ./**##%##(/*,* * .. . .,###((** .,. ,.//,**,(**////(//(#######%#%%##(//#%%###
&@@@&%%&&&*#//(%%%%%&%%%###%&&&&&&&&&&&&&%%#,.#(#/// ..,#(,/.. ,((,*#(####*(./*#,/* ,, ((#((.*, #/((/*,*/.***#///###(((((##(####%%####(#####%
%&@&&%%&&/%#&(%%&%,(%&%*&&&%%%&&&&&%(#*#(%%&&%%%//#%%%%(#(*..(/#/, //*##/#*..///*(((/ .., ,/(#%######/(*(*(.(*.***/#((,#*//#(((##(/(/#%#(##/#%###%%
%#%&@&&&&&&%(%/%&&&&%%((.,&&&&&&&&&%%##%%# %%%%&&%(%%(/,/%( #*/,*#/*,/####, ,(#%###(##(*#####((*/(//((/((***((((#(##(##%###%%%##%%#(
%&&%&&&&&%&&&&%/&&&%%...%(#&&&(%&%&&%#(/#%#%/ #((%%(%,/. (.(#(*,,/# .,(. . ./######(**(#%%%%#(* /(/##((#/((#(((((/(##((%#/(#%%#%#(%
&&&&&&&&&&&&%%#/,(,&*(%%#(&@&&%&&&&&%%%*%#/#%/* .*(#%%%&/* (##*((,(*, * , ,/(/*(/,/###%%(/,*(/*(#(%(,/*(%#/(##(((((###%####(#%####%/###(/
&%&&&&&&@&&%#%%%&&%%%((*&%/#/%((/%&@&&&&(%%%%##(*,( . %##(%%%%%.((.###,##** //, .,,**.*,((/#(,*/##(*/*,(*((((/(*/(/(/*((//(#%#.(#(#/##*(///#%(#(/(/*#(
&&&&&&&&&@@&&%%&&&%&%(*,(%#%####@&%%%%%%&(*/**(./ *, /*(%.%,/% /*.#.. .(*.(. ,**//(#(((#///##//////((###((/(/(((////##/###..,#((#(%#######((//((/
&&%&&&&@&&&@@&&&&&&%(,&%/,(&&&%%%%@@&%%%%&&&%(%#%(#(#(/%,####%#%% .,*,*, . * ,*,/*(/(//,(((###%%#/../#%#%###%#///(/(***/((//(/./*/(####(%%##(#,#(##(#
%&&&&&&@&%&@@&&&%%&&&@((%&%&%%&&@&&%%%%%#(##((%*%((#%#(#(%#(%#.% ... , ,. . //, .*/(((#((,,#%(#( //#(%%%%#%###%###*//(/#(#/..##,(*%%###/*#*,*##*%##
%&&&&%&@&&&%%&&&&&&&&((%&&&&%%%&&@&%%%(,.(*%(/((%#%%(##%#.*%#%(/##/*/,/. .**. * ,.***/(/(####(((#(#*,#((((*#%%%%%%(/(*/(**/((((##*#((##%%%%#(%*,,((**#%#
&&&%&&&@@&%%%&&&&&&&&&&%#%##&%%##&@@&%##(,#(##(&%#&&&%%%*#/#/,/..,./ *./*#/(/,(##(*./********(///((#((/#((##(/(%%%%%%(%#(########%#(#//#/(##%%%##%(### . ((#
&&&%&&&&@&&&%&&&&&&&&%%%######%&&@@@&%%%#(#%% ,%&&&%%%%%%%#,*(.* ./#%.* #%###%%##(.,////////***//(((####((((#(#(#%#%%#%%#%#%%%#%(#/. ,(*.((%%#%((%%#((// */#
&&&&&&%&&@&%&&&@@&&&&&&%#%#%%%%%%%@@&&%%(%(###* %#&%/,*%%&%(((#* . .%%%%#%%%%&%#,#%####(*((((((/###((%#((((*####/#%%%%#%%%%%%%%%#/. ,.(##((((%(##(##(%((/(##
&&&&&&%%#@@&&&&@&&&@&&@@@&%%%%%#%&@@@%&%%%##((,(//##(%,#%*%##*#%#%(##/%%%#%%###%%&%%%%%##%###(####(/(/(/%#((*((/(##%%%%%%%(##%%%##(((* /(/((((//(#((##((####((
&&&&&&&&&&&&&%@@@@&@@@@@@@@@&&&&%#@@@%&&%##%#####%%#%(/%%%(.#/,(/(%%%/(#%%&%&&%%%%%%%%%%%%%(###(#(((((((* *(*/#(##%%%%%##((#%%%%&(%,//#//////(//#/(#(#/###//(##
&&&&&&&&&&&&&@@@@@%##&@@@@@@@@&&&&@@@%%&%%####%#%###(/ *.*,*#,%##%%%%##%#%%%%%#%%&%%&&%%%%%%#####%/ *,(%#(((/,*(#(((#%#%%#%%(%%/##&%%/*((%*(#####%%%(/%%%/(////
&&&&&&&&&&&&&&&@@@&%&&@@@@@@@@@&&&@@@&&%%%#&%%%&%%%#/#%%%&*.*(%#%%%%%%%%%%%%%&&%%&&&%%#&&&&%%#%%####//, (##((((##(#((#%%%#(.(#((((///(/(///*/(///%//((*/(#(//#
&&&&&&&&@@&@@&@@@@@@&%&&%&@@@@@@&&@@&&&&&%%%%&&%#%&%##%#%/,#(%%%#%&%%%%%%%&%&&%&%&%&&&%%%%%%%%%%#%####,((,#%#((##%###%%%&%#%(#%/*#(#*%%((##((/(##//////(/((#((#
@&@&&&&&&&&&&&&@@@&&&&&&&&&@@@@&&@@@&&%&&&&&%%&&%&&%%%%%%((,%,%%#%%&&%%%%%%&%&%%%%&%%%%%&%%&%%%%%##%%#((##(%%#(%#/(##((((*####%####/%%%####%###%%##((((((((####
&&@&&&@&&&&&&%%%#%%%&&&%@@@@&@@@@&&&&&&&&%&&&&&&&(.*,#(%,*%(%%&%&&%&##%%%%&&%%%%%%%%%%%#%%#%####(%%((##(##%#/(##(#%#%##(##%%%##%#((%(#%%%%%####%%%#
&@&&@&&&&&&&&&%&%%#%%%&%%%&%%&&&&@@&&&&&&&&&%%&&%#&%%#(#//.. *//%%#(/(%%%%%%%%%%%%%%%&%%&%%%&%%%%##%%#((#((##%###(#####/#%#%#%%%#%%%%#%%%%%#(%%%###((%#
&&&&&&&&@&%%&&&&%%%%#%%%&&&&&&@@@@&&&&&&&&&%&&&&%%%&%%%&%%%#%%%(. #%%#%%%####%&%&%%%&%%%%&&&&&%%&%%%%%%%#####(/%%%####%##((##%(/#%%#%%%#%%%%%%#%%#%&%##%%&%%&%%
&&&@&&&&&&&&&&%%%%(#%&&&&&&@@@@@@&&&&&&&&&&&&&%%%%%&%%&%%%%%%%%//#%/%%%&%#%%%&%&&&%&&&&%#&%&&&&%&%%%%%%%%%#%#%%%%####%####((%%&&&%(((#((%%%%#%%#%%&((%%&%%&&&
@&&&&&@&&&&&%&&&&%%&&&@@@@@@@@&&@&&@%@&&%&&&&((((%%%&&%%%%%%%%%(((//(%%%###(%%&%#%&&&&&&%%&&&%%%%%&&&%&%%%%%(%&%(#(#%((%#((%%%#%%%%%/%%%%##%##&%#*%%%%%%%%%&%&&
&@@&&&%%%&&&&%%@&@@@@@@@@@@@&&@@&&%%#%@@%(%&&&&&%%&&%%%%&&%&%##%#%#&%%%###%&%%&&&&%%%%%%%#%&&&&&%&%&&%&&&%%%%%%%#(/(%%%%%#%(/%(/&*//%%, *(((#%%*#&%/%%&%%&%
&&@%%&%&&%#%&&&&@&@@@@&@@@&%&%&&%%&&%%%&%%(%%&%//&%%#%%####%#&&%&&%#(%%%%&%%%%&%&%%&%&%%&&&%%%&&%#%%%%%#*((##(%%%%%#%&%*%#((&(#((/####(((#%#&(/##%%/(#(
&%@%&%&%%%%&&@@&@&&@@@@@@%&%&&%%#&&&&&&%&&&&&&&%&&&&&%(##%%%#(((##&%%%&%%%(/(#(%%&&%%%%%%&&&%%%%#%%%#%((//(/,(.,*%%#%%%%%(((####(((##*((/%%%&&%%%(.,#
&&&%%&&&&&&@@@@@&@@%%%#&&%%###(#&&&&&&&&&%(%%&%###(((###%##%#%&%%%&%&%%%%%&&&&&&&%#&&&%%######%%#(((#/..**,/%%#/%#&/(#((/(%#%#%&%%&%.,,//#&%%&%(**,
&&&&&&%@&&&@@@@@@@@@%%&%#%%##%###%&&&&&&%#/#(&%&%%%%%%%##/(%####%%&%%&%&%%%(%%%%&%%%%%&&&%&%&&%#%%#(((/##((%%%(*,(####%#%** *##%#%&(%%*,(,%&&&%###%%%%&&%%%%%%#
@@@@&&&&&&@&&@@@@@@&&&&&%%%##%%#%#%%%%%%//###%#%(&&%###%#####%%%&%&&&%%##%&&&%%%%%%&&&&&&%%(##((*(###%##.**.*(%#((###,/#/#%#/(&%%&&%.#(%##,#%%#&%%&&%%&%%
%&@@&%%&&&&@@@@@@@&%%&&&%&%#%%%%%##%%%%%&%%((%#/((###%%#%%%##%%%%#%&###&%%%%%#&%#&%&%#%########%%%# . /((###%#(/(%,&&&&&* ,*(%%*%%#&&%&&%#%%%
&&&&@@&&@@&&@@@@@@&&&&&&%#(##%%%%#%&&&&%%%&&&&%%%%%%#%%%%%%&%%%%%%#%%#%%%%%%%%#%%#%#(*//((#(#*((%*.((#*((#*#(#%%&%%(,,%&&&(#/&/ ...(.**(%%&&&%(//
&&&&&&@@@@@@@@@%&&&%##%&&&&%##(#(#&&&&@&%#%#&%&%((/%%&&&&&%%%%#%%%%%%%%%%%%%%%%%%&%%%#%%#%((/(///#((##/*,., ,,,*,,((/%%%%%#/(&&&%&&%* .****(.,,(#//%%(/%%(/
&&&&&&&@@@@@@@%%&&%%%###%%&&&&&&%%%%@&&&&&&&%%%%%#%&&&%%%&%%%&&&&&&&%%%%%##%(#%##%#%#%##/(###*/%%#(*//,/#.*((** ../%/#,#*%&&%&(#/ ,//*/*/,..,(/((%%&&%%%%
&&&&&&&&@@@@@@&&&%&@%&&&&&&&&&%&&&%%%%&&&&%&%%%%&%%%%#%#&&%%%%%%#%%%&&&%&%%%%%%%&%%#(######/(#%&%&%%%(#%(*/(%%###*,.*/./(**/%%%%(/(**///(((///,,**(*((/#%%%#%
&&&&&&&@@@@@@@%&&&&%%&&%&&&&&&&&&&&&&@&&%&&&&%%%%%%%#%&%&&&&&%%%&&%%&&%&&&%&%%%%#%%%&%%#%#%%%&%%%%%%#(%###%%%(%&%&%%%#(#%#%#%%(///((#(&%((/*//(/(/(#%%%&&
%&&&&&&&@@@@@@&&&&&&&&&&&&&&&&&&%&%%%%%&&&&&&&&&&&@@&%&@@&&&&&&&&&&&%&%&%&&&&&&&&%%(%#(&%%%&&%&%&%&(%%%%&(%%%(%%%%#%%%%%%%###(#((#%#%((###(///(%#%%&%%##%
&&&&&&@@@@@@@@&&&%%%&&&&&&&&&&&&&&%%%%&(&&%%&&@@@@@&&&&&&&@@&&&%&%&&&&&%&&&&&&%&&&&&(%##&&&%%%&%%&&&(#(#/%&%%%%%#(%(#(#%&&%&%%&%%#######(//#%%%%(//(%&&&&%%&&
&&&%&&&%@@@@@@@&&&&&&&%&@&&&&@&%&&&&%%%&@@@%&&&&&%@@&&&@&&&%&@@&&&&%&%&%&%%&&%%%%%&%%(%&&%%%##%%&&%&&%%%%%%(##%&&%&&&%%%%&%%##(((%###(%#&%&&&%%&%&%&&
%&&%&%&&@@@@@@@@&&&&&@&&&&&&&&&&&&&&&&&@@@@&&&&&&&&&&&@@&&&&&&&&&&@&&&&%#%&&%%&&&%%#%%(%%&%%%%%&&%&&&&%&%%&&&&%&&&&&&&&%%%%%%&%%#%###(#%%%#&&&%%&%#//(&&%
%%&&&&%@@@@@@@&&&&@&&&&&&&&&&&&&@@@@@@&%&&&&&&%&&&&&&@@&@&&&&&&&&&@&&&&&&%&&&%##%%#%&&%%%%&@@&%&%%%&%&%%%&&%%&%&%##((//%%&&&%&&%&%#%%%%(%%%%&&&&&/#%&&&&&%#
&&&%&%&@&@@@@@@@&%%&&@@@@@@@@@@@&@@@@@@&&&&&&&@@&&&&&&&&@@&&&&@&@&&&&&&&&&@@@%%%%%%%&&&%%%%&&&&&&%&&%%%%&&%%%&%#%%%#%%%%#((%&&%%&%&&&%%%%###%%&&&&%&##(
&&&&@@@@&@@@@@&@@@@@@@@&&@@@@@&&&&&@&&&&&&&&&(&&&&@@@@@@&&&&&@&&&&&%%&&@@&%#&&&&&%%&&&&@&@&&&%&&&&&%&%%&&(#%&%##(%##%/(##%&&%###%%#%##%&%#&&&&&&&%(%#%%
&%((%%&%&&@@@@&@@&@@@@&&&&&@@&@@@@&&@@@@&%&%&&@&&&&&@@&&&@&&@@@&&&@&&&@&&@&%%&&&@&&%&%&@@&@@&@&&&@%%%&%&%&&%##(%%#%%&&%%%%#%%%#%(#%%&%%&&%%&%&&&&%&&%%%%%%%
##/(#&&&%&@@@@@@@@@&%%%&@&%%%&@@@%%%&@@@@@@&&&&&&%&%&&&&&&&@&@@&@@@&&&@&&&&&&%%&&&&&@&&&&&@@@&%%&&&%%%%%%%&%%%%&&&%###&&&#((%%%%%%&&%###%&%%&&&&&&%%##%%%
%##(###&&@@@@@@&@@@@@&&&&&&&&&@@@@@&&&&&%%%@&&&&%&@@@@&&&@&&&&@@@@&&&&&&@&@@&&&&&&%&@&&&@&&&@&&&&%%&&%&%%#&%&&&&&%#%&&&&&&&&%%&&&&&%%##%%###%#((%%%%%%%%%%%%#%%
%%%%%%%%&@&@&@@@@%@&&&@@@@@@@@@@&%&&&&@@@&&%&%@@@&&&&&@@&&&&@@@@@@@@&&&&@@@&@&&&&@&%&&&&&&&&&&&&&&%&&%&&&&%%&@@&&&&&&%&&&&&&&%%%%&%#%%%%%%#%((**#%%#%%%#%%%%%%#
&&(#/%&&&@@&@&@&%#&&&%%#%%&%&@@&&&&&%%%&&&%&%#@&&@&&@&&&&&&&&&&&@@@&%@&@&&&&&&&%&&&&&&&&&&&%%&%&&&&&%&&&&%&&&&&&&&&&&&&&&%##%%###%%#((%&%&%#%(##%%%(#%######(((
&&&%%&&&@&@&&@((#%%#%#((&&&&&@@@#%&%#%%%&&&/&&&&&&%&&&&(%&&&&&@&&&&&&&&&@&@&&&&&&&&%%%%%&%&&@&%&&%&&%%&%#%&&&(&&&/%&&&%#%%%%%%%%%%((#%%(*##%(/*#(/((##%%%##
%&&&&%@@@&@&&& .#/ #,.*/%#%%&%&&%#%&(&&&%%((&&&&@&@&&&&@&@&&@@@@&%#&@@&&&&@&&%&%&&&&&&&%#&%&&&&&&%%%#%%#&#&%&&&&&&&%%#%%&%&%/%%,#&%,%%%( ((#(##((/%
&&&@@&@@&&@@&%%%*%/&(&&%%%&,#&%%(&%&&&(&&&%&@&@@&&&&&&&&&&&@&&&@@&&&%%(&%&&@&%#%&%&&&&&&&&&&%%#%%%%(##/#&%%(%#%%%%%&&%#%%&%%%&&%%(**/####%%#(
%&@@@&&@&@&&&%#&%&&&&%%(#%%/,(&%%&&&&&&&%&&&&&&&&&&&&&&&&&/(#&%%%((#%%&&%%%%%%&&&&&&&&&&&&&&%%&&%%###&&&(&(%%,(%%,#(#%(/(&&(%%%/#%%%&%##&&&&&&%&%%##%((#/
%@@@@&@&&@&&&&%%(&/#%&&%%*./((#&&&&&&&&*,(&&&&&@@@&@%/(/&%&(*(&&&&%%%#%%&&(%%#%%&&&&&&@#%%%%&/&&@&%&/%%%/#(.%&%%&&&%%%&&&&&%#&&%%%&&&&&%&&&%&%&%%#(((
&&&@&&&&&@@@&&%&&&&&&&&%&,%&&%#%&&&&&&&&&@@&%&&%&%%&@&&&@@&@&&&&&&(&&&&&&&&&%&&&%%%&%&@&&&&&&%%%%%&&&&&&/&&//#./,#&&&%&&&@&&&&&%%&&%&%#&&&&&&&&&&&&&&&&%%%%(%
%%&&&&&%&@&&&&&&@&%&&&&#*/.*/((,%&&%(%&&@@&(#%&%%&&&%%&%%&&&@&&@&%%#%&&&&%%&&@&@@&@@@&%&&&&(%@@@&%,(*%&&&%&&&&&%%,(&&&&&%&&&&&&&&%&&&%%&%&%&%%%
&&%&&&&&&&&&&&&&@@%@&&&&(&// .#(%,#&&&%/%(%(((#%%%&&&&%&&(/%@@&@&&&&&&%%&&&&&&%&%&%&&&&&@&&&&&@&%@@@@@&&&&&&%&&&&&&&&&@&&%&&&&&%%&&&&&&&&&&@&@&&&&&&&&/
&&&%&&@&&%&&&&&/%&&&(##&&,,... ,# .&&%/,. ,.*(%&@%%&&%&&@&&&&@@@((#&%&(&%&&%&&%#%&%&&/@@&(&%&&&@&&@&%&&@@@@@@@&@&&&&&&&&&&(&%%%%#&@&&%##%#%&@@@&&&%%%%%
%%%&&&&&@&&&&&&@@@@@@@@@@@@@@&@@@@@&&&&&&%%&&(%%&@@&@&&%%@/&&@@@,*%#%(#%%&@&&*&&%&%&((#%&&%@&%&&&%&%/%&&&@@@@@@@@@&&&&&&&&&&&&&&&@&&@@&%%&&&@@@@&&&&&%&&&&&
&&&@@@@&&@&@@&&&&&&@@@@@@@@@&&@@%#@%%&&(&&&&%%%&%%&%&%&%#(##&&%&&%%#%&&@@@@&%%@@%###%%&*%@@&&&&%&@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@&&&@@@&@@@@@@@&&&&&&@@
&&&&@&@@&&@&&@&&&&&@&&&@&@&@&@@%%%%&&&%(&%&%%#&*#&&@@@@&@&%//(/#%(%&/&%&%#&&&&%%@@%%#%@&%&@@@@&@&&&@@@@@@@@&@@&@&&&&&&&&&&&%&&&%%%%#(#(%%&@&@@&@@@@@@@@@@&&&&
@&@@@@&@@&@@&&@@&@@&@&%/&&/&&%#&(&%&&%&%&&&&&/&&&&@&&&%&&&%%(%&(/#./##%&%##(#&%&&((%%&@@@@&&&@@&&@@@@@@&&@@@@&@&&&&&&&&&&&&&@&@&&%&&%&&@@@@&&@&@@@&&@@@@&&&
&&%#/*&@@&&@@&&@&&&&@%%&&@@%%#%&@@&&&%&&&&&&&@#@&&%%%&%#######%#%#(#*&(%%&&&%%%&&%&&@@@@%&@@@@@@@&&@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%&&
@@@@@@&&&&&&&&&&&&&&@@&&&&&&&%%%#%@%(((%(####%###%##(((###%%%%&(%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%############(######
&&&&&&&&&&&&&&@@&&&%%%%########%@@##(((#((#(#(####(((/////((##(#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%#####(##(#######(##((#(#####((#((((###############
&&%%%%&&&&&&&@&&&####%%%##(((%%##//*****//*/*////*/////////(((((//(((((((((((((((((((((((((((((((((((((((((((((((((((####(((#((((((#(((#(########((########
#######,&&&&&&&&&&&(/(///*/**/*//*//////////////////////(((///(((((((/(((((((((((((((((((((((((((((#((((((((#(#(#(##((((((((((((((#(##((#######################
(#((/#(/%&&&&&&&%&&%/*((*/**/*//(////////(((///(/((((/((((((((((((((((((((((((/################################################################(##########%##%#
********#&&&&&&&&&&&/(#((*#((((((((((#((((###((##(##########%%###%%##%%%%%%%%#%%%%##################%####%######################################%##############
/*//////%&&&&&&&&&&&%((((((((#############%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######%###%######%##############(########################%#%#%%%%
///((((/#&&&&&&&&&&&%#####(#%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%#%%%%#%########%%############%%%%%%%%%%%%%%%%%###%##%
(((#((###&&&&&&&&&&&&%%%%%%%%%&%%%%%%%%%&%&&&&&&&&&&&&&&&&%%&&&&&&&&&&&&&&&&&%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%#(/#%%%%%%%%%%%%##%%%%%%%%%%%%%%%
#######%%&&%&&&&&&&&&&%%&&&%&&%%&&&&&&%%%%&&&&&&&&&&&&&&&&%%%%##%#%&&&&&&&&&&&&&&&&&%%&&&&&&&&%&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%&&&&&&&&&&&&&%%%&&&&&&&&&&&%&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&%&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%#%%%%%%&&&&&&&&&&&%%%%%%%%&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&%&%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%
%%#%%%%%%%&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&%&&&%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%&&&%%&&@&&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&%&&&&&%&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%&&&&&&&&&&&&&&&@&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&%&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%&&&%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&&&&%&&&&&&&&&&&@&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#%&&&&&&&&&&%%&%%&&&%&%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&&&&&&&%&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&%&&&&%&%&&&&&&&&%&&&&&%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%
&%&&&%&&&&&&&&&&&&&&%&&&&&&&&&&&%%&%%%%%&&&&&&&&&&&%&&&%&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%&&%&&&&%%%%%%&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%
&&&&&&&&&&&&&&&&&&%&&&&&&%&&&%&&&&&&&&&%&&&&&&&&%%&%%%&%%&&&&&&&%&&&&&&&&&&&&&&&&%%%%%%%%&%&&%%%%%%%%%%%%%&&%&%&@@&%&%%&%%%%%%&%%%%%%&%%&%%%&%%&&%%&%%%&&%%&%%&
&%%&&%%&%&%&&&&&&&&&&&%&%&&&&&&%&%%%%%&&&&&&&%&&&%&&%&&&&&&&&&&&&&%&&&&&&&&%&&&&&&%%&&&&&%%&%%%%%%%%&&%%%%%%%%@&&%&%%%%%%&%%&%%%%%&&%&&%%%&%%%%#%&%%%&%%%&%%%
&%%%&&&&&&&&&%%%%%%%%%%%%%&%%&&%%%&&%%&%&&&&&&%%(#%&%&&&&&&&&&&&&&&&&&&&&%%&&&&&&&%&&&&&&&&&&&%%%%&&&%%%%&%%%%%&&@@%&%%&%%%&%%&%%%&%%&%%%&%%%%%%&%%&&%%&%%%&%%%
&%&%%%%%%%%%%%%%%%%%%%%%%&&%&%%%%%%&&&&&&&%&%&&&%&&&&&&%&&%&&%&%&&&&&%#%%%&&&&&%%&%%&%&&&%&&%%%%%%&%%%&%%%%&%%@@@%%%%%%%%&%%&&%%&%%&%%%&%%%%%%&%%%&%%&%%%&%%&
%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%&%&%%%%&%&%%&%&%%&%&%%%%%%%%%%&%%%%%&%%%%%%%&&%&&%&%&&&%%&&&&%%&%%%%%%%%%%%%%&&&@@@&&%%%&%%&%%%&%%/////(/((/((/(((////(/(((((
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%&%&%&&&&&&%%%%&&&%%%%%%%%%&%%%%%%%#%%%&&%%%%%%%%%%%%%&%%%%%%%&%%%&%%%%%%%%&&&@@@%&&&%&%%&&&&&%%&%(((/%#/////((((/////(///(
%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%&&%%&%&%%%&%%%%%%%%%&&%&%%%%%%%%%%%%%%%%%%%&&%%%%%&%%%%%%%%%&&&%%%%%&&&&&@@@&%&&%&%&&&&&&%%%%%%%##((((/////(////((/((//(
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%&%%&%%%%#%%%%%%%%%%%&%%%%%%%%%%%%%&&&%%%%%%&&&&%&&&&&&&&&&%&&&&&@@@&&&%%&%%&&&&&%%&&%%&&&&%%%&%%%%%%&&@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%&%%%%%&%&&%%%%&%%%%%%%%%%%%%%%%%&%&%%&&%%%&%&%&&%%%&@@&%%%%&&%&&&%&%&&%%&@@@&%&%%%(%%&%%&%%&&%%&&&&&%%%%%%&%%&&%%&%&&&&&
&%%%&%%%%%%%%%%&%%&%%%&%%%&%%&%%%&%%%&%%&%%&&%&&&%%&&&&&&%&&&&&&&&&&&&&&&&&&&&&&%&%&&%&%%%&@@@%%%%&&%&%&&&&&&&&&@@@&%&&%&%%%&%%%%%%&%#(#((((((((((##########%##
%%%%&%%%&%%&%%%&%%%%%%&%%&&%&&%%%&%%%%%%&&%%&%&&&%%%&%%&&%&&&%&&&&&&&&%&%&%&%#%#&%%%&%&&&&%&@@&%%&&&&&&&&%&&&&&&@@@@&&%%%&%%&%%&&%%&%#%&%##&%((((((((((((((#(##
&%%%&(#%%%%%%%%%%#&%%%&%#%%%%&%%%&%%%&%&&&&&&&%&&%&&&&&&&&%&%&&&%&%%%%%%%%%%&&((%#(#%%%&&%%&@@@%&&%&&&&&&&&&%&&&&@@@&&&&&&%%&%&%%&%##%#######(((((((#####(###
&%%%%%%&%%%%%%%&&&&%#%(%&%%&%%%&%&%&&&%%&&%%&%%%&&%%&%%&&&%%&%%%&%%%&%%%&&%%&%#&&&&&&%%&@@@%%&%%&&&&&&&&&&&&&@@@%&%%%&%%%%%&&&&&%%%%&@@&&&&&&&&%%&%%%&%%%&%
&&&&&&&&%&&&&&&&&%&&&&&&%%&%%&%&&&%%%&&%%%%%&%%%&%%%&%%%&%%&&%*,/#%%&%%%&&%%&%&&&&&%%&%%%&%&&@@&%&&%&%&%#&&&&&&&@@@@&&&%%&%%&%%%&%%&&&%&&&&&&%&&&%&&%&&%%&%%&&&
%%%%%%%&%%%&%%&%%%&%%&&%%%%%%&&&&&%&%%%&%&%%&%%%&%%%&%%%&%%%&%%%&%&&&&%%&%&&&%&&&%%%&&&%#&%%&@@@&&&&&&&&%&&&&&&&@@@@&&&%%&%%%&%%&&&%&%%%%&&%(((((####%%%&&&&&&&
&%%&%%&&%%%&%%&%%%&%%#&%%%%%#&&&&&&&&&%%%&&&&&%%&%%&&%%%&%%%&%%%&%&%&&&&&&%&%&%&%%&&%%%%%%%@&@&&&&&&&&%&&&&&&&&@@@&&&%%&&&(%%%%&%%&%#%&&&%%%#################
&%%&%%%&%&&&%%&%%%%%&%%%&%%&%%&&%%%&%%%&%&&%&%&%%%&&%%&%%%&%%%&%%%&%%%&&&&%#%&%&&&&&&%%&@@&%&%&&%&%&&&&&&&&@@@%%%&&&&&%&&&%%&%%%##&&%#################%
&&%&%%%&%%%&%%&%%%&%&%&&%&&%%&%%%&%%%%%%%&%%&%%%&%%%&%%%#(%&&%%%&&%%%%%%%&%%&&&&&&%&&&&&&&&&&%@@@&&%%&%&&&&&&&%%&@@@##%%((&&%%%&%%&%%%##&@&%%&%%&%%%%%%%%%###
&%%&%%%&%%%%%&&%%%&%%%%%(%&%%&&&&&&&&&&(&&&&&&&%&&&&&&%%&%&&&%#%((%%%%%&%%%&%&%&%%%&&&&&&&&%@@@&&&&&%&&&&&%&&&&@@@@#%##(&&%&%%%&&&%%%%&@&%%&%%&%%%&&%%&%%%&
%%%&%%%&%%%&%%&%##&%%%%##%%%%&%%#&%%%&%##&%%&%%&&&%%&&%%&&&&&%%##%%%&&&&&&&&&&&%%&%&&&&&&&&%%%&@@&&&%&&%&%&&&&&@@@&&&&%&&&&&%&%&&%&&%%&&&@&%%&%%%&%%&&&%&%%%&
(/*//*/////(((%##%#/,##################################################*#######(*. ,../** . , //(//((((((((((((//////((((/*(/*/
(##(//////#####(###(,##############################################(###*/, *,./*.,. .//* .*((((((((/(((((((((############*(/*/
*/((#(/*/(###( *, ,*( / * ***/*. , (/ * /*,/*.,, ////*///(((((((((((((((((((#############///*/
#/****/(//###( *, /(* / .(( * (*./*,.* ((/, ,*,((///*/((((#(((((((##((#(##(#####%%%%%%%#/*/((
///******#(### ,* , / * *. (*,/,,./(/*(((((((((((((**(####################(/%%%%%%%%%#%#(/((
///////((##(/#(##/ .* .. / .. , /, (/,*,*//(//(((((((((((((/*(###################%%%%%%%%%%%%%%/(//(
##############((#( *. , * . .*, .. *((/,(/*/(((#((((((((#((#(**/#######%#########%#%%%%%%%%%%%%%%/#//(
############## /. ,(/* * ,. . /,####################%%(,#########%%%%%%#%%#%%/*###*/(#####%%###%####%%%%%%%%%%%%%/%#/(
##############. /, /#(#// * .. .. ,###( , /,##################%%%%(,#%%%###%%%%%%%%%%%%%%/*###(///%%%%%%%%%%%##%%%%%%%%%%%%%%/%//(
#####%%##%%%%%/ *(//(* #(((#. * ###((. ,* .((##* .*//(,################%%%%%%#*%%%%%%%%%%%%%%%%%%%%%/*#%%%%%%%%%%%%%%%%%#*,(%%%%%%%%###%/(#//
#%#%%%%%%%%#%%#.#####/### ,#######( *#(((/ ,#. (((##//,*/((((,(####%##%%%%%%%%%%%%%%#*%%%%%%%%%%%%%%%%%%%%%(*%#(//*/#//*(%%%%%%/*,.,##%#%%%%%%%/%((#
####%%%%%%%%%%%##%%%#/((( .#%####### (##(((* ,. .#. .(%#(##(//((((((*(#%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%(/((/////***////*%%%/*,,,*%//&&%%%%#/#(/(
#%%%#%%%%%%%%%%%%#%%#/#( #%%#(((#((* .#//(((#((((* (..(/#//(#(#(/(##((#*(%%%%%%%%%%%%%%%%%%%%%%/#%%%%%%%%%%%%%%%%%%%&(*((////(//////(//%%/**,,,#%(&/(&%%#/#((#
%%%%%%%%%%%%%%%%%####/##(#%%(/((/((##(((((/*,*(/#######(/(******((*(%((#*/%%%%%%%%%%%%%%%%%%%%&%%#%%%%%%%%%%#####((((((/##(//,,,/(/////*((**,*,,***////********
%%%%%#%%%%%%%%%%%%%((/#%%%%(,,(##(#%####(/((//*((/##%%%###(///((#%(((###***/////((/(%%%%###(##%&%#%%////#&&&&///((&&&/#*(,,,,,,/(//*%%&((/(/*,(%&(,,,#%%(%//#
%%%%%%#%%%%%%%%%%%%(,(###(**,**(/*/%##%#((//((((#///%%%(##((///(#%%%%%#%//%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&(/,,,,,,,,,*//*##%%(//*#(%&/,*.,#//#((
%%%%%%%#%%%%%%%%%%%%/(#%#***,*,*(/*(##%#(//**/(#(((/#%%#((/////((%%%%%%%//%%%%%%%&&&&&&&&&&&&&&&/(&&&&&&&&&&&&&&&&&&&&*,,,,,,,,,/%#/&&&(##%#(//,/(%#/#(///*((*#
%%%%%%%%%%%%%%%%%%%%//##(////////%%######(/***/#((#(((%%#(//////%%%&%%%//*//*./%&&&&&&&&&&&&&&&&/(&&&&&&&&&&&&&&&&&(,,,,,,,,*#%%%%%%/&&%%%&&&&//#/%((%####(((##
%%%%%%%%%%%%%#/*(//,//*##*%#(((//*******/**//**,,,,,,,*#%#(///**/&&&&%((/*//(%/,#&&&%%%%&&&&(&//&&&&&&&&&&&&&&&,,,,,,,,,(%%%%%#((((/%&&%&&&&(&%###%%###%##%%%
///%%%%%%%#(#%%##((/*(.##*(%((/*//////******///((((((/****////***(%&/((##((##%%#####%&&&&((((///&&&&&&&&&&&&&&&&,,,,,,,*%%%((((((((%%%&%%%%%#&%&%&%%%%%%%%&&&
%#%%%%%%##%%%%%%%%%%%%(#%%#%%(((((((****//////((((((((#(****/(/**%#((((%#%%##%%&&&&&&&&&&&%%%#((&&&&&&&&&&&&&%%%%#,,,*#%#(((((#%&&&&&%#%%%%%&%%%%%%%%%%%%%&&&
####%%%%%%%%%%%%%%%%%%#*,.,#(((((((///////////(((((##((###*/(%/**(((((#%#%%%&%%%%%%(%%%&%(/(%%###/#%%%(////((///////*#%%%%((##((&&%&&&&&///(#%((/(((##%&&%%&&
##(#%%%%&%%%%########..*,(######((////((((((((((#(((#######((#((/((##%#%&&%%%%%%###%&&&&&&&((%%(%(&%%%#//((###########%%%###%#((&&&&//(/**//**/(/%%&&&&%%%(&&
###/#%%%(/**/%%%#####/*,(########(//(((((((((#((###%%%%%%%#/(%%((##%%%%&&&%%%%%%#%%&&&&&&&&&&&&&&&%&&&&%%%%%%%%%%%%&&&(######%&&&&%%&&%((**/*(%&&&&%%%&&&%%&&
***/,(**%%(#(*/#%%##,,//#%#%%%######(%&&&&&&/#((/#&&&&&&&&&(/#%((%%%/#%%###%%%%%%%%&&&&&&&&&&&&&&&&/&&&&&&&&&&&&&&&&&##%%&&&%%&&%%&&&&%(/**%&&&&&&%%#%/**/(
%(*#%%%%%%%##((#(((**(*/######%%&(**(#&&&&&%/%*#((&&%&&%%&(#%##**//((###(//(((/%(&&&&&&((&&&&&&&&&&((&&&&&&%%&&&&(&&&&&&%%%@&&&&&&%%%#//%&%%#%#(%&&(#
//,******(%//(###((%%%%%#**/#%#%%*,/((%&(((#*((/%&&&&&%&%&((&(**/%%%&&&&&&&%%#/(#&&&&&(/(#(%&&///%%&&/,,,(&&&%%&&&&&&%%##&&&%%%&@&&&&%%%%&%%%#(&%#&&%%#&%
****//**,,%#,,*/**,(##((((,,*/##,/&&&(*******,,,*##%%&&%%&%%#(#/#%%%%%%%%%&&%%%%#&&&&&&&&&&&&&%%#(/////*//%&&&&&&&&&&%%#%%&&&&@@@&%%%#(%&&&&%(/##%%%%#&%@%#
**//((/,***%/(%#*,****,*(((,/(/((/&&&(******,,,,,(#%%%%%%%%%%##%%%%%%%%%%%%%%(/#*(/((##&&&&&&&&&&%&%((((((###&&%&@&&&&&%%&&%&@&&%%%&&&&@@@#(((&&%&&@%%%%%&&
//(#%&%///*##&%%*/(/*,,*//,/(((#*/&&**,,,,,,,***#(((((((/,,*%%%%&&&(//**,,***/*/(#(%&&&&&&&&@&&%/*////%#&&&&&&&&&&@%&&%&&&%&&&&%%%%&%%&&(//%#&&&&%@%&&&@@
.,####%(//(#%%%%(%(***/*(/**,((/(&&&&%(///*/**/**/%&&&&&&&&%&&&&&%/*///(***,,,****(###%&&&&&&&&&&&&&//////(&&&&&&@&&&&%&&&&&&&&%%%%%&%&%(#/#%@&@&&&&&&&&&
,/(#(%%((###%&%(#(/*,*/##//*,,#%&&&&&&(////*/**//(%&&&&&&&&&&&&%*,,,,*///,**,,*//((#%##&&&&&&&@&&&&&(%#%&%#&%&(@@@@@#&&&&&@&%%&&&&&&&&%%&&&%(##&&%@@&&@&@@&@@
#(///((((///(%((#((*,,*%%(/***./&&&&&((/**///**.(/****//#&&&%(*,,,,,/(/******/*(//%%%%&&&&&&&&&&&&&&&&&&&&&&&%&@@@%&&&&&@###(&&@&@@&&&&&&&&&&&%&&@&&@@&&@&&
((/********/(((*,*,,,**%##(/***,.%&&&%((*////**,,/#&&&&&&&&&&%%/*,,.,,//////*//((//(#%#%&&&&&&&&&&&&&&&&&&&&&&%%&/#&@%%&&&&&@%%&&&@&&@@%%@&&&&&&&&&&&@@&&&&%&%&
((//((#((/***/(/(#((*,*(##%%(/*,..(&&%///(/////**(.&&&&&&&&&&&%*,..,*,*//******/((##(#%#%&&&&&&&&&&&&&&&&&&&&(%(#/@%#&&&&%%&%%%%#&&@@#%&&&&&@&&%&%&&@&&&&&&@@
((#(((/(((((#%(#(####,*(##%%%(//*,.(**/,,,,**(*////((((#(((*,,,,*////*********/##/##%&&&&&%%%&&&&&%%&&&&&&&&&/#&&%&%#%&&&&&%&&&&@((%&&&&&&&%#%&@&&&%@%@
##((((###(#%(#(######(*#%%%&&%%#(,*/(&(((#/***///(%.&&&%%%%%%%%/*,,...*/***********(%%###&&&&&&&%&&&&&&&&&%%%&&&&&&(%&(%#&%%&&&&&&&&(#&&&&&%&@&@&@@&&%&&%&&
###(#####%%/#####%%###*/%%%&&&&(#(((((((/////*&/*(%&&&&&&&&(/,*,....***********/%#&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&%/*%&&&&&&%(&&&@@&&&&%#%%#@@#%%
%%%%%###&%%%####%%####**#%%%&&&&&&&&%#(/(&&&&&%(//*%*/(###%%%%%%*//**,.,.,********,*/(#,,,,&(&&&%&&&&&&&&&&&&&&&&&&@%#%%&&&&%%&&%&@@@@&%%%#%#&@@@&&@&&&&@&%
%%%%%%%%%%#%%#######(#***#%%&%&&&&&&&&%(*(&%%%%%/((((#%&&%((/*//*,,.,(///***,*/#*,,,,*#%&&&&&&&&@&&&&&&&&&&&(%%&&&&&&&&&&&&@@&&&&&&&@&&@%&%#%#&&&%#
%%%%%%%&&&%%########%***/#%%%%%%%%&&&&&&&&&%&&&&&%%#(#(((%&%%%%(****/((//%/#((///*,,((//*********///((##%%%###(((/**#%%&&&&@&&&&@@&%&@@@&&@@@@&@@@@&%#&&@@%@%&&
&&%&&&&&&&%%##%#####(/***###%&&&&&&&&&&&&&&&&&&&&%##%%#%%%%/***/**//##%###%#(*...#%%#%#(((//*,,,,,,,,,,,,,*,,,,,*/*(&%%&&&%%##(/***/%%#@@&@&&&%&&@@&&&%&%
%%&&&%%&&&%%##%#####((/**((##&&&&&&&&&&&&&&&&&&&&&&(%%%%%%%%%%%***/((((///*#%%%%%%/,,,,(&&&&&&%(#((((//**//***///**//(#((##%%((//*/*/(#&&@@@@@@@@&%%&&&@@@@@&@%
%%%##%&%%%%%%%%%##/((((*/((##&&&&&&&&&&&&&&&&&&&&&,&%%&&%&&&(**///////***,*#%%%(*..,,%&&&&&&@@@@@@@@&/(##(#&&&@@@@@@@%&@@@@@@@&&@&&&&&&&&&&&&&&&@@@&&%&&&@&&&
#%%#((%&&&&&&&%/*(#/(((((&&%&&%%%%#&&&&&@@&&@&&&&&&%%%#######%/**//////*********,,*/,..*&&&&&&@@&@@@@@&/&&&&@@&&&@@@@#@@@@@&&&&&&&@&&&&@&&&&&&&@&@@@%&&&&&&
##%%(###((%%%%#(//#/(((/(%%%&&%%&&%&@@@@@@&&@&@&&#####((##**///////***///*,,,,,,,***%&&&&&&@&&@&@@&&&(#&&&&@@@&&&&&&&&&&&@@@&&@&&%&@&&&@&&@@#@@@@&&&@&&&&
#####(/(#(#%%##///#(/((((%%&&&%%%%%&@@@@@@@&@@&&&&&&%%%%%&&&&%%#//(////(((((((((//*,,,,.*%%%%&@@@@@@@@&&&&&&@&@&&&&(&&&@@&&&&&&&@&&&&&&&&&&(%@@@&@&&&%&%#
%####/((((/####/*/(#((/(#%#%&&%#%%%%&@@@@@&&&@&&&&&&&&&&&&&&&%%%(////*////((((((/**,,,,.,%&&&&&@@@@@@@&&&&%%&&&&@@&@@@@&@@@@&&&&&&&&&&&&&&&&&&&@@&&&@&@@###%%%&
#####(//(######/**(#####%%##&&%%%%&&&@@@@@&&&@&&&@&&&&&&&&&&&&&%/(/*//**/(((((((***,,,..,%&&&&&@@@@@@@&&&&&&&&&&&@@&@&&@@@@@&&&&&&&&&&&&&&&&&&@@@@%%&&&%%#(%%%%
######/***//##(***(##%%%%%##%&&%#%%%&@@@@@&&&&&&&&&&&&&&&&&&&&&(/*/(((//((((##(////***,,*((#&&&&&&@@@@&%&&&&&&&&&@&&@@&&&&&@&&&&&&&&&&&&&&&&&&@@@&%%#%%%##%%%%%
#######//##*##(/**(%%##%%##%%&&&%%%#&@@@@&%%%&&&@&&&&&&&&&&&&&/,/(((((((((#%#((///****,,//(#&&%%&&&@@@@&@@@@@@@@@@&&@@&&&&&@&&&&&&&&%&%&&&&&&&@@@#%#%%%%%%&%&
/%#%%##%##%&%##(**(%%%%##(////#%%%%%&&@@@&&%%@&&@@&&&&&%&&&&&((((((((((((%&%///////**,#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@&&%(((((((((&&%&&&&&&&&%&&&&&&&&&@@@&&&&&
%%%%%%%%%&&#/*(%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&%%%&&&&&%&/((((((((/(&&&&&%(///////**(&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@&&&&%(((((#&&&&&&&&&&@&&&&&&%%&&&&&&@@&@
%%%%%%%%%%%%%###(*/%%%%%%%%%%%%%%%%%&&%&&%%%&&&&%%%%&&&%&&////((((((#&&&&&&%%//*//****/&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&@&&&&&&&%&&&&&&&&&&
%%%%%%%%%%%%%((((//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&%%%%//((((((##%&&&&&&&%%/*(////*//#&&&&&&&&@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&@@@@@&&@&&&&%&&&&&&&&&&&&
%%%%##%#########((/#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**/(#####%&&%%%&&&&%%(*//(***,*(&&&&&&&&@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&@@@&&&@&&&&&&&&&&&&&&%%%
%##%%%#%%%%%%%%#/**/################%#%%%%##%%%%%%%%%%%%%#/(##((##%%&&%%&&&&&%&%****//,,*(&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&%&@@@&&&@&&&&&&&&&&&&&&&&%
%%%%%%%%%%%%%%%#(*,*%##############################%%#%%#*((/####%%%&&%%&&&%%%&&/,*////,,#&&&&&&&&&&&&&&&&&&@@@@@@@&@@@@@@@@&&&&&@&&&&&@@@&&&&@&&&&&&&&&&&&&&&&
####%#%%%%%%%%%(,,..(####%######%#######################//(####%%%%%%%%%&&%%%%&&%*,,**/,,(&&&&&&&&&&&&&&&&&@@&&@@@@&@@@@@@@@&&&&&@@@&&&@@@&&&&@&&&&&&&&&&&&&&&&
%%%%%%%%%%%%%%%%#(/(#%%%#############%#################((#((######%######%&&%#*,,,**,,%&&&&&&&&&&&&&&&@@&&&&&&&&&&&&&&@&&&&&@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&
%#%%%%#####%%#%##%%%%%#%####################%##########/(###((###############%/**.,**,/%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&@@@&&&&&&&&&&&&&&&&(
#######%#####%%%%%%%##%%#####%########################/(####(################%%%###///,...,%%&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&%&
%%%########%###%###########%##########################((#((((##################%%%%(///*...#%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@&&&&&&
################%##%###%###############################/*///*######################(////*./#%#%%%#%%%%%%#%%%%&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#####%############%##%%#############(##(((####(########(,,,,,*############%########((////*##########%%######%#%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
########################################((##(##########%%#(///###%#################(//*//*,########################%%%#%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#####################%####(####(##((###(#(((((#(#(###(####%%##############%%#######//(((/*,..,(#####(#################%%&&%%%%#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
############################((########(#((((((((##################################%%#####(/*,**,*###########(####(###########%%#%%%&%%%%%%&&&&&&&&&&&&&&&&&&&&&
############(##########(#####(((#(((####(#((#(((((###(###(###############################%%&&&&&%#(####(###%##(((##############%#%%#%%%&&&&&&&&&&&&&&&&&&&&&&&&
##############((##((#((##(####(##((((((#((#((((##(#(#(((((######################################((##((((((((####(#########(####%#####%&%%&&&%&%&&&&&%%&%&&%&%&&
##############((####((#(((###(###((((##(((((((####(((#(###((#########(#################((((((#((###((#((#(((####((###((#(###(#(##((####%%##%%#%%%&%&%%%%%%%%%%%
(((((###(#((##(######%%#(((((#(##(#(#((#(#(((((((((((#####((#((#############(########((##(((((((((###((((###(#(((((((####((((#(#(#######((#%%#####%%%%%%%%%%%%%
####(#((#(((##(#((((((((((((((#((#((#######%#((((##((##(((#(((#(#(#(#(((#(###((((#####(#((((#((((((((((((((((#((((((((###(((((####/##(((((##%%#(###%#%%%%%%%%%%
(((((((((#################(((((##(##((((((((((##(#(((((((##(####(((###(((((((((##(#((((((#((((((((((((((#((((((((#((((((((((((((((###(((((((((((##%%###%%%%%%%%
##############(((##((#(#(#(##(#((%((#((((((#((((((((((((((((((#(#((((#(((((#((#(((((((((((((((((((((((((((((((((((((((#((((((((((((((((((#(((((((((#%#(#%##%#%&
####(#((((((((((#%#((((((((#((((####((#((#(#(((((((((((((((((((((((((((#(#(((#((((((#((((((((#(((((((((((((((((((((((((((((((((((((##((((((((((((/((((((##(((#%
#(####(#(((((#(((((((##((#(((((((###%#((##((((#((##((((((#(((((((((((#((((((#(((((((((((((((((#(((((((((((((((((((#(((#((((((((((((((((((((((((((#(((((((((((#%
(#((####(####((#(###(#(((((((##((((((###(##((((((((#((((#(((((((((#((((((((((((#(((((#(((((((((((((((((((((((((((((((((#((((##((((((((((((((((((((((((((((((((#
(###(#(###((##########(#((#((#((((((((##((##(((((((((((((##((((#(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(((((((((((#(((((((((((((
(###((#(######(((((((###(##((#((#(((((((##((#((##(((((((((#(#((((((((((#(##((((#((#(((((((((((((((((((((((((((((((((((((((((((((((((((((((%%#(((((((((((((((#((
###(########((#(#((((####((((((((((((((((##(((#((((((((((#(((#(((#(((((##(((((#(((((((((((##(((((((((######((((((((((((((((((((((((((((((#(##((((/(/((((/(//(((
(###(##(#(((#((#(#(##(#(##((((#((((((((((((#####(#((((((((((((#(((((#(((((((((((((((((((((((((((((((####(#(((((###(((((((((((#((((/(((((((/((((((((/(((((((((/(
###(##((((#((((#(#((#((((((((((##(#((((((((##%(((###(#(((((#((##(((((#(((#((#(((((((((((/((((((((((((##(#((#(((((((#(#(((#((((((((((((((((#((((((((((((//((/(((
###(((((((####((#####(####((((((((##((##(((#(#%####((((((((((#(((((((#(((((((((((((##(((((#(((((((((((###((((((/(((((((((((((((((((((##(((((((/((((/(/(((/(/(((
#####((((#######((#(#(((#(#(((#(#((###((((((#(((%((###((((((((((((#((((((((#((((((#((((#(((((((#((#((##(((((((((#(((((((((((((((((((#((((((((((((((((/,.,..,(((
####(#(####(#((#(#(###(#%%##((##(####(######(((((##((###((##((((((#(#(#%#((((#(((((((((((((((###(((((((#(((((((((((((((((((#(/(((#%%%#//((((((((((((((/*,.. .*(
#######(######(#####(#####(#(#((((####(((((#((#(/(##((((#(#((((((((((((((((((#((((((#((#######((#(((#(##(/((((((((#(((((((((((((#((((((((#((((###%(##(((/(((/((
###########(((######(((#####((((########((((#(#((#((%#(((#((((((((((#(#((((((#((#(((((#####((#(((((#(((((((((((##(((((((##((((((((#(((((##(((((((((((((((((((((
((########(####(((###(#(#(#((#(#(((#((((###%#(##((#((#%(((#((((((##((#(#(##((((((((((#((#(######(((/((((((((//((((#(((##(((((((((((((((((((##(((((((((((/((((((
####(#############((##(#####(((###((#((#(###(((##((#((#%#((##(#(((((####(((#((((((((#(((((((#(((##(###(/(((((#((((((((((((((((((((((/((((((((((((((((((((((((((
######(###(####((##(####((########((#(((((###((##(((((##%###(#((#(((#(##(((((((#((((##((#((((((%(###(((##((((((((((((((((((((((((((((((((((((((((((##((((((((/(
##(########################((##%%(#((((###((#(((#(#(#####(##/(((#(((((#((((###(#(####(((((((((((((((((#((((((((((#(((((((((((((((((((((((((((((((((((((((((((((
##((####(#############(#(#(##((((((#(##(((###########(#((####(#((########(((((#(((((((((##((((((((#(((#(((((#((((/##((((((((((((((((((((((((((((((((((((/((((((
(######(#######%(((#(###(((#(#((#(#((#(((#((((##(((##########%###(##(((###((((((((((((#(#(((((((((((((/((((((((((((((((((((((((((((((((((((((((((((((((((((((((
#(####(((###(#%###(((#(##(##(##((#(##(##(####(#%#%###((((((((#%(((((((((##((((#(((((#((#(((((#(#((#((((*(((((((((((((((((((((((((#(((((#((((((((##(((((((((//((
####((#####((#(##(##(####(######%%%#%###((((((((((#((#(((((((((#%#(##((((#((((((((#((#((##((#((###%#(###((((((##((((((((((((((((((((((((((#(/((((((((((((/(((((
######((((#((##########%%%######((##%%(((((((((((####((((((((((((%(((((####(((((###((((#(((((((((#((((#((((((((((((((((((((((((((((((((((/(((((((((((((((((((##
((#####((####%%%%%%%%#######((((((##((((##(#((#((((#(#((#(#(((#(((#%((#(((##(((#(((((#((((((((##(((((##(#((((((((((((((((((((((((((((((#(((((/#((//((((((((((((
%%##%#%###########(((##(#(###(##(####(((##(#(##((##(##(((##((((((#(#%%((((((((((##((((###(((((((((##(##(##(((((((((((((((((((((((((((((((((#####(((((((((((((((
###########(##(((####((##(#(########(######(((######(#((##(((##(#(((#((#((((###((#(#((#(((((((###((#((((#((((((((((((((((((((#(((((((((((((((((((((((((((((((
####(###(#(##((##((##(##(((((###(####(##((((####((#((#(((((#((#((((((#(#%((((#((#(((##(((((((#(((#(((##((((((##(#(((#(((((((((((#((((((((((((((((((((((((((((((
%#((((((((((((((((((((((( *((((((((((((((((((((((((((((((# ,((((((((((((((((#((((((((((((((((##**,,,,,,,..... #(((((((((##(#((###########
(//////////(((((((((((((((((* #(((((((((((((((((((((((((((( *(((((((((((((((#((((((((((((((((/ ,(((((((#####################
(/*/*******/////((((((((((((((((, (((((((((((((((((((((((((((# /((((((((((((((#(((((((((((((((/ (((((#%&&&&&&&&&&&&&&&&&&&
######(*,,,******///((((##(########(((((((/*,,###(((((((((((((((((((((((* ((((((((((##############(((((# #/(((%%%#&&&&&&&&&&&&&&&&&&&&%%%
&&&&&%%%####*,,,,***///((((((################((##(((((((((((#(####((###(((((((((((((((###########################(((((((((((#######&%#((&&&&&&&&&&&&&&&&&&&&%%%
&&&&&&&&&&&&%#####,,,**//(((((((#################((((/(((((((((((###########((((((((##/#####################################%####. . *(%&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&######/////(((#%%#(((((((((((* ((((((((((###(#####( *((########%%#%##%%%%%%%%%###%#%#%%%%%%%%%% ,*%%%&&&&&&&&&&&&&&&&&&&&&
&&&&%%/(%%#/(&############//(/##/*////(##(((//*. ,*///(((((((((((//* ,((((###########%%%%%%%%%%%%%%%%%%%%%%%%%# **%&&&&&&&&&&&&&&&&&&&&&&&
&&&&%#/,%%#..,#%((((((((###########/,,,,**/(////**. ,*//((((((((((//* ,/(((########%%%%%%%%%%%%%%&&&%%%%%%%%###(#&//&&&&&&&&&&&&&&&&&&&&&&&%
&&&&%#(#%%%,..(%/////((((((((###########(,**/**, .,*///////**. .*//((((&&&&&&&%#######%%&&&%%%%%%%####(((*#&&&&&&&&&&&&&&&&&&&&%%%%
&&&&%%%%%%%%%%%% /(((###%##%%%%%%%%%%%%############((((((((((((((((((((/**,,.. ,*//(((####################%%%%##%%%//**%&&&&&&&&&&&&&&&&&&&&%%%%
&&&&%%%%#####%%% #%%%%#%%%&%%#%%%%%&&&&%%%%#######################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%/***&&&&&//***/#&&&&&&&&&&&
&&&&%%%%%%%%%%%#%%&%%%####%%&&%%#%%#&&&&%%%##################(###########################################%%%%%%%%%%%%%%%%%%&&&&&&%////&&&&&/(****(&&&&&&&&&&&
&&&&%%%%%##%%%%%%&%&%%%%%&&@&&&&&%%#&&########&&&%&%%#((((((#&&&&&&(%&&&&&&&%##(########%############%&&%#%&%%&%&&%%%%%&&&&&(//(&&&&((####&&&&&&&&&&%
&&&&%%%%%%%%%&&&&&&&&&&&&&%####%&@&%####(##(((((((%%%%%%%((/////#%######%%%#%%%#%((((((##&//%&%#######%%&&%%&@@&%%%%%&&&&&(((#&&&&&&&&&&&&&&&&&&&&&&@@@
&&&&%%%%%%%%&&&&&&&&&@@&%%###(((#@@@%#(((((//////(%%%%%%%///*///#%//////%%((((((%/////(((&&%%&%&&(((#####%%%&&&&@@@&%%#%##&&&%%%##(/(%&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&%%%%%%%%&@@&&&&@@@&&%%####%%##@@(((((///////%#%####//*****#%*****/%#******#/****(//&%%%&&&&((((((((%#%#&&%%%####&//(###(#&&&&&&&&&&&&&&&&&&&&&%*,,(
&&&&&&&&%&&%&@@@@@@@@@&&@@&&%%%%#(&@(((((///////%#%####**,,,,,##(((((#%#(((((/#*****(//&%&&&&&&///(@@@%#(&%##%#@@######%#//**(((#(%&&&&&&&&&&&&&&&&&&&&&&&(
&&&&&&&&&&&&&&@&@@@@@@&&&&&&%/(##(%&(((((*****(/%######**,,,/*#&&%&&%%%%%%%%%###(,,,(//&%%&&@@%///////(,*,#&%%&&&&%(#####///#(##(#%&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&%%&&@@@@@@@@@&%%%&%#((##&@&%(((((*****(*.######,*,/&&&&,,,,***//////#&&%//,,((/&&@(((@#/////*##%,.&&%&&&&%(###%%#&&&%#%%%#%&&&&&&&&&&&&&&@&@&&@@&&@@&
&&&&&&&&&&%%@@@@@@@@@@@&&&&%&&%##%@&&%@@@@@@/***(*,&@####,*.,&@&&(@@@@%.,#**,(&//(,,/(#&&&*.(%(/*//##%/#(##&&&*((#%%%%&&&&%&&&&&&&&&&&&&&&&&&&&&&@&@@&@@@&@@&
&&&&&&&&&&&@@@&&@@@@@&@@&&&&&&&%#%(((#((/(((((((((///(/(#((#%#(*((**//###% %%%&&(.*,,%,*#%/** #(**(%%/&/#%@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@&&&&@
(&&&&&&&&/,,*/(%&@@@@@&%&&&&&%%##//*(((((((((((((((((((#(%%#####(((##/*/%(/ % %&*,#(&((((///## */(#.*#@@@@&&&&&&&&@@@@&&&&&&&&&&&&&&&&&&@@@&&&@&&
&%%%&&/,,,,**/((#&@@@@@@#%%#(////*&&&%%%%((((((((((((#(%%%%%%%%%%&%#((%((,/*,, . *%*/###&(((#####. ,,.,**/(&((##@@@@&&&&&%#%%@@&&&&&&&&&&&&&&@@@&@@@@@@&&@
....*,,,***/((((#@@@@@@@@@@@(******@@@&&*%%##########(##(#%%%%%%%/(%%%%##(( .,,,,,#%%#(%#((##(### , .,,,*//@@&/@&@@@@%&@%#&&%@&&&(((######%%&&&&&&@@@&&@@@
***,,**///((###(#&@@@@@@@@@@&@@@@@@@@@@@((&%####%%%&&%##((#&@@(///(&%&%%##,,,**/##*,,#(((#(((#(##(/%&&&&/.,(//(&&%%&@@@@@##(((/(((@@&&.&&&&&&&&&&&&&&@@@@@&@@
(,,**//(((##%%#(&@@&@@@@@@&@@@@@@@@&@@@@((%%%%#(//%((&&(((%%&@#(//#&%##&((//(#%%**(/,,,,,.,...*/*/*////(#%%#(((&&&@@@@@@@%##%####@%%#(#&&&&&&@@@@@@@@@&@@@@
,,*//((###&@@@&&@&@@@@@@@@@@@@@@@@@@&@##((%&&&&&%%&%%%%((#%%%%#(//%##&%###((((#%///%(*,/(%/**##(//(((((////###&&&&@@@@@@@%%%##(#&@#(/((#%&&&%@@@@@@@@@@@&@@@@
*//((###%#%&&&@@@@@@@@@@@@&@@@@@@@@@@@#(&&&&&&%%&%%%%((%&%%%%(/(%%%&%%%%%%%%%%(/(#&%/,&((*/#&(((((((((((###&&&&&&@@@@@@@%%%%#&@@@&&&%%%%%%%%####%@@@@@@&%&&@@
/((###&@@@%%&@@@@&&@@@&&@&@@@@@@@@@#@@@%((&&&&&&&%&%%%(((&&%%%%(/#%%%&%%%%%%%%%%%(/#&&%%%#(//(((*//(%%/###@@@&&&&&@@%%@@&(#@@@@@@&&&&&&&&&&&%%%&&&&&@&@&%@@@@
((##&@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@%(#&//****,,,,(,(#&%(&&%@@#&&%&%%%%%%%%%%/%&&&&&%&/&&(/////**##%%%%%*,,,,%&&@&@@@@@@&@&@&&@@&&&&&&&%%%&&&&@@@@@&@@@@
##&&@&@@@@@@@@@@@@&@@@@@@@@@@@@&@%@@@@@%((******,/(*//,*,,(#/#/((#@@@@@@@@@@@&&&&%/(%@@@@@@@%*%&///////(#%%%%%&/*,,,/@%#&@%#(%@&&&@@@@@&&&&&&%%%&&&&&@@@@@@@@@@
*,,,,,,*//(((///(###/*,,,,.,,*/#%%####&/((*(#*/(*(&&&,##%#&&%&&.&&&&&&&&&&&@@&@@@(%(#@@@@@@@&//(*//////%%%%%%&&//*,,*&&@%%&(&&%##&@@@&%%%&@&%%%&&&&&@@@@@@@&@@@
(////*********,,,,,,*******/(#(###(%(*((/#%&&%//#%#(/(#%%&%%%%%%#%%%%%%%%&%&%&&&&&&%&&&&&&&&@@%(*/////%%%%%%&&&%******/###(/********,*****,,*%&&&&&&@@@@@@@@@@@
######%##((//(##%%#((((*,(&&&%&@%&@###%#@&(#%&&&&&%##%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&%%%%#%%&&&&&&&@@&/****//////////(//(((//(/**((#/(&&&&&&@@@&@@@@@
&&&&&&&&@@@@&%%%%%%&@&@@%&@@&&&%%#######&&&@@&@@%&&&%((###%%%%%#%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%&%%&&&&&&%&&&(#(#(((###%%&%(.......,##((%#%#&&&&&&&&&&&@%(/
@@@@@@@@@@@@(((/(((##(%&&&&&&&&&@@@@@@@@&&&%%%%%%%%%%%%#####%####%%%%%%#%###%%%%###%%%##%%%%( ,,***,*****/*******,,,,,********,**(&&&&&&&&&&&&&&&&&&&%#
@@@@@@@@@@@@&*#((//(//(#%%%%&&@@@@@@@@@@@&&&/&&&&&&@&&&&&&(#%%#####%%#################. *%% ..,,**,,/(/////////*///*/////////**/((#(((/(&&&&&&/,./&&&&&&&&&@@
@@@@@@@@@@@@@&(///((((((((&&&@@@@@@%#%%#%@&&&@@@&&&&&&&&&&&%##%##%#########(#(//(#(,,/&%&&,**//##%%/#&&&&&&%%%%%%%%%%%%%%%&&&&&&%%&&%%%/&%,*(,.*/&&&&&&&&
@@@@@@@@@@@@@&&&@@@@@@@@@@&@@@@@@%((%@((((#&@&&@@&&&&&&&&&&&&,#%##%#######/((((&&&%&*,*,&&%%%@%(/*,**/&&&@&@@@@&&&&&&&&&&&&&&&&&&&(//((#%&/,&***//&&&&&&%
@@@@@@@&&&&@@@&@@@@@@@@@@@@@@&&&&&%%%#(%@#((%%@@&&&&&&&&&&&&###%######(((((&&&&&&%&&%(*&&@&&@@((//////(@@@@&&&&@@@@@@@@@@@@&&&&&@@#####%&&&&&&*(%(/*&&&&&&&
@@@&@&&&@&&@@@@@@@@@@@@@@@@@&&&&&&&@&%%%@@@@@@@@@@@&&&&&&&&&&@#%#######(((/((&&&&&&&&&%&@@&(%&@%((((((((%@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&%&&%&%#&//*,,
@@&&@@@@@@@@@@#@@@@@@@@@@@@@@&&&&&&&&@@&@&&@@@@@@@@&&&&&&&@&&&@%######(((((((&&&&&@@@@@&@&&&&@@#((#((((%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@&&&&&&&&&(/((/#
&@@@@@@@@@@@@%&@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@&&&@&@&&&&&&&@&&&@%#######(((//*(&&&&&@@@@@@@@@@@@&%%%%%%%&@@@@@@@@@@@@@@@@@@@@@@&&@@@&&&&@@@@@@&&&&&&&&&&&&%##
@@@@&&&&&%%%%%@@@@@@@@#/*&&@@@@@@%@@@@@@@@@@@@@@@&@@&&&&@@&&@@&&@%#####((((//*#&&&&&&@@@@@@@@@&%#%%%%%&&@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&
&@&&&&@@@@@@@@@@@@@@@/((%#%&%&%&(@@&/@@@@@@@@@@@@@@@@@@@&@&&&&#(((((/**,#&&&&&@@@@@@@@@@&%%%%%%%%@@@@@@@@@&%&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&
&&&&&@&%%&&&&&@@@@@@@@@@@@@@#.&.@//@@@@&%@@@@@@@@@@@@&&&&@@%(/#@###((((//*,*#&&&@@@@@@@@@@@&%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&
%&&&&&&&&@&%%&&&&@@@@@@@@@@@@@@@@@@&&@@&@@#(%&(&@@@@@&@%*********/###(((((/*///&@@@@@@@@@@@@@&%%%%&&%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%&&&&&&&&(
%&&&%%%%%&%%&@&%%&&&&&&&&&&@@@@@@@@@@@@(@@@@@@&@%(%@@/***,,,,,****((((*((///*///(@@@@@@@@@@@@%%%&&%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%&&&&&%&&&&%&(*,
%%%&%%%%%%%%%%%&&&%/&&&&&&%&&@@@@@@@@@@@@@@@@@@@@#%@%(//****,,****/(((*((/(///(((@@@@%@@@@@@@%%%%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&%&%%&&%/*/*
%%%%%%%%%%%%%%%&%%&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@#(//*********/#(((((((/(((((@@@&%&&&@@@&%%%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&%%%#####%%%%%%/**//(
%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@&%(/((###&@@@&&&&@#((/********/*(((#((((((##%&@@@&&@@@@@%%%%&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%#(//(#####/////(
%%%%%%%%#%%%%%%%%%%&@@@@@@@&&%&%&&%%/*///((######%@@@@@#((/********(((((((((((#%&&@@@@@@@@@@#%%%&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&%((**/(#(//((((
%%%%%%%%%%%%%%%%%%%&@&%%%&%&%&&%%(((/**//((######@@@@@@&((//*******/(((((/((((%&&&&&@&@@@@@%%%%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@&&&&%%(*/(((###%%
%%%#%%%%#%%%%%%%%%#%@&%###%%%%%%#% .*/((#######%@@@@@@&((//****,*///***////(#&&&&&&@@@@@@%##%%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%(###%%%%%
Would you like to make a downwards spiral down memory lane?