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