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