val%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#$$###$$$$%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$""!"""""""######$$$$$$$$$$$$$$$$################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$%###"#"""""!!""""!!!!!""###$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$"!"""""""###$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""#####################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%$$$$$$$$$$$$$" !!!!!!"""""""""""####$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$########$$$$$$$$$$$$$$$$$$$$$%%%%%&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$"!""""#####$$$$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%$$$$$$$$$"!"""#####$$$###$$$###$$$$%%%%%$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$%%%%%%%%%%%%%%%%%&%%%%%%%%%%%&&&&&&&&&%%%%%%%%%%%%%$#####$$$$$%%%%%%%%%%%%%%%%#""#######$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$%%%&&&&'''''()))))**++++))**+,,,,,,,,,,,,,,,,,,+++++*******************))))))))))))))))))))))))))))))))))))))))%%&&&'''''((((((((((((((((()))))))))))))))))))))))))(((((((((((((((((((((''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''&&&&&&&&&&&&&&&&'''''''''&&&&&&&&''''''''&&&&&&&&&&&$""###$$%%%&&&&&&&&&&&&&&''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%#!"##########$$$$$$$$$%%%%%%%$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###$$$$%%%%%%%%%%%%%%%%%%%%%%%%%#"#""###############$#"#""""!!!!"""!!!!"""""""###############################$$$$$%%%%&&&&''''''''''''''&&&&&&&&&&&&&&%%%&%%%%%%%%%%%%%%&&&&&&&&&&&&&%%%%%%%&&&#$""#!" " ! !!!  ! !!"####$$%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$##$$#####!!""#######$$$$$$$$%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''&&&&&&&&&&&&&&&&&&&'''&&&&''''&%%%%&&%%%%$%%%%$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$%%%%&&&&&&&&&%%%%&&&&&&&%%%%%%%%&%#""###$$$$$$%%%%&&&&&&'''''''&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&$$"#$$$$$$$%%%%%%%&&&''''((((((((((((((((((('''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#"########$$$$$$$$$%%%%%$$$########$$###$$$$$$$#$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%#"####"#####$$$$%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&&&&&''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$#######$$$$$$$$$$$$%%%%&&$##$$$$%%%%%%%&&&&&&&&&&&&&&''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''((((((((((((((((('''''''''''''''''''''''''''&&&'''''''''''''''''''''''''''''&&&&&''''''''''''''''''&&&&&&&&&&$#$$%%%&&&&''''''''(((((((((((((((((((((((((('''''''''''''''''''''''''((((((((((((((((((((((((((((((('''''''''''''''''''''''(((((((((((((((((((((((((((((((''''''''''''''''''''''''''''$#$%%%%&&&&&&&&'''''''''''''''''''''''''''&&&&&&&&&&&&&&&&''(((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''$#$$$$$$$%%%%%%%&&&&&&&&'''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''((((((((()))((((((((((((((((((((((((((((((((((()))&%&&'''''''''''''''((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((())))))))(((((((()))))))))))))(((((((((('''''''''''''''''''''''''''((((((((((((((((&$$%%%%%%&&&&%%%%%%%%%&%%%%%%%&&&&&&&&&&&&&&&&&&''''''''''''''''''''&&&&&&&&&&&&&&&&&&&'''''((((((((((((((''''''''''''((((((((((((('''''((((()))))))))(((()))))))))*********)))))))((((&&$%%%%%%&&&&&&&''''''''''((((((((((((((((((((&$#"!!!  !"$$%%&''())**((&'(((((())))*****************************))))))))))))))))))****+++++++++++++++,,,,,,,,,,,,,+++++++++++++++++++++++++++********+++++++++++++++++++**************)))))))))))))))))))))))'%'''((())))))*************++++++***********+++++++++********************************************)))))))))*****************************++++++++*************))))))))))))((((((((((())))'&''''''''(((((((())))))))))))))))))))))))))))))*****))))))))))))))))))**********************************))))))))))))))***************************))))))))))))))((())((((((())))))******'&'''''((((((()))******++++++++***********+++++***********)))))))))))))))))))))))))))))))(((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))((((((((((&$&&&&'((()))***++++++++++++++++++********+++++++++++++++++***********************************)))))))))))))))))))))***++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++*********))))))'%%&&&&&&'''''''''''''((((((((((((())))))))))))))((((((())('(('''''''(((((())))((((((((((((((((((((((((((''''&&&&'''''''''''''(((((((((((((((((((((()))))))))))))))))))))))))))*********(&''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))**********+++++,,,,--------,,,,,,,,,+++++++++**************************************))))))''&''''''((((()))))))***++,,,,,,,++++******++,,,,-------............////00000112233444445433333333334444455555555555555444443333333333332222222222233333444433322222222333344445555555531222333333344444445555555555555555544444444444444444444433333322222110000011112222222333333344444444444444544444444444444333322222/0./,-+-*,*+)+))+)+,,--..../////.------------------+)+++,,,,---......//////////................................//////////////////........------------------------------,,,,,,++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)((())))))))***+++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++,,,,,,,,,,,,,,,,-------............../////00001111111222222211111111000000/////...........................+*++,,---.............................-----....///////////.........----------------------................-----------------......./////////.............--------------..............-.-+)**++++++++,,,,,,,,,,,,,----------,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++++*********+++++++,,,,,,-------,,,,,,++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,))())))))))**********+++++++++++++++++++++****++********++++++++++++++++++,,----....--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++('(((()))**++,,,,--------...................----------------------....--------------------------------------,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*())))))************++++++++++++++++++++++++++,,,,,,--------------................-----------,,,,,,,,,,,,,,,--------..-------------,,,,,,,++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,++))'((())))))*****+++++++,,,,,,,,,,,,,,,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++,+++++++++++++++,,,,,,,,--,,,,,------------------------,,,,,,,,,,,,,,*(****+++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++++++,,,++++++,,+++++++++++++*********('(())*+++,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,++++++++++++,,,,,,,,,,,,,,,,+++++++++++++++++++++++++++++,,,,,,,,--,,,,,,,,,++++++***)))))))))))))))))****++++++++++++++)())))******++++++++,,,,,,,,-,,,,,,,,,,----....////00/-,,--..////00000000000000////////////0000000000000000//////.--------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,**+****++++++,,,,,,--------------,,,,,,,,,,,,,,,+++++++++++++++*********++++,,,,,,,,,,,,,,,,,,,,,++++++++++++++++++++++********++++++,,,,,,,,,,,,,,,,,,,,+++++++++++*******************'&'''''((((())))))*****++++++++++********************++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++***++++++++++++++***************))))))))))))))))))))))))))))))**++++++++++++)'(((((()))))))))*******))*******************)))))))))))))))))))))))))))****************++++++++++++++++++,,,,,,,,,,++++++**+++++,,------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)())))))))*****+++++++++++++++++***************************************++++++++++++************+++,,,,,----,,,,,,,,++++++++++,+++++++++++*****************)))))))))))))****++++,,,,,,,,+)'(((((()))))****************++++,,,,,,,,,,,,,,,,+++++++*************************************))))*****+++++++++++********++++++++++++++++++++++++++********)))))))))))))))))))))))))))'&''''''''''''(((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))**++++,,--------------,,,,,++++****************+++++++++++++++++++,,,,,,,,,,,,,,,,,,,++++++++++++++)'()))))))))*************))))))))))))*********************************++++++++++++++*************))))))))))))))))))*)))))))))))))))))))))))))))))))))*******+++++++*******************(&&(((((((((((())))))))))))))))))))))))))))))))(((((('''''''''''''(((()***++++++++++++++++++++++++++++++++++++++++++++++++***********++++++++++++*********)))))))))))))*****************(&(((())))****************************************+++++++++++++++*******************))))****+++++++++)))))))))*****)))))))))))))))))))))'((((((((((()))))))))*****+++++++++))))))))))))'%&&&''''''''((())))*******************))))))))))))))))))))))))))))****++++++++++++++++++********************))))))))))))))))**)))))))))))))))))***++++++++++++++++++,,,,,,,,+++++++++)'(((((((((((((())))))))))))))))))))**++++++++++++++++++++++++++++********************************))(('''''''((((((())))))))))))))))))********************************)))))))))))))))))''''''((((()))))))**+,,-----........./////0000000000000000011222333443333333444555577??<<@=<===>@@?><:;;;;;;;;:99>}A>=<<<<<=========898877888889999:::::::::::::;>==<<<<<<<<<==>>????@????????>>>>>========>>???@@}A}A}A}A}A}A@???>>>=================>>>>>>>>>>>>>=========<<<<<;;;;:::::;::::::;::;;;;;;;;::::::::::::::::7565555555566667788888888898888888888888888888888888888888888888888877766554433322221111111000000000000011122222333333333332222111100000000000000//////////........///000001111111111100.,-------------------------,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,-------------,,,,++++++***********)))**+++,,,---------------,,,,,,,++++++*******)))))))))))))))))))))))))))***********)'&'''''''''''''''(((((((((((((((''(((((((((())))))))))))(((('''''''''''''''(('''''''''''''''''''''''''''&&&&''''''(((((((((((((''''''''''''''''''''''''''''''''''''''''&&&&&&&&&&&&&&'%$%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%&&&''''((((((('''''''''''''&&'''''''''''''''''&&&&&&&&&&&&&&&&&%%%%%%%%%%%%&&&''''''''''''''''&&'''''''''''''%$$$$$$$$$%%%%%%%%%%%&&&&&&&&&&&&%%%&&&&&''''''''''''''''''''''&&&&&&&&&''''''''''&&&&&&&&&&&&&%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''(((((((''''''''''&&&&&&&&&&%%%%%%#"#$$%%&&&&&&'''''''''''''&&&&&&''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''(((((((((((((((('''''''''''''''''''''''''''''&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%&&&'''(((((((((''''''''''''''&&''''%#$$$$%%%%%%%%%&&%$%%&'''(((((((((((()))))+,-,++)'&%$##""$$%&&''((((())))*'&'((()))))***********************)))))))))))))))))))))((((((()))))(())))))))))))))))))))))))))((((((((((((((((((())))))))))))))))(((((((('''''''((((()))))))))))((((((((((((((''''''''%$%&&'''((((((((((((((((((((((((''(((((((((((((((((((((((((((((((((''''''''''''(((((((((((((((((((((((()))))))))))(((((((((''''''''(((((())*********)))))))))(((((((((((((((((((((((((&%&&&&''''''''''((((((((((((((((('''''''''(((())))))))))(((((((((((''''''(((((((((((((((((((''''''''&%%%%%%%&&&&&&&''((())))))))))))(((((((((((''''((((((((((((((((((''''''''''''''''&$$#$$$$%%&&''''''''''''''''''''''''''''''((((((((((('''''''&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&''((((()))))))))))))))(((((((((((((((()))))*******)))))(((('''''''''''''''''''''%$%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&'''''''''''''((((((((())))((((((((''''''''''''''''''''''''''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''(((((((((((''''''''''''''''''''''&&&$#$$$$$$%%%%&&&&&&'''''''''''''&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&''((((((((((((''''''''((((()))))))))))))(((((''''''''''''''''(((((((((((((((((())(()))))***++,,,,,,)()))))))))))))))))))))*******)))))))((((((((((((((((((((((((((((((((((((((((((((((((((((((('''''''''''''''''''''''''&''''(((()))**+++*(((%%#$"#"$%%&%&&''''''((())))(((('''''''''''''(%%$%%&&&&&''''''''''''''''''''(((((((((''''''''''''''''((((((%&$%#$""#!" !!""###$$$$%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&''((()))))))))))((((((((((((((((((((''''''''''''''''''''''''''''''(((&$%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&%%%%%&&&&&''''((((''''''''''''''''''''''''''''''''''''''&&&&&&&&&&&''((()))))))))))))))((((((((((((((((((((((((((((((((((((((((((((((('''''&&&&&&&&&$"######$$$%%%&&&&&''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%$$$$$$$$$$$$$$%%%&&&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%&&&&''''''&&&&&&&&%%%%%&&&&&&&&&&&&$"""####$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$##################$$$$$$$$$$$$$$$$$$$$#######################$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&$""#######$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$%%%%&&&&&&&&&&&&&&%%%%%%%&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%&&&&&&&&&&&&&&&&%%%%%%%#""###$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&''''''((((((((((''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%&&&&&&''''''''''''''''''''&&&&&&$"######$$$$$$%%%%%%%%%%&&%%&&&&&&&&&&&&''''((((((((((((('''''''''&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$%%%%%%%%%%%%&&&&&&&&&%%##"#####$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''&&&&&&&&&&&&&''''''%$%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((%$%%&&&'''''''((((((((((((((((((((((''''''''((((((((((((((((((())))))))))))((((((((((((('''''''''''''''''''''''&&&&&&&&&&&&&&&'''''''''''''''''&&&&&&&&&&&&&&&&&''''''''((((((((''''''''%$%%%%%%&&&&&&&'''''''''''''''''(((((())))))))))))((((((''''''''&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''%$%%%%%%%&&&&&''''''''''((((((((((((((''((((((('''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((()))))))))))))))))(((((((((((('''''''''''''''''''''''''''''&&''''''''''''''%$%%%%%&&&&&&&&&''''''''''''''''''''''(((((())))))))(((((((((((((((((((((((((((((((((((((((((((((((((((((''((((((((((((((((((())))))))))))))))))(((((((((((((((((((((((((((((((((((((((&%&&&&''''(((((((((((((''''''''''''''''''''''''''''''''''''((((())))))))))))))))))((((((((((('''''((())))))))))))))))))))(((((((((((((((((((((((((((((((('''''''''''''''''''''(((()))))'&'(())))))*)(('&%%%%%&''''(((())))))))))))))))))))))))))))))))))))))******************)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(((((((((((((((((''''((((&$&&&&'''((((())))))))))))))))))**********))))))((((''''''''''''''''&&&&&&''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''(((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''%$%%%%&&'''''(((((((((((((((((((((((((((((((((((('''''''''&&&&&&&&&&&&&&&&&&&'''''''''((((((((((((((''''''''(((((((((((((''''''''''''''''''''((((((((''''''''''''''''''''''&&&&&&&''''''%%%%%%$$$$$##$$$$$$$%%%%%$%%%%%%&&&&&&'''''(((((((((((((((((((((((((((((''''''''''''''''''''''(((((((((((((((((((((((((((((''''''''''&&&&&&&&&&&&&&&%%%%%%%%%%%%&&%%%%%%%%%$$$%%%$%%%%#""##$$$%%%%%%%%%%%&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&%$$$$$$$######$$$$$$$$%%%%%%%%%&&&&&&&&&&&&'''''''''''''''%##$$$%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%&&&''''''''''''''''''''''''''''''''''''''''%$%%%%%%&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''&&&''''''''''''''''''''''''''''''''''((((((&$%%%%%&&&&&&'''((((((())))))))))))))))))))))((((()****)(('&&&&&&'''()***+++,,---------......----.................----------------------,,,,++++++++,,-----....------......---------,,))))*******+++++++***********+++++++++**********)))))))))***++++,,,-----------,,,,,,,,,+++++++++++++++++++++++++++******))))))))((((((((((((())****++++++++++++++++++****++++++++,,,,,*(*********))))))))))))))))))))))))))))))))))))***++++,,,,,,,,,,,,,,,,,++++++++++++++++++++**********)))))))))))))))))))))))))))))))))))))************))))))))((((((((((()))))))))))))'&&&'''''''''(((((((((((((((((((((((((((((('''''''''''''''((((((((((((((((((('''''''''((((((((((((('''''''''''''''''''((())))****)))))))))((((((((((((((((((((((((''''''&&&&&&&&&&&&&&&$$#$$$$$%%%%%&&&&&&&&&&&&''''((((((()))(((((((('''''''''''&%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''(((((((((((((('''''''''''''''((((((((((((((((('''''''''''''''''''(())*********(&'''''''''''''((((((((((((())))))))))))))))(((((((((((((((((((((((((('''''''(('''''''''''(((())))))))))))))))))))))))))))))((((())))))))))))))))(((((((((((((((((((((((((((((((((((((&%'''(((()))))))********))))))))))(((((((((''''''''''''''((((())))))))))))))))))))))))))((((((((((((()))))))))))))))))))))(((((((((((()))))))))))******))))))))))))))))(((((('''''''''''%$%%%%&&&&&&''(()))**********************))))))************************)))))))))))))))))))))))))))))))))(((((('''''&&&''''(((((((((())))))&&'%&#$"#"####$$$$%%%%&&&&''''((((((((((((((&%&&&&&&&&&&&&&&&'''''''''((((((((((((((((((((((((((((())((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''&&&&&&&&&'''((((((()))))))))))))))))))))))))))))))))))))))))))))))'&''''(((((())))))))))))))))))))))))))(()))))*********)))))))))))))))((((((((((((((((((((()))))*****,,+,,,220.--,,,+++++,--..//014753111122222233333222221111111122223333333444444444420112223444555566666777777777777777788889998888888888888887777777666667777777777.----..,+,,,,,,-3222222)3223333333333333,.-----+,,---......5332222111/.,++**))((*+-./0011122222200111111111111110000//////////////////////////0001111222222211111100////////////////....../////0000011000000////////////0000000000000/////....-------------,,,,,,,,,,,,,+++++++++++++++('(())*+,,-----........----------------,,,,,,++++++++++,,,,,,,,,,,+++++++++++*****++++*+++++++****++++++++++++++++++++++++*******+++,,,------------,,,,,,,,,,,,++++++++++++++***+++++,,)())))**************++++++++++++***************************))))))))))))))**++++,,,,,,,,,+++++++++++++++++++++++++****+++++++++++++++**)))))****************++++++++++++++**************((((((((()))****++++++++++,,,,,,,+++++++*******************************************+++++++++++++************+++++++++++++++++++++***********)))))))))**++++++++++++********************('((((())))************+++++,,,,,,,,,,+,,,,+++++++++++*******++++,,,,,,,,,,+++++++++++++++++++++,,,,,,,,+++++++++++++++++++++++++++********+++++,,,,,,,,,,,+++++++++++++++++++******))'''''(()**++++,,,,,,,,,,,,,,,,++++,,,,,,,,,,,,,,,,,,,,,,+++++++,,,,,,,,,,--------,,,,,,,,,+++++++,,,,,,,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++,,,,,,,-,,,,,,,,,,,,,,+++,,,,,--*)***********+++++++++,,,,,,,,,,,,,,,,,,,+*****************++++++,,,,,,,,,,,,,,,,,,,,,,,,---------.....////0000000000000///.......----------------------------......./////0000111112222220/00000001000000111111111111110000000///////////////////////0000111111111111111111112111111./,-*,,)*()'())**+,,--............//........................................---------,,,,,,*()***+++,,,,------------------------,,,,,,,,,,++++,,,---...//00/////..///000011111111111111111111100000///////.........................////0000011111222222222222222211100000////////.,*+++++++,,---........./////0000000000000/////////...........------------------,,,,,---........--,-,,,++++++++++++++++++*****++,----....-.------,,,,++++++++**+++++++*++*************+((())))))))**+++,,----------------,,,,,,,,--------------------------,,,,,,,+++++++++++++++,,-----..........................----,,,,,,,,,,,,,,,,,,,,,,,,,-../00112223333444444443333333330.00000011121011111111112222111111122222222222222222233222222111011100/+,,,-----..//00111122212211111111000//////............../////////......///////.....///////////////////..////000-,,-../01223344444444444444444444444444433332222111111000000000000001111122233334444444444444455555555554444444433333333333322222222222233333444455555555666554333333333344556654321111/.,-./01222222222333455455543211122333344455556554333444544333344445666677778788777776777777766666666666666666655555444444444433333222233333334444445555566666666666655555555444443333220./////////////////00123322321/////////012345455778889::;;;::::::::;;<;;;::99999999999998888888888999999988887777777777777777777777777777777777777666666666778888765555544445667777888545555544444456666655555444443322211111000000000///00001111111000000000000000000000/////00122333333334444444333332221111000000000000000000////////////////////00000/////00001111111100.,------------....///000000//////........---------------...//00001100000///...---------....................-------,---,---------------...../001111111000////...........----,,,--------*)+++,,,-------,,,,--,---,,--.//001111111000///////././000111000000///////////00001111122222222222222222111110000000000000111222223333333333322211111112234444555666667777777777777777663122211111111111100001111222333334444455555666666555554444444444444333333333333333333222211111122222233333333333333333332221111111111111111111111111100000//////000112223334444555666643445556666777777777777888887776666666665554443333344444555556666666666666677777777677777777777766666667777777666666666666666666666666666665555555555555555555444433332211111222222330/0011223344444445555555555555555555555555555555554444444444333322211110000000000011112222222333332222221111111000///...........///0001111122222222222222222211100/.---..//00001112222220/00011111222333445555555555332220/0112233444444444433322222222211111110000////////00//000000111111222223333333222211100//....///000001112222211110000/////..........///0000111222222220/00122223333333333333333333222222221111111222233334444455555555665555444433322221111111112222211111000/////..........///0011111223445555555566666665555566677777776666665555556555554202110000101122223334445666665544331201/0//./..-.-.-.-../-/.....0.0.0.0.0.0/1/1/1020202010020101/1/00111223344555655555544444444443333333333333222222222111122222222111000///00011112220/11223334444444455444444433333333333222211111000000////0111122344444444444444455555566677666666666666654333222111222222222122223446778888887765443333333333334455555544433332222111000-,........./0011223334444444444444544445555544444444333332222111000000/////////////001112233344444555555566666777777766655554433332222222122222222111100000000000000000000000000//10.//-+--..///012345555666666777778888888989999999:::;;<=>>==<;::9888788889999999:::;;;;;;::9998888888888888887777776667778889:::::::;;;;;;;;::::::::::::;;;;;;;;::;;;;;;;;<<<;;;;;;;::::::::86889::::;;;;;;;;;;;;<<=======<<<<<<<<<<<;;;;;:::;;<<<<<;;;;;;;;;:::::::::;;;;<<<<<<<<<;;;;::::::999999999999999:::::::::::999998887766655544443332222222223334444455562100/.......----------,,,,,,,,,,,,,,,,,,,,,,++++++++*******)))((((('''&&&&&&%%%%$$$$$$%%%$$$$$$$$$$$$$$$$$$$$$$$$')+-./001111110......../...////007532344444556666678899999999::::::::998888776665555555555555544444333557888999:::::::;;;;;;;;;;;;;;<<<<;;;;;:::999999988888777665555555444445444444444334556777889999776777899:::;;;<<<<;;::::9988888887677677667788888899998889999999::::::;;;;;;;;;;;;;;;;;;;;:::998877666655555544444333333344455666888899999999:::::::::::::::99988888877776666677777766633322222222222223445566777777777888888999999999:::::::::::::::::999988888888888888999:::;;;;:::::;;;;;;;;;;;;;;;;;;;:::::9998887776666555555544444333344445566666778888889999999999998545545555556666677888889999:::::::::::::::99999999999998888888888777777666666666666655566666666666555444444445556667778887776666555444333322222222222222233444556667778888889999999999864665555544443333222212234555667777778899998888999999999999888888999999999888888777666555555555666677788888999999999998888887777665544443332222222211222333445556666666666677777788888774333333333333333322222211111122334555666677777777777776666666555444332221110000000011223334455666677778888888877777777666665554433322222233334444433322211111111100000000012233444556642334456667777777776666655554444444444444444444444333222111111111111111111111112233344555666666666666666677666666655544433222222334445555566667777777788877777777766666655554444333222/-//00133444555555555555555555443322211001112234444444333333222221111111100012233456655444433344566666777888888888888777766666555444332222222222233344445555444555555555666655544444431000000001110000//0122233444556667777777777777777766665555443332221222223334444444444444433333344555666666666667777777777776677666655544332211000001233456677888888899999999998888888874343333444433332222211111111222223333445555666655656655555554412/0-.,-**,*,,--+-+.,/01234455555666666666665555544444444443333322222111111100000111233344444445556666666666666666555555521111111111111111000000//////////00112234555555666666666666666666666555544433333222211111000000000000001111223334444555510/.-,,+**,-..//000111111/-..////00000000000011233445566666777766777677778888877766666666555444443332222222211110110000000001223334445556777888999999999888888877666554433322222344555566667777777777777777777776323444556678888999999999999999999998877765554433322222233444566777888888988888888888888877766554432122222222222221111111011223333345556667778887777777666555443333322222222221111000000.-0012245556666777777788888888887777777777777666555443332211111111222222222222222111111101123444555666666677777777777766665554433322221111111122333333333222333333322221111100000//////.-//012223344555666667777777777777776666543321111000000000///////////..012224456677667776666666555554433222211100000000//////////0001233344555556776777765566554455554444445544455555451444444556677766666555555544332221211111111111112233455666677776666666555544443333333332223222211110000/////../0001112344444444332211100/////../00122334446778888899999888888777777776643322333334333444333333333333333433333222222223223445566556666555555555544444333333222222233333323334455444444444566777777777776655532233556667777766777667776666667777777776677888888556677777777788556453242424231134455666777766666665554443332221122345566777777777777777888888899988777777888777887766555555567787777777877766788878888777778888888888788888877787877885555555666544433321123344556667766777666554443333333332221100011111110000000000122234444555666666777777777777777777777777777777788888888888899999999999888888777776666666666666665666662444566677778888888888777777767777777666666666666666655555544433333333222233344445566677778889999999999999888888776655444322222222221110000100000//012345666777777788888888888888777764333222222111111110012334455666677789999988876666555443333222211111101233445677778888889999877888877777777777776666665555566555555554443222221100111233444556677776677776666666665544411111112221111111112334556788888998999899998887766666555555555555555555554444433222100///011223333343343344443344444555555555555666665555555544332100///0012344555555555444332222333444442233333333211100000000000012223456666677777666766778888887889888888999:::;;;::9:9:::99:::::9999899999:::;;;;;;;<<<<;:::::::::::::::::::::::999888776666555554444433333333322223334445323344555666676555455554555555555656666778767777766666665555557655554433224457777766555555666666677666555444456677788999::::::::;;;;;;;;;;;;::::9998877665544444433311111112345567788999999::;;;:;;;;;:::::99988776554433234445666777777777666554332233344333333333333334444456788899999:::;;;;;;;;:::999887766555444443333333333456778999:::;;;;;;;;<<<<<<:8::::::::::::9999988776655444445776789:::;;<===<<<<<<<<;;;;;;:::::::::9:999998888778888899999999:::::998887766555555555555555455667888999999::::::;;;;;;;;;;;;;;;;;;;;;;::::::99998887744444556677899:::::::::9999:::::99998887776665555556777888877665544433322211133456778889999999:::::::::::99999998887776665544433444444333333333333344333332222223333446788888999::;;<<9899:::::::::::9999999888777776666666554444433322222222222222222344556788899::;;;;;:;::::;;;;;;;;:::9:::::9999998888999988888888888877766655678:<=>???@@@@@@@}A}A}A{B{B{B{B{B{B}A}A}A}A{B{B{B}A}A}A}A@@??@>>><;::9887665544444433333333333332221100///..-----------2468:;:;;;;<<;;99898889:::<;;;<===>?@@}A}A}A}A}A}A}A}A}A}A}A}A}A}A}A{B{BwDwDuEuEuEuEuEuEuEuEuEuEwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDyCyCyCyC{B{B{B{B{B{B{B{B{B{B}A}A}A}A@@@@??>>==<<<=>>??@@@}A}A@@@@@@@@@@?????>>>>>>>>=<<;::9998888888888877777888998889:;;;;<<=>>>>>????<:<<=>>>????????????>>=<<<<;;:::9999899999999999888888776667789:::;;==>====>>>>????????>>>==<;;::99988777666666777777789::;;;<<<<;<<;;:9999::::::::99877665555555555555555555566678:;;98;<===>???>>>??>>>>>>=====<<<===<;;;;;;;;<<=<<<<<<======>=========>>===>>>=>??@@@?@??>><;;;;;;;;;;;::::99999::::;;;<==>>>>?????>>>>>>>>===<<<;::9888766779::;;<<<======<<====<<<======9;;:;;;<<<<<<<<<;:::99888887889:;<<<==<<<;:998888999999998887789:::;;<===>??>???>>=>>>>>>>>>>>===>>==<<<<<<;;:::;:998876665555669:;==>??@}A}A}A}A}A@@??>?????>>>==========<<===============:8::::;;;;;::99999999999999::::::::9988877777777899;;<====>>>>======================>>>>>>>>>>>>>>>>>>>>====<<<<<<;;:::9998888778899::;<==>>==<<;::9999999:999988888777776655778999:;;;99:;;<<=<<<====<====<<;;::998887766665567889;;;<<==>>>>>>>>>>>>>>>====<<<<=<<<<<<<<<<<==>>>>=====<<;;::9998888888888777777777888999999999999::;;<<<<<<<<<<<<<<<<;;:::99887665444444444341222324354364474757574747675656355667577575758899::7:7::::8:9:97:7:9:89897877665544332031313343433323132334646577777777766666667666666655555444444333332221110000111222112222222222222311023445556444556667777776667778888888877776655443321111111111111111100000111112345567789999::9889999889888888889998888777665543322112222222111111111111121123457888899999:::::::;;;;;;989:::::;;;<<<<<<<<<<<<<<<<;;;;;;;;;:::::9987765544456789889::;::;;;::::;;;;::::::99999998899999:::;:::;;;;;;;::98899999877777656789;<=>>?>=<<;;:99:;;:9:::::9999::;;;<<<;;;<;<;::::9964666777777778889999989999877888888899889998876676666777667778877778888777777767777888888888766666666778777888877766655544443332123344245666789:::999988766666655555555445677666665544422223444444555444444333332222111000/00023445676788::::::;;:999:9988999988888777777777777777778877666666666554433332211111122223333232222222211234555677887899::999998777777666777766766434445545555444333311001112222110/////2235568::;:;;;;:99:::98898877666544322111122223445567777778888777777765544332211111223356676788888888887777787777776677776666655544333222111123441556789898888777776666665555443322222222222222211112223333344445555555433211100/00233567888887777776666555443222100//.//1234567888888888788887777776666666555443334455555554433322222310455789::999999998888777777655544332112222222211001122224456777899999:::9988877765543322111012444557788899::9:::9999987777665443221111112233333333333332222222333567788888998887776665322222111100000012234444333322100//013566788888999988888777666544321111100012222222111112334678:99:;;:;;;;;:99988766666665544332222222222222222333333332223456789;;;<<<===<<<<;;::9998865655555555544443332222222222344566666665444443333333444433222222333333457788899:99:::98887765544433221100000001112222222111111111112356779:;<<;;;;:::99887777655544332211123445555554202211112124689:;<<<;;;;:::988777666544332221111112234678999:::99::::999999888887777665543322111100001123445667889999999::9:99988888877777776666666666777778888999988899999999998887776444455555444333444656666665555554432211223345677888889999::99999999999999999:::::::::::999988888888889999888566666777777788888887777777778899999999998999999888878777788898888999::;;<=:9:98765557777777677788647789:;;;<<<<;;<<<=>===>>===<<;;;<<<<<===>>??@@@@@@@@@@@@@}A}A}A}A{B{B{B{B{B{B{B{B{B}A@@}A}A{ByCyCwDwDwDwDyCyCyCyCyCyCyCyCyCyCyCyCyCyCyCyCyCyC{B{B{B{B{B{B{B{B}A}A}A}A}A}A@@@??>>>>>>>>>>>>>>>====>>??????>>>>>>>>>===:::::;;;<<==<<<<<<<<<<<<====>>>>>>???>>????>>>======<<<<<<<<<=======>>=>>>>=>====<<<<<<<<<<<<<<<===>>>>>=<<<<<;;;;<<<<==========<;;;;;;;;;;<<<<<<<====<<<<<<;;;;::::99999999998888777745544444455555555566666666666767778897778999999::::::::::9988888889999::99::;:;:9999988888889999::::::;;;;;;;;;:::9877666667789999::::::::;;;;;;;;<;;;:::::998888776655444333444444443111122233322334455554444443344555677889999:9999999998889988888877777788899999999988888777776665554410.-,+**)).02456778898999777777777765554443333333344444443332222122223456677899:::999999888999988889998899998889998888899988888888877777777776666665554444443323334557889999998888776654333444554422....011266678667777899:::998888776778888999::::::::::::::::::9988765544443444444444433445667777889:::::;::::;;;;;;;:::;;;;;;;::::::::::::::999999999998998878888888899::::;;;<<<<<<;;;:::::::9999:::7789::::;;<<<======>========<=>>??@@@@@@@?>>>>>????????>>>=====<<<<<<<<;;;;<<<====>>????>>>>=====<==<========>>?????>>>??@@???@@@@@@@@@@@???@@?>>>?????@@@???>>>>>>>>>>?>>>>=<<<<<<<<<<9;;<<<>>??@@@}A}A@@@@?????@uEuEyC}A}A{B{ByCwDuEuEsFsFsFuEwDyCyCyC{B{B}A}A}A{B{ByCyCwDwDwDwDwDuEuEuEuEwDyCyC{B{B}A@@??>>=<;<<<<=>=>???>>=>>>>>>>>>>>>>???????@@????>>>>>?>>>>>?>>??????>>>?????>>>??>??>>????????>>>>>>>=>>>>>>====::9;:::;;<<<;;;;;<<<<<<<====<<<<<<<<<<<<<<;;;;;;;:::99::::999999::99888899:99:;<<<<<=======<<<<<<;;;;;<;<<<<;;;;::998776666665678889999:::::99999999::::9999999:;;<<==>>>=====>?????>>>>;;;;<==>>???@?@??>>>>>===>>>>>>>>>>>>======<<<<<;;;;;;;:::::::::;;;;;;;::::;;;;::::;;;;<<<<<<<;:::9988776655566698899;;<<=======<<<<<<<<<<<==<<<;;;::98877766777777778899:::::::::::::77655555566788999:::;:;;:::::::99:::;;;;;;;<<;;;;::::998776667777899:::::::::::::::::::::;;;;;;;;;;;::::::;;;;;;;;::98899999::::;;<<<<<<<=<<;;;;;;;;;;;;;;;::::999988777777666554556677557788999999887665555555544444444444444102/2/2/1/111334354556546475889898796978787877646464633535555545454534455553647676767778575777777757463545342322110101000000/0/0/002102020020202/.0.1/1/212233434454433232212110100/0001111223344252525241313021212111102121211000///0/000/0/0/000/0/0/0010212214142413130222211/0.0-////0/0011223233242445444545444433431302/1/1.0.0.0-,.,/-0.1/2233445455363535534333323221100./..././/00111010000/0/0/0//0////////.///.//00101233242445465656425255565666646365545444131323333333313131323221110100/0/0/001103031434454545421434344543422545565353535455665878788997989897698989899:7:79898997:79898997::;9;8898968645353352444442445565476778768688888868887875869897668687878758797986969897986969887878757476766644353545454553535454542536565656646665644542423120101121342556565354545524232242424222423344365656747787886878787574756554431311323232222121/0.0.0010112314343434332131433333232210202020010000/0//././.-0-0-112232114254545536354545454365667675352412/1/0.///000011/0.0-/-.,.,.,.+..//0/102212022324436636565664656676465655555254545424244532425545456365653555555354553545344313143323221/11/1/1111220334454353555454432414333331414434343310202011212103131223213143434435354555364657657576656666666666655532220112234444444444444444455566667888877777777766642444444445444444434444544445566666677766666655555454443332222222211000////000012234445778889888888888888998888888887766544332210001222445567778777888888777777666666655555555444444444101111234566789:::::;::88878777778888888999:::999998888777777788999:9978888666677899::;;<<<<;;:;;;;;;;;;;;:::::::9999999999998665566777777776677777777777777666666666666666666666555663445678888777766554445566666667777777