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