%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%$$%%%%%%%%%$$$%$%%%%%%%%%%%%%%%&&'&&&&%%&&&%%%%%%%%%%%%%%%%%%%%$$$%$%%%%%%%$$$$$$%%%%%%%%%%%%%%%&&&&&&%%%&&%%%%%%%%%%$$$$$$$$%$$$$%$$$$$$$$$$$$$$$$$$$%$$$$$$$%%%%&&%%%%%&&&&&&&&%%%%$$$$$$$$$$$$$$%$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%$$%%%%%%%%%%$$$$$$$$$$$$$$$$$%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%$$$$$$%%$$$$$#$$$$$$$$$$$$$$$%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$%%%%%%$$$$$$%$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$%%%%%%$$$%%%%%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$%%%%%%%%%%%$$%%%%%&%%%%%%%$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%$%$%$%%%%%%%%%%%%$$%%%%&&%%%%%%%%%%%%%%%$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%&&&%%%%%%%%%%&&&&&%%%%$%$%$%%%%%%%%%%%%%%%%%$$$$$$$%%$$%%%%%%%%%&&&%%%%&&&&&&&&&&&&&%%$%$$$%%%%%$%%%%%%%%%%$$#$$$#$$$$$$$$$$$$%%%&%%%%%&&&&&&&&&&&&%%%$$$$$$$$$$$$$$$$%%%%%$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%&&&&&%%%$$$$$$$$$$$$$$$$%%%%%$%%%%%%$%$$$$$$$$$$$%%%%%%%%%%%%%%&&%&&&&%%%$$$$$$$$$$$$$$$%%%%%$%%%%%%$%%$$%%$$$$$%%%&%%%%%%%%%&%%%&&&&%%%%$$$$$$$$$$$$$$$%%%%%%$$$$$$%%%%%%%%%%%%%%%&&%%%%%%%%&&%&&&&&%%%%%$$$$$$$$$%$$$$%%%%%%$$$$$$%%%%%%%%%%%%%%%&%%%%%%%%%&&'&&&&&&%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&'&&&&&&&%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%&&&&%%&&&&&&&&&&&&&&%%%%%%%$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&%%&&'&&&&&&&&&&&%%%%%%%$$$%%%%%%%%$$%$%%%%%%%%%%%%%%%%%%%%&&&&&&%%%&&&&&&&&&'&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%&&&&&&&'&%%%%%%%%%%%%%%%%$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%%&&&&&&&&%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%%&&&&&%%%$$$$$$$$$$$$$$$$$$$$%$$$%$$%%%%%%%%%%%%%%%%%%&&&&%%%%%%%%&&&&%%$$$$$$$$$$$$$$$$%%$$%%$$$%$$%%%%%%%%%%%%%%%%%&&&&&&%%%%%%%&&&&&%$$$$$$$$$$$$$$$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%&&&&&'&&%%%%%&&&&'&&%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&'''&&&&&&&&&&''&&&%%%&%&&&&&&&&&&&&&&&&''&'&&'&&&&&&&'&&&'&'''''''''''&&&&&''''''&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''((((('''''''''(('''''''''''''&&&&&&'&'&(''(((('(((((((('''''''('((((((('''((((((((((((('''(''&&&&&&'&'&(''(((('((((((((''''('''''(((((('''(((())))(()(('''(''''''''''''''(((''''(''''''''''''''('((((((((((((()))((()(''''(''''''''''''''''''''''''''''''''''''(((((((((((((((()(((()(''(''''''''''''''('&&''''''''''''''''''''''(((((((('((((((((()))(((('((('(''(('''(''&&&''''('''''''''''''''''''((((((((((((()))))()(((((((''((''&'''&&&'''''''(''''''''''''''''((((((((((((((())))((((((('''''''&'&&&&&&&''''''''''((''''''''''''((((((((('((()))((('''''((((''&&&&&&&&&&&&'&&''''((('''''''''''(((((''''''''((((('(((((((((('''&&&&&&&&&&&&&&''''''''''''''''(''(((('''''''''(('('''''''''''&&'&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''('&&&&&'&'''&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''('((''''&''('(((''&&&&&&&&&&&&&&'&''''''''''''''''''''''''''''''('((''&''''('((('''''''''''''''''''''''''''(''(('''''''(''''''''''''''&&'''''''''''''''''''''''''''''''''(''''''''''''''''''&&&&'''&&&&&&&&&&&&'''''''''&&&''''''''''''''''''''('''(''''''''&&''''''&&&&&&&'''''''&&''&&&&&&&&'''''''('''''''''''&'''''''''''''''(''''''''''''''''''&&&&&&&&&&''''''''''''''''''&&''''''(''(''('((((''''''(''''(''''&&&&&&&&&&&''''&&&&&&&&&''''&''''''(''''''''((('''''''''''''''''&&&&&&&&&&''''''&&&&''''''''''''''''''''''''((('''''''''''''''''&&&&&&&&&&''''''''''''''''''''((('''''''((((((((((('(((('(''('''&&&&&&&&&&'''''''''''('((((('''(('''''((((()))))((((((((((((('''&&&&&&&&&''''''''''''''(((((''''((((((())))))))))))))))))))))(((&&&&&&&&&'''(''''''''''((''''''''((((()))))))))))))))))))))))(((&&&&&&&&&'''''''(((((((((''''''''''((()((((()))))))(((((((((('''&&&&&&&&&&'''''''''''''''''''''''''''(((((((())))))(''('((''''&&%&''&&&&&&&&&&&''''''''''''''''''''(((((((((((((((((((((''''''&&%%&&&&&&&&&&&&'&&&&&&&&'''''''''''''''''''''((((('''''''''&&&&&&%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''&&&&&&&&&&&%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&'&&&&&&'''&'&&&&&&&&&%&%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&%%%%%&&&%&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&%%%%%&&&%&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&%&&&&&&&&&&&&'&%&&%%%%&%%%%%