766543321100//.-,,+*))((((((()))**++,,,--..//001123345567788888765432110////....--,,,++++++,,,--../0012334556655543221100000001111111110000///...--,,,+++****))))((''&%%$$######$$%%&&''(())**++,,,,-----..////000112233445555555443210/.-,+*******++,--.....--,+*)('&%%%%%%%%%%%%%%%&&&&''''(((())))*******+++++,,--../0112334556667788899888877666666666666665443210/.-,+*)(((''''(())*+,./012