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