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