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