CAPE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 7 7 7 7 7 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 1 2 4 4 2 1 0 0 1 3 6 6 6 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 10 14 19 26 35 45 54 61 66 70 74 75 76 75 72 70 69 72 75 75 80 90 94 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 7 9 12 16 16 13 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 9 8 2 0 0 0 0 1 2 3 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 8 12 15 20 27 37 46 54 62 69 74 79 82 84 81 76 73 71 72 71 74 81 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 12 20 29 33 24 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 11 10 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 5 3 2 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 6 9 13 16 21 28 38 46 56 64 71 77 83 84 84 82 78 75 71 70 71 74 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 10 18 32 44 44 26 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 7 7 6 4 2 1 1 1 2 2 2 3 3 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 11 13 16 20 28 37 47 56 64 71 77 82 84 85 83 78 73 71 70 70 73 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 11 18 30 40 43 31 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 4 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 7 8 7 5 3 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 11 13 15 18 26 35 45 53 60 67 74 79 82 82 79 74 72 70 69 70 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 13 19 26 30 30 21 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 7 7 6 4 4 4 4 5 5 5 6 6 6 7 7 8 8 9 9 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 10 11 11 14 17 23 31 39 46 53 61 69 75 78 77 74 73 72 69 68 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 14 18 20 20 15 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 5 5 5 6 7 7 7 7 8 9 10 11 12 13 14 14 13 10 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 8 10 10 11 13 15 19 25 30 36 45 54 63 70 74 74 73 71 69 67 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 9 12 14 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 5 5 5 6 7 8 8 9 10 11 12 13 15 16 17 18 19 18 16 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 9 10 11 11 12 14 15 17 21 28 37 47 57 64 67 68 67 66 65 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 9 11 9 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 12 13 15 16 18 19 20 22 23 24 22 18 12 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 11 12 12 12 12 12 12 16 22 30 39 48 54 58 59 59 58 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 7 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 6 7 9 10 12 14 16 18 20 22 23 25 27 28 29 27 22 14 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 9 10 12 12 13 12 11 11 11 13 17 24 32 39 44 49 50 49 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 6 8 9 11 12 14 17 20 23 25 28 29 32 34 35 32 26 16 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 12 13 13 13 12 12 11 11 12 15 20 26 32 38 40 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 6 7 9 10 12 14 18 22 26 29 31 34 37 40 40 37 30 19 11 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 10 11 12 13 13 13 12 12 12 12 12 15 19 25 30 32 33 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 5 6 7 8 11 14 19 23 27 31 34 38 41 44 45 42 34 25 16 9 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 7 9 11 12 13 13 13 13 13 12 12 13 15 18 22 26 28 29 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 3 4 6 8 10 14 19 23 28 32 36 40 45 48 50 47 40 32 24 16 11 7 5 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 7 9 10 11 12 13 13 14 14 14 13 14 16 19 23 26 27 28 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 2 3 5 7 10 14 18 22 27 32 37 42 46 50 53 51 46 40 32 25 19 15 11 9 7 5 4 3 3 3 2 2 1 1 0 0 1 1 1 1 2 2 4 5 6 8 9 11 12 12 13 14 14 14 15 15 17 19 23 25 27 29 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 3 5 7 10 13 17 21 26 31 36 41 46 51 54 54 51 45 39 34 29 24 21 17 14 11 8 6 6 5 5 4 3 3 2 2 3 3 3 3 3 4 5 6 8 9 10 11 12 13 14 15 16 16 16 17 19 21 24 26 29 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 4 7 9 12 16 19 24 28 34 39 44 48 51 52 52 49 46 42 39 34 30 26 22 18 15 13 10 9 7 6 5 5 4 4 4 4 4 4 5 6 7 8 10 11 12 13 14 16 17 17 17 17 17 18 20 21 24 26 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 9 11 13 17 21 26 30 36 40 44 48 50 52 53 52 50 46 42 40 36 32 27 24 20 16 14 11 9 7 6 5 5 5 5 6 6 7 9 10 12 14 16 18 19 19 19 19 18 17 17 17 18 20 22 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 10 12 14 18 22 27 32 37 41 45 48 51 53 53 52 50 48 46 44 40 36 31 27 23 19 16 13 11 9 8 7 8 8 10 11 13 15 18 21 24 27 28 27 24 21 19 17 17 18 20 21 22 23 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 10 13 16 20 25 30 34 38 42 46 48 49 49 48 48 48 49 48 45 41 37 33 30 27 24 20 17 15 14 14 14 16 18 20 23 26 30 34 38 41 40 35 29 24 21 20 22 25 27 28 29 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 7 10 12 15 19 23 27 31 36 40 43 44 44 43 42 43 45 47 47 45 43 40 38 36 34 31 28 26 24 24 24 24 26 28 30 33 36 41 45 48 49 46 41 36 32 32 33 36 39 41 42 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 10 12 14 17 20 24 28 33 37 39 40 39 38 38 39 41 43 43 42 41 40 40 39 37 35 34 34 34 33 33 31 30 31 33 35 37 40 44 48 50 50 48 48 48 50 52 55 58 60 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 11 13 15 18 21 26 29 33 35 35 35 35 35 36 37 38 37 37 36 36 37 37 36 36 37 37 36 33 29 25 24 25 26 28 30 34 40 46 51 53 54 56 58 60 63 68 68 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 12 13 15 18 22 26 28 30 31 31 31 31 32 32 33 33 32 32 33 32 32 33 34 34 32 29 24 20 17 18 19 21 24 27 33 40 47 50 53 54 56 58 60 62 61 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 9 10 11 13 16 19 22 24 26 27 28 28 28 28 28 29 29 29 29 29 28 29 29 28 27 24 20 16 13 12 14 17 20 23 29 35 42 45 48 49 50 49 49 49 46 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 7 8 9 10 12 14 17 20 22 23 24 24 24 24 24 25 25 26 26 26 26 25 25 24 23 20 17 14 11 10 10 13 16 20 24 29 34 39 42 43 43 42 41 40 38 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 8 8 9 11 13 15 17 19 20 20 20 20 20 20 21 22 22 22 22 22 21 20 20 18 15 12 10 8 8 10 13 16 20 23 25 28 32 35 36 37 37 36 32 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 8 9 10 11 13 14 15 16 16 15 15 15 16 17 18 18 18 17 17 16 15 14 13 11 9 8 7 7 10 12 15 17 19 22 24 26 28 31 31 30 27 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 6 6 7 9 10 11 12 12 12 12 12 12 12 13 14 14 14 14 13 12 12 11 10 9 8 7 6 6 7 9 12 13 15 17 19 21 23 25 25 24 21 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 4 5 6 7 8 9 9 10 10 10 10 10 10 11 11 12 11 11 10 9 9 8 7 6 6 5 6 6 8 9 10 12 14 15 17 18 20 19 18 16 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 4 5 6 7 8 8 9 9 9 9 9 10 10 10 9 8 8 7 6 6 5 5 4 5 6 7 8 8 10 11 13 14 15 15 15 14 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 6 7 7 7 7 8 8 8 8 8 7 6 6 5 5 4 4 4 4 4 6 6 7 8 9 10 12 13 13 12 13 14 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 5 5 5 6 6 6 6 6 6 6 5 5 4 4 4 3 3 3 4 4 5 6 7 8 8 10 11 11 11 12 13 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 4 4 5 6 7 8 9 10 11 11 12 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 2 2 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 5 6 7 8 9 10 11 12 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 2 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 6 7 8 9 10 12 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 3 3 3 3 3 3 2 2 3 3 4 6 7 8 11 13 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 2 2 2 2 2 2 2 2 2 3 4 5 6 8 11 14 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 3 3 5 6 8 11 14 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 4 6 8 10 13 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 5 7 9 12 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 8 10 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 17 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 15 14 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 16 13 12 12 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 17 14 11 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 19 15 12 10 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 15 15 15 16 16 16 16 15 15 15 15 15 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 18 15 12 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 6 6 6 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 14 14 14 15 15 15 15 15 16 15 15 15 15 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 17 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 6 6 6 7 7 7 6 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 6 6 6 6 7 7 8 8 8 8 7 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 7 7 7 7 7 8 9 9 9 9 9 8 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 14 14 14 14 14 15 15 15 15 15 15 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 8 8 8 8 9 10 10 11 11 11 10 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 10 9 9 10 10 11 12 13 13 13 13 13 13 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 12 13 14 15 15 16 16 16 16 17 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 14 14 14 14 14 13 14 14 14 14 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 13 13 14 15 16 17 18 19 19 19 20 20 21 22 24 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 14 14 14 14 13 13 13 13 13 13 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 15 16 17 18 19 19 20 21 21 21 21 22 23 24 25 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 14 13 13 13 13 13 13 13 13 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 19 20 21 21 22 22 22 22 22 23 24 25 26 26 26 26 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 20 21 22 22 22 22 23 23 23 23 24 25 26 26 26 26 26 26 26 26 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 22 23 23 23 23 23 23 24 24 25 25 26 26 26 26 26 26 26 26 26 26 26 25 25 nan nan nan nan nan nan nan nan nan nan nan 16 16 15 15 15 15 15 14 14 14 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 23 23 24 24 24 24 24 24 25 25 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 24 nan nan nan nan nan nan 19 18 17 17 16 15 15 15 15 15 15 14 14 14 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 24 24 24 24 24 24 24 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 24 24 23 23 22 21 20 20 19 18 17 16 15 15 15 15 14 14 14 14 14 14 14 13 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 24 24 23 23 22 22 21 20 18 17 16 15 14 14 14 14 14 14 14 14 14 13 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 24 24 24 24 24 23 23 22 19 15 14 14 14 14 14 14 14 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 24 24 24 24 25 25 24 13 10 10 15 15 15 14 14 14 14 13 14 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 26 26 26 26 26 26 26 26 26 25 25 26 25 26 26 26 26 26 26 25 25 25 25 25 25 25 25 25 25 24 23 22 22 16 15 17 17 16 16 15 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 26 26 26 26 26 25 26 25 25 25 25 25 25 25 26 26 26 26 26 25 25 25 25 25 25 25 25 25 24 23 23 22 22 22 21 20 19 18 17 15 14 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 26 26 26 26 25 25 25 25 25 25 25 25 25 26 26 26 26 25 25 25 25 25 25 25 25 nan 25 24 24 23 22 22 22 23 23 22 21 19 17 14 12 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 25 25 25 25 25 25 25 25 25 25 26 26 25 26 26 25 25 25 25 25 nan nan nan nan 24 23 23 22 22 22 23 23 23 21 17 12 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 25 25 25 25 25 25 25 25 25 26 26 25 25 25 25 25 25 25 25 nan nan nan nan nan 24 23 23 22 22 22 22 23 24 24 23 15 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 nan nan nan nan nan nan nan 23 23 23 23 23 23 23 23 23 23 23 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 nan nan 25 25 25 25 25 25 25 25 nan nan nan nan nan nan nan nan nan nan nan 24 23 23 23 23 23 23 24 24 24 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 23 23 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 95 94 93 92 92 91 90 90 90 90 90 90 89 89 89 89 90 91 91 91 89 88 86 86 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 132 130 126 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 94 93 92 91 91 90 91 91 90 90 90 89 89 90 90 91 92 91 90 89 87 86 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 131 135 136 134 128 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 94 93 92 92 91 91 91 91 90 90 90 90 90 90 91 92 91 91 89 88 86 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 125 134 141 144 143 135 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 94 94 93 93 93 92 92 91 91 90 90 90 90 91 91 92 92 91 90 89 87 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 118 129 139 147 150 147 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 94 94 94 94 94 93 92 91 91 90 90 91 91 92 92 93 92 92 90 88 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 111 122 133 143 149 150 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 95 95 95 95 94 94 93 92 91 91 91 91 92 93 93 93 93 92 90 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 111 123 133 141 146 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 280 281 283 285 285 285 282 277 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 95 96 96 96 95 94 93 92 91 91 91 92 93 94 94 94 93 92 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 117 125 132 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 284 283 284 285 287 290 291 291 290 287 280 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 93 94 95 96 96 96 96 95 94 93 92 92 93 93 94 94 94 94 93 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 295 292 289 287 287 288 291 293 295 296 296 294 290 284 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 95 96 96 97 96 96 95 94 94 93 93 94 94 95 95 94 93 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 300 298 295 293 292 292 293 296 299 300 301 300 298 295 290 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 93 94 95 96 97 97 97 96 96 95 95 94 94 95 95 96 95 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 303 301 299 297 296 298 300 302 305 306 306 305 304 302 300 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 93 94 95 96 97 98 98 98 98 97 96 96 96 96 95 96 96 95 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 303 302 301 302 304 307 309 311 312 314 314 313 312 314 317 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 95 96 97 98 100 100 100 99 98 97 97 96 96 96 96 97 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 307 306 307 309 312 315 318 319 322 322 323 324 325 327 332 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 95 96 97 99 101 102 102 101 100 100 99 97 97 97 97 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 312 312 314 317 320 323 326 328 330 331 332 334 335 339 344 352 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 95 95 96 98 100 102 103 104 104 103 102 101 100 99 98 98 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 317 319 322 325 328 331 333 335 337 337 339 341 343 347 353 1 7 12 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 96 97 98 100 101 103 104 105 105 104 104 102 100 99 99 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 326 329 332 335 337 339 341 341 342 343 345 348 354 0 6 11 14 17 20 22 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 96 97 97 99 100 102 103 104 105 105 105 104 102 101 100 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 333 335 338 340 342 343 344 344 345 346 349 353 359 4 9 13 15 17 19 21 23 25 27 29 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 95 96 96 97 98 99 100 102 104 104 105 104 104 102 101 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 338 340 342 344 346 346 347 347 348 349 352 357 2 7 11 13 15 16 18 20 22 24 26 29 31 33 nan nan nan nan nan nan nan nan nan nan nan 87 90 93 95 95 95 95 96 97 99 100 102 103 103 103 102 102 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 346 347 348 349 349 350 351 353 355 359 3 7 10 11 12 13 15 17 20 22 25 28 30 33 36 40 nan nan nan nan nan nan 73 77 81 85 89 93 94 95 94 94 95 96 98 100 100 101 102 102 101 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 348 350 352 352 353 353 354 356 358 1 5 7 8 9 10 10 12 15 17 20 23 26 29 32 35 38 42 47 53 58 63 66 69 73 79 84 89 93 95 95 95 95 96 97 99 99 100 100 100 100 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 353 355 355 356 356 357 359 0 3 5 7 8 8 8 9 10 12 15 18 21 23 26 28 31 35 39 44 49 53 56 59 62 67 73 81 90 95 96 96 97 98 99 99 100 100 100 100 100 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 356 357 358 359 359 360 1 3 5 6 7 8 8 8 8 9 11 13 16 18 20 23 25 27 31 34 38 40 42 44 46 49 53 57 60 87 96 98 98 98 98 99 99 99 100 100 100 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 355 357 359 0 1 1 2 3 4 5 6 7 7 7 8 8 9 11 13 15 17 18 20 22 24 26 29 31 33 34 35 32 26 17 7 44 59 72 91 93 94 95 96 98 99 100 99 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 358 360 1 2 3 3 4 5 5 6 6 7 7 8 9 10 12 14 15 16 18 19 20 21 23 25 27 29 30 27 20 9 358 350 346 1 57 70 78 84 88 93 97 99 99 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 1 2 3 3 4 4 4 5 5 5 6 7 8 9 11 12 14 15 16 17 18 18 19 21 23 25 26 23 18 9 359 352 347 347 356 34 52 63 73 83 92 97 101 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 3 3 4 4 4 4 4 4 5 6 7 8 10 11 13 14 15 16 16 16 16 18 20 21 21 nan 15 9 1 354 348 345 345 358 19 36 51 66 81 95 107 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 5 4 4 3 3 3 5 6 7 9 10 12 13 14 15 15 15 15 15 16 17 nan nan nan nan 3 357 351 347 345 346 353 7 23 37 47 44 72 146 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 4 4 3 3 4 5 6 8 9 11 12 13 14 14 14 14 14 14 14 nan nan nan nan nan 360 355 352 349 348 348 350 354 360 3 358 350 332 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 4 4 3 4 5 6 7 9 10 11 13 13 14 14 14 13 13 nan nan nan nan nan nan nan 359 356 354 352 352 352 353 354 357 359 359 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 nan nan 6 7 9 10 11 13 13 14 nan nan nan nan nan nan nan nan nan nan nan 360 358 357 356 356 356 357 360 4 11 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 359 359 359 360 2 7 14 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 1 0 2 4 7 11 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 4 5 7 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 4 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 6 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 9 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Helicity 4 4 5 6 6 7 7 7 7 6 6 6 6 6 6 7 9 10 9 7 6 6 6 8 9 10 10 10 9 8 7 6 5 5 4 4 4 4 6 9 13 16 17 16 16 16 15 13 10 8 7 6 5 4 4 4 5 5 6 7 9 11 13 15 16 16 16 14 13 10 8 4 -0 -5 -9 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -5 0 1 -2 -7 -11 -13 -12 -10 -6 -3 -1 -2 -4 -6 -7 -8 -9 -9 -7 -5 -4 -5 -6 -6 -4 -2 -1 -2 -4 -6 -6 -3 -1 0 -1 -4 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 -0 -1 -1 -0 0 1 0 -0 -1 -1 -0 0 1 0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 1 2 2 3 4 4 5 5 5 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 6 6 6 5 4 4 3 2 2 2 2 4 6 7 7 5 4 4 4 3 3 2 2 2 2 1 2 2 2 2 2 2 2 3 3 4 5 5 5 5 5 5 6 6 6 6 7 7 8 8 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 5 5 3 2 1 1 0 -0 -0 0 1 1 2 3 3 4 4 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 7 7 8 8 7 6 3 1 -3 -6 -8 -11 -13 -15 -17 -18 -17 -17 -16 -15 -15 -14 -14 -13 -13 -12 -12 -12 -11 -11 -11 -11 -12 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -6 -6 -8 -9 -11 -12 -13 -13 -13 -15 -15 -12 -9 -7 4 4 5 5 5 5 5 6 6 6 7 8 8 9 9 11 12 13 12 9 8 7 9 10 11 12 12 11 10 8 7 6 5 5 4 4 3 2 2 3 6 11 14 16 18 21 23 20 15 11 7 5 4 4 5 5 5 4 5 6 7 9 11 12 13 14 15 15 14 13 12 10 5 -0 -6 -10 -10 -10 -10 -11 -11 -11 -10 -9 -9 -9 -9 -10 -11 -8 -2 0 -1 -6 -10 -13 -12 -10 -7 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -4 -5 -6 -8 -7 -5 -3 -3 -5 -7 -7 -5 -2 1 0 -3 -5 -6 -5 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -0 0 -0 -1 -1 -0 0 1 0 -1 -1 -1 0 0 0 -0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -2 -1 -0 1 1 2 2 3 3 4 4 5 5 5 6 6 6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 7 7 6 6 6 6 5 5 5 6 6 6 6 6 7 7 7 7 7 7 7 6 6 5 5 5 4 4 3 4 6 7 9 9 8 6 6 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 6 6 6 6 6 6 6 7 7 7 8 8 8 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 5 4 2 1 0 -1 -1 -1 -1 -1 -0 0 1 2 2 2 2 2 1 1 2 3 4 5 5 5 5 5 5 5 5 5 6 7 7 8 8 7 5 2 -1 -4 -7 -10 -13 -15 -17 -18 -18 -17 -16 -16 -15 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -7 -7 -8 -10 -11 -12 -13 -13 -13 -13 -12 -10 -8 -6 6 6 6 5 5 5 5 5 5 6 7 9 9 10 12 13 15 16 16 13 11 11 12 13 13 13 12 12 11 9 8 6 5 5 4 3 2 1 1 1 2 5 8 11 15 21 27 28 25 18 11 5 3 5 6 6 5 4 4 5 6 8 9 10 11 12 13 13 14 14 13 12 10 6 0 -6 -10 -11 -11 -12 -13 -14 -14 -13 -12 -11 -10 -9 -9 -10 -7 -4 -4 -6 -7 -9 -9 -8 -8 -9 -11 -11 -9 -8 -6 -5 -4 -3 -3 -4 -6 -8 -9 -7 -5 -4 -5 -7 -8 -6 -2 -0 0 -2 -4 -4 -3 -2 -2 -4 -5 -6 -5 -5 -4 -2 -1 -0 0 -0 -0 -1 -1 0 0 0 -0 -1 -1 -0 0 0 -0 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 1 2 2 3 3 4 4 5 5 5 6 6 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 6 6 7 7 7 8 8 8 7 7 6 6 6 6 6 5 5 6 7 9 11 11 10 9 7 7 7 7 6 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 8 8 9 9 9 9 8 8 8 7 7 7 6 6 6 6 6 6 6 5 4 3 2 0 -0 -1 -1 -1 -1 -1 -1 -0 0 1 2 2 1 1 1 1 2 3 4 5 5 5 5 4 4 4 5 5 6 7 8 8 7 6 3 1 -2 -5 -8 -11 -14 -17 -18 -18 -18 -17 -16 -15 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -13 -12 -11 -9 -7 -5 7 7 7 7 7 7 7 7 7 8 8 9 10 11 12 14 16 17 17 14 13 14 15 15 14 13 12 11 10 10 8 7 6 5 4 3 2 1 0 0 1 3 5 7 10 15 23 31 35 31 21 9 3 5 7 7 6 4 4 5 5 6 6 8 9 10 11 12 13 13 13 13 12 10 6 -0 -6 -9 -10 -11 -12 -14 -15 -15 -14 -14 -12 -10 -8 -9 -8 -7 -7 -8 -6 -6 -5 -6 -8 -11 -12 -11 -9 -7 -6 -4 -2 -2 -3 -6 -8 -9 -8 -6 -4 -5 -6 -8 -6 -4 -1 -1 -3 -4 -4 -2 -1 -0 -1 -4 -5 -6 -6 -5 -3 -1 0 0 -0 -1 -1 -1 -0 0 1 0 -1 -1 -1 -0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 1 2 3 3 4 4 4 5 5 5 6 6 7 7 7 8 8 8 8 8 9 9 9 9 8 8 8 9 9 9 9 8 8 8 8 7 7 7 7 7 7 6 6 6 5 5 5 6 6 6 7 7 7 7 8 8 8 7 7 7 7 7 6 6 7 9 11 13 13 12 10 9 9 8 8 8 7 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 8 8 7 7 7 7 7 7 7 7 7 6 6 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -1 -0 1 1 1 1 1 1 1 2 4 4 5 5 4 4 4 4 4 5 6 7 8 8 7 6 4 1 -1 -3 -6 -10 -13 -17 -19 -19 -19 -18 -17 -16 -15 -14 -14 -14 -14 -14 -15 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -13 -12 -11 -9 -8 -5 7 8 8 8 8 8 8 9 9 9 10 10 10 10 11 13 14 15 14 13 12 14 14 13 13 12 11 10 10 9 9 8 7 6 5 4 2 1 0 -0 1 2 4 5 7 10 16 27 37 40 34 20 6 5 7 7 6 5 5 6 6 6 5 5 5 6 7 9 11 12 13 13 12 11 8 4 -0 -4 -6 -7 -9 -11 -13 -14 -15 -16 -15 -13 -10 -8 -7 -7 -9 -10 -8 -4 -3 -4 -6 -8 -9 -9 -8 -7 -6 -4 -4 -5 -8 -10 -10 -9 -6 -4 -4 -6 -7 -7 -5 -4 -3 -4 -5 -5 -3 -1 -0 -1 -2 -4 -6 -7 -7 -4 -1 1 1 0 -1 -1 -2 -1 -0 0 0 -0 -1 -2 -1 -0 -0 -1 -1 -2 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 1 2 3 3 4 4 5 5 5 6 6 6 7 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 7 7 7 8 8 8 8 8 8 8 8 7 8 10 13 14 15 14 12 11 10 10 9 9 9 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 6 4 3 2 1 0 -0 -1 -1 -2 -2 -2 -1 -0 0 1 1 1 1 1 2 3 4 4 4 4 4 4 3 3 4 5 6 7 7 7 6 4 2 -0 -2 -4 -7 -12 -16 -19 -20 -20 -19 -18 -17 -16 -15 -15 -15 -15 -15 -16 -16 -16 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -11 -12 -12 -13 -14 -15 -15 -14 -13 -11 -10 -9 -7 7 7 7 7 7 8 8 9 10 10 10 9 9 9 10 10 11 12 10 9 10 10 10 10 9 9 9 8 8 8 8 7 7 6 6 5 4 3 2 1 1 1 3 4 6 8 12 21 30 37 37 29 16 9 9 9 7 6 6 6 6 7 7 6 5 3 2 4 6 9 11 12 12 11 9 6 3 -0 -2 -4 -5 -7 -9 -11 -13 -16 -16 -15 -12 -9 -7 -8 -9 -11 -10 -6 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -8 -10 -12 -13 -11 -8 -5 -5 -5 -7 -8 -8 -6 -6 -6 -7 -7 -5 -3 -2 -2 -3 -5 -6 -8 -8 -6 -3 0 2 1 -1 -2 -3 -3 -2 -0 0 -0 -1 -2 -1 -1 -0 -1 -1 -2 -2 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 0 1 1 2 3 3 4 5 5 6 6 6 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 8 8 8 8 9 9 9 9 11 13 15 16 15 13 12 11 11 11 10 10 10 9 9 9 8 8 8 8 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 8 8 8 9 9 10 10 10 10 9 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 7 6 5 4 4 3 2 1 0 -1 -1 -2 -2 -2 -2 -1 0 1 1 2 2 3 4 4 4 4 4 4 3 3 3 3 4 5 6 7 7 6 4 2 0 -1 -2 -5 -9 -14 -18 -20 -20 -19 -17 -17 -16 -16 -15 -15 -15 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -15 -14 -14 -13 -13 -13 -12 -12 -11 -11 -11 -12 -12 -13 -14 -14 -15 -16 -16 -15 -14 -13 -12 -11 -10 6 6 6 5 5 5 6 7 8 8 8 8 8 8 8 8 9 9 7 6 6 6 6 6 6 6 6 6 5 5 5 4 4 3 3 3 3 3 4 4 4 4 4 5 5 6 9 14 22 29 31 29 22 15 14 13 11 9 7 7 7 7 7 7 5 2 -1 -2 0 3 6 8 9 9 8 6 3 1 -1 -3 -4 -5 -6 -8 -10 -13 -15 -15 -13 -10 -8 -7 -7 -11 -11 -8 -6 -5 -4 -3 -4 -4 -6 -7 -8 -10 -12 -14 -15 -14 -12 -9 -7 -6 -7 -8 -8 -8 -7 -8 -8 -8 -7 -5 -4 -3 -4 -5 -7 -9 -9 -8 -5 -1 2 2 -0 -2 -4 -4 -3 -2 -1 -1 -1 -2 -2 -1 -0 -0 -1 -2 -2 -1 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 1 1 2 2 3 3 4 5 5 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 9 9 9 10 11 13 15 16 15 14 13 13 12 12 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 8 8 8 7 6 5 5 4 3 3 2 1 -0 -1 -2 -3 -2 -2 -1 0 1 2 3 4 4 4 4 4 4 4 3 3 2 2 3 4 5 6 6 5 4 2 0 -1 -1 -3 -7 -12 -17 -19 -19 -18 -17 -16 -16 -15 -15 -15 -16 -16 -17 -17 -17 -18 -18 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -14 -13 -13 -13 -13 -13 -14 -14 -15 -16 -16 -17 -17 -16 -15 -14 -13 -13 -11 4 4 3 3 2 2 3 4 4 5 5 6 6 7 7 7 7 7 6 5 5 5 5 6 5 5 4 4 4 3 2 1 0 -1 -1 -1 -1 -0 1 3 5 6 7 7 7 7 7 10 15 19 22 22 20 17 17 17 16 13 10 8 7 7 6 5 3 -0 -4 -5 -5 -3 -0 3 5 6 5 4 2 -0 -2 -4 -4 -5 -6 -6 -8 -10 -11 -11 -12 -11 -9 -7 -6 -10 -10 -9 -7 -6 -5 -4 -4 -4 -6 -7 -9 -11 -13 -15 -15 -15 -13 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -5 -7 -9 -10 -10 -8 -5 -1 1 0 -2 -4 -5 -5 -4 -3 -2 -2 -2 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 0 1 2 2 2 2 2 2 2 3 3 3 4 5 5 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 10 11 13 15 15 15 14 14 14 14 13 13 12 12 12 12 11 11 11 11 11 11 12 12 12 11 11 10 10 10 9 9 9 9 8 8 8 8 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 8 8 7 6 6 5 5 5 4 3 2 1 -1 -2 -2 -2 -2 -1 -0 1 2 3 4 4 4 4 4 4 4 3 3 2 2 2 3 4 5 6 5 4 2 0 -1 -1 -2 -4 -9 -14 -18 -18 -17 -16 -15 -14 -14 -14 -15 -15 -16 -16 -17 -18 -18 -19 -19 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -15 -14 -14 -14 -14 -15 -15 -16 -16 -17 -18 -18 -17 -17 -16 -15 -14 -13 2 1 1 0 -0 -0 0 1 1 2 3 4 4 4 4 4 5 6 5 6 6 6 6 6 6 5 5 5 4 3 2 1 -1 -3 -4 -5 -5 -5 -3 -1 2 5 6 7 8 9 9 10 12 14 16 16 15 14 16 18 19 17 13 9 8 6 5 3 0 -2 -4 -6 -7 -7 -6 -4 -1 0 1 0 -1 -3 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -9 -11 -10 -8 -8 -10 -9 -9 -8 -7 -7 -6 -6 -6 -7 -8 -10 -12 -13 -14 -15 -15 -15 -14 -14 -13 -11 -10 -8 -8 -8 -8 -7 -7 -5 -4 -4 -4 -6 -8 -10 -11 -11 -9 -5 -1 -0 -2 -4 -6 -7 -6 -5 -4 -3 -3 -3 -3 -2 -1 -1 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 0 1 2 2 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 10 11 12 13 14 15 14 14 14 14 14 14 14 13 13 13 12 12 12 13 13 13 13 13 13 13 13 12 12 11 11 10 10 10 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 8 8 7 7 6 6 6 6 5 5 3 2 1 -0 -1 -1 -1 -1 -0 0 1 2 3 4 4 5 5 4 4 4 3 3 2 2 2 3 5 6 6 5 3 0 -1 -1 -0 -0 -4 -10 -16 -17 -15 -14 -13 -12 -12 -12 -13 -14 -15 -16 -17 -18 -19 -20 -20 -20 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -16 -15 -15 -16 -16 -16 -16 -17 -18 -18 -18 -18 -18 -17 -16 -15 -14 2 1 1 1 1 1 1 2 3 3 3 3 3 2 2 2 4 4 5 5 6 5 5 5 5 5 5 5 5 4 2 1 -1 -2 -4 -5 -6 -6 -6 -4 -1 2 4 6 7 9 10 11 12 13 13 13 11 11 12 15 17 18 16 12 9 7 4 1 -1 -3 -4 -5 -6 -8 -9 -9 -8 -6 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -7 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -14 -15 -16 -16 -16 -15 -13 -11 -10 -8 -7 -7 -6 -6 -4 -3 -3 -4 -6 -8 -10 -11 -11 -9 -5 -2 -1 -3 -6 -7 -7 -7 -5 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 8 8 8 8 8 7 8 8 8 9 9 10 10 10 11 12 13 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 14 14 14 14 15 15 14 14 13 13 12 12 11 11 10 10 9 9 9 9 9 9 9 9 9 10 10 11 11 11 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 8 8 7 7 7 7 7 7 7 6 5 4 2 1 1 0 0 0 0 1 1 2 3 3 4 4 5 5 5 5 5 4 3 2 2 3 5 6 7 7 5 2 0 -0 1 3 3 -3 -12 -16 -13 -12 -10 -10 -9 -10 -10 -11 -13 -14 -16 -18 -19 -20 -21 -21 -21 -21 -21 -20 -19 -19 -18 -18 -18 -17 -17 -17 -16 -16 -16 -16 -17 -17 -18 -19 -19 -19 -18 -18 -17 -16 -14 3 2 3 3 3 3 3 3 3 2 2 2 2 1 1 2 3 3 3 4 4 4 4 4 4 4 4 4 4 3 2 1 -0 -2 -3 -4 -5 -5 -5 -5 -3 -1 1 3 6 7 9 10 12 12 12 11 10 10 11 12 13 15 16 15 13 9 5 1 -3 -5 -5 -5 -5 -6 -7 -9 -10 -10 -9 -8 -6 -6 -6 -7 -7 -8 -9 -9 -8 -8 -7 -7 -7 -8 -9 -10 -11 -12 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -13 -14 -15 -15 -16 -15 -15 -13 -11 -9 -8 -7 -6 -5 -4 -3 -3 -4 -5 -7 -9 -11 -11 -8 -5 -2 -2 -4 -7 -8 -8 -7 -5 -4 -4 -4 -4 -4 -3 -2 -3 -4 -4 -3 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 10 10 10 11 12 13 13 14 14 14 15 15 15 15 15 15 15 14 14 14 14 14 15 15 15 16 16 16 15 15 14 14 13 13 12 12 11 11 10 10 9 9 10 10 10 9 9 10 10 10 11 11 11 10 10 10 10 10 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 7 7 5 4 3 2 2 2 2 1 1 1 2 3 3 4 4 5 5 6 6 6 6 5 4 3 4 5 7 9 9 8 6 4 2 4 7 10 12 11 2 -3 -5 -5 -6 -6 -6 -6 -8 -9 -12 -14 -16 -18 -20 -21 -22 -22 -22 -21 -21 -21 -20 -20 -19 -19 -18 -18 -18 -17 -17 -17 -17 -17 -18 -18 -18 -19 -19 -18 -18 -17 -16 -14 2 2 2 2 2 1 0 -0 -1 -1 -1 -1 -1 -0 1 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 1 0 -1 -2 -3 -3 -3 -3 -3 -3 -2 -1 -0 2 4 7 8 9 9 9 9 9 9 10 10 9 8 9 14 17 16 13 9 4 -3 -8 -9 -8 -7 -6 -6 -7 -7 -8 -9 -9 -8 -7 -7 -6 -7 -8 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -10 -12 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -15 -14 -13 -11 -9 -7 -6 -5 -4 -3 -3 -4 -5 -7 -9 -10 -10 -7 -4 -2 -3 -5 -8 -9 -8 -6 -5 -5 -5 -5 -5 -4 -3 -3 -4 -5 -4 -3 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 0 0 0 1 1 1 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 8 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 15 15 15 15 15 15 15 14 14 14 15 15 16 16 16 17 17 16 16 15 15 15 14 13 13 12 11 11 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 10 10 10 10 9 9 10 10 9 9 9 9 9 9 8 8 8 8 9 8 8 7 6 5 4 4 4 4 3 2 2 2 3 3 4 5 5 5 6 6 7 7 6 6 5 6 7 9 11 13 13 12 10 8 8 11 16 20 24 17 10 5 3 1 -0 -1 -2 -3 -5 -7 -11 -14 -17 -19 -20 -21 -22 -22 -22 -22 -22 -21 -21 -21 -20 -20 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -15 -14 2 1 1 0 -1 -2 -3 -3 -4 -4 -3 -3 -3 -2 -0 1 3 4 4 3 3 2 2 2 2 1 1 1 1 0 -0 -2 -3 -3 -4 -4 -3 -3 -2 -1 0 0 1 1 2 5 8 10 11 10 9 7 7 8 8 7 6 7 10 15 16 14 11 7 1 -5 -9 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -10 -11 -11 -10 -11 -13 -11 -10 -10 -11 -11 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -14 -13 -12 -10 -8 -7 -5 -4 -3 -3 -3 -5 -7 -9 -10 -9 -6 -3 -2 -3 -5 -8 -9 -8 -6 -5 -5 -6 -6 -5 -4 -4 -5 -5 -5 -4 -2 -1 -2 -3 -3 -2 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 9 9 9 9 10 10 10 11 11 12 12 13 13 14 14 15 15 15 16 16 16 16 16 15 15 15 15 15 15 16 16 17 17 17 17 17 17 16 16 16 15 15 14 13 12 12 11 11 11 11 11 11 11 10 10 10 10 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 8 9 9 9 9 9 8 7 6 6 6 5 5 4 3 3 3 4 4 5 5 6 6 7 7 8 8 7 7 8 10 12 15 17 18 18 17 15 15 16 20 23 26 24 19 14 11 8 6 5 4 3 1 -1 -5 -9 -13 -16 -18 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -21 -21 -20 -20 -19 -19 -19 -18 -18 -18 -18 -17 -17 -17 -16 -16 -15 -13 2 2 1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -2 -0 1 2 3 3 3 3 2 2 2 1 1 1 0 0 -1 -1 -3 -4 -5 -5 -5 -5 -4 -2 -0 1 2 3 3 4 4 5 6 8 10 11 12 11 9 8 6 5 3 3 5 12 12 10 8 3 -1 -5 -8 -11 -13 -14 -13 -12 -11 -10 -9 -10 -10 -9 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -10 -11 -13 -12 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -10 -9 -7 -6 -4 -3 -2 -3 -5 -6 -8 -9 -8 -6 -3 -2 -3 -6 -8 -8 -7 -5 -5 -6 -7 -7 -6 -5 -5 -6 -6 -5 -3 -1 -1 -3 -3 -3 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 0 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 11 11 11 12 12 12 13 13 13 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 18 18 18 17 17 17 17 17 16 16 15 14 13 13 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 10 10 9 9 8 7 7 7 6 5 4 4 4 4 4 5 6 7 7 7 7 8 8 9 9 10 13 15 18 21 23 24 23 22 21 21 23 25 27 27 24 21 18 15 13 11 10 9 8 6 3 -1 -5 -10 -14 -17 -19 -20 -21 -22 -23 -23 -23 -23 -23 -22 -22 -22 -21 -21 -20 -20 -19 -18 -18 -17 -16 -16 -16 -15 -15 -14 -13 2 2 1 1 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 0 1 2 2 2 2 2 2 2 1 1 1 0 -1 -2 -3 -5 -6 -7 -7 -6 -5 -3 -1 0 2 4 5 5 5 5 5 6 8 10 11 12 11 10 9 3 -6 -7 -6 -4 -2 1 3 3 1 -1 -3 -6 -10 -13 -14 -14 -14 -14 -13 -13 -12 -10 -9 -8 -8 -7 -7 -7 -7 -8 -8 -10 -11 -11 -11 -11 -14 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -7 -5 -4 -3 -2 -3 -4 -6 -8 -9 -8 -6 -3 -2 -3 -6 -8 -8 -7 -5 -6 -7 -8 -7 -5 -5 -5 -6 -6 -4 -1 -0 -2 -4 -4 -2 -1 -0 -1 -2 -2 -1 -1 -1 -1 -0 -0 -1 -1 -0 -0 -0 -0 0 0 1 1 1 2 2 3 4 4 4 4 4 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 10 10 11 11 11 11 11 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 12 12 12 13 13 13 13 13 14 14 15 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 17 17 17 16 16 15 14 14 13 13 13 13 13 13 13 13 13 12 12 11 11 11 11 11 11 11 11 11 11 11 10 10 10 11 11 11 11 11 10 10 10 9 9 9 9 10 11 11 11 10 9 9 9 8 8 7 7 6 5 5 5 6 7 7 7 7 7 8 9 10 11 12 15 18 21 23 26 27 28 27 26 26 26 28 28 28 27 25 23 20 18 16 15 14 12 11 9 7 3 -2 -6 -11 -14 -17 -19 -21 -22 -23 -24 -24 -24 -23 -23 -23 -22 -22 -21 -20 -19 -18 -17 -16 -15 -15 -14 -14 -13 -13 -12 1 1 1 0 0 -0 -0 -0 0 1 1 1 1 1 0 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 0 -0 -2 -3 -4 -5 -6 -7 -7 -6 -4 -3 -1 1 3 4 5 6 6 7 7 8 9 10 10 10 9 10 2 -9 -9 -10 -10 -8 -5 -1 0 1 0 -0 -2 -4 -7 -10 -13 -14 -15 -16 -16 -14 -11 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -11 -12 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -9 -7 -5 -4 -2 -2 -2 -4 -6 -9 -10 -9 -6 -3 -2 -4 -7 -8 -7 -6 -5 -6 -8 -8 -6 -5 -5 -6 -6 -4 -2 0 -0 -3 -4 -3 -1 1 0 -2 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 1 2 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 7 7 7 7 8 8 8 8 8 8 8 7 7 8 8 8 8 9 9 10 11 11 11 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 11 12 12 12 13 13 13 13 13 13 13 14 15 15 16 16 17 17 17 18 18 17 17 18 18 18 18 18 18 18 18 18 19 19 18 18 18 18 18 18 17 17 16 16 15 14 14 14 14 14 14 15 15 14 14 13 13 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 11 11 12 11 11 10 10 10 10 10 9 8 7 7 6 7 7 8 8 8 8 9 10 11 12 13 16 19 22 25 27 29 30 30 30 30 30 30 30 29 28 27 25 24 22 20 18 17 15 14 13 11 9 6 2 -3 -8 -12 -16 -18 -21 -23 -24 -25 -25 -24 -24 -24 -23 -22 -22 -20 -19 -18 -16 -15 -14 -14 -13 -13 -12 -12 -11 0 -1 -2 -2 -2 -2 -1 -0 1 1 1 2 2 1 0 -1 -2 -3 -3 -2 -1 -1 -1 -0 -0 0 0 0 -0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -5 -3 -1 0 2 4 5 6 7 8 8 8 8 8 9 8 7 6 -0 -9 -9 -9 -9 -8 -6 -4 -2 -1 -0 -0 -0 -1 -2 -5 -8 -11 -13 -15 -15 -14 -11 -10 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -14 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -9 -7 -6 -4 -2 -1 -2 -4 -7 -10 -11 -9 -6 -3 -2 -4 -7 -8 -6 -5 -5 -7 -8 -7 -5 -5 -5 -6 -5 -2 0 1 -2 -4 -4 -1 1 1 -1 -3 -3 -2 -1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 2 3 4 3 3 3 4 4 5 6 6 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 7 8 8 8 8 8 9 9 9 9 9 9 9 8 9 9 9 10 10 10 11 11 11 12 12 13 13 14 14 14 14 14 13 13 13 13 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 14 15 15 16 16 17 17 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 17 17 16 16 16 16 16 16 16 16 16 16 16 15 14 13 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 12 11 11 11 11 11 10 10 10 10 11 12 12 12 11 11 11 11 11 11 11 10 10 9 8 8 8 8 9 9 9 10 11 12 13 14 17 19 22 25 27 29 30 31 32 33 34 34 33 31 30 28 27 26 25 23 22 20 18 17 15 14 12 10 8 4 -1 -6 -11 -15 -19 -21 -23 -24 -25 -25 -24 -23 -23 -22 -21 -20 -18 -17 -15 -14 -13 -13 -12 -12 -11 -11 -11 3 -1 -3 -4 -5 -4 -4 -2 -1 -0 0 0 1 1 0 -1 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -6 -5 -4 -2 -0 2 3 5 6 7 8 8 8 8 8 7 7 5 2 -3 -8 -10 -11 -10 -9 -7 -5 -3 -2 -2 -2 -2 -1 -1 -1 -3 -5 -7 -9 -10 -11 -11 -11 -10 -10 -10 -9 -10 -10 -11 -12 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -10 -11 -10 -10 -8 -6 -3 -1 -0 -2 -4 -8 -11 -12 -9 -5 -3 -3 -5 -7 -6 -5 -4 -5 -7 -8 -6 -5 -5 -5 -6 -4 -1 0 -1 -4 -5 -2 1 2 1 -3 -4 -3 -1 0 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 2 3 3 2 2 2 3 4 5 6 6 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 12 12 13 13 13 14 14 15 15 15 15 15 14 14 14 13 13 13 13 13 12 12 12 12 13 13 13 14 14 14 14 14 14 14 14 15 15 16 16 17 17 18 18 19 19 19 20 20 20 20 20 20 20 19 19 19 19 19 20 20 20 20 20 19 19 18 18 17 17 17 17 17 17 17 17 17 18 17 17 16 15 14 13 13 12 12 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 12 12 11 10 10 10 10 10 10 11 12 13 13 14 15 17 19 21 24 26 28 30 31 33 34 35 36 36 34 32 30 29 28 28 27 26 24 22 20 18 17 15 13 11 8 3 -2 -7 -12 -16 -19 -22 -23 -24 -25 -24 -23 -22 -21 -20 -19 -18 -16 -15 -13 -12 -12 -11 -11 -11 -11 -11 4 -1 -4 -5 -6 -5 -5 -4 -2 -1 -1 -1 -0 -0 -1 -1 -2 -3 -3 -2 -2 -1 -1 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -3 -1 1 3 5 6 7 8 9 8 8 7 7 6 6 4 2 -2 -7 -10 -11 -11 -10 -8 -5 -3 -2 -2 -3 -3 -3 -2 -2 -2 -3 -4 -5 -7 -9 -10 -11 -11 -12 -11 -11 -10 -11 -11 -12 -14 -16 -16 -16 -13 -12 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -11 -11 -11 -10 -8 -5 -2 0 0 -2 -6 -10 -13 -12 -8 -4 -3 -4 -6 -6 -4 -3 -3 -5 -8 -7 -6 -5 -5 -5 -5 -2 -1 -1 -3 -5 -4 -0 2 2 -1 -4 -4 -2 0 2 1 -1 -1 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 0 1 2 1 -0 0 1 3 4 5 5 5 5 6 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 13 13 13 14 14 14 15 15 15 15 16 16 17 17 17 16 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 14 14 14 15 15 16 16 17 17 17 18 18 19 20 20 21 21 21 22 21 21 21 20 20 20 20 20 20 21 21 21 21 21 20 20 19 18 18 18 18 18 18 18 19 19 19 19 19 18 17 16 15 14 13 12 12 11 11 11 12 12 12 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 12 12 12 13 13 14 14 13 13 13 12 12 12 11 12 12 13 14 15 16 17 18 19 21 23 25 26 28 30 31 33 35 37 37 37 35 34 32 31 31 31 30 29 27 25 23 21 19 17 14 11 7 2 -3 -8 -13 -17 -20 -22 -23 -24 -24 -23 -22 -21 -19 -18 -17 -16 -14 -12 -11 -11 -10 -10 -11 -11 -11 5 1 -2 -3 -3 -3 -4 -3 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -1 1 3 5 7 7 8 8 8 8 8 7 7 7 7 6 4 1 -3 -7 -10 -11 -10 -8 -6 -3 -3 -3 -4 -5 -5 -4 -3 -3 -3 -3 -3 -5 -7 -9 -11 -12 -13 -13 -12 -11 -10 -11 -12 -15 -17 -17 -13 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -12 -12 -12 -12 -11 -10 -9 -9 -9 -9 -10 -11 -12 -12 -10 -7 -2 1 2 -0 -4 -8 -11 -13 -9 -5 -3 -3 -5 -6 -4 -1 -1 -3 -6 -8 -7 -5 -4 -4 -4 -3 -2 -1 -3 -5 -5 -2 2 3 1 -3 -5 -3 0 2 3 1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -0 0 1 0 -1 -1 -0 1 3 4 4 4 3 4 5 6 6 7 7 8 8 9 10 10 11 11 11 12 12 12 12 12 13 13 13 13 13 12 12 12 13 14 14 14 15 15 16 16 17 17 17 18 18 18 18 19 19 18 18 17 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 17 17 17 18 18 19 19 20 21 21 22 23 23 23 23 22 22 21 21 21 21 22 22 23 23 23 22 22 21 20 20 19 19 19 19 19 19 20 21 21 21 21 20 20 19 17 16 15 14 13 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 13 13 13 13 14 15 16 17 18 18 19 20 22 23 25 26 28 30 32 34 36 37 38 37 36 35 34 34 35 35 34 33 31 29 27 24 22 19 16 13 8 3 -3 -8 -13 -17 -19 -21 -23 -24 -24 -24 -22 -21 -19 -18 -15 -13 -11 -10 -10 -10 -10 -10 -10 -11 10 7 4 3 3 2 1 1 0 0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -2 0 3 5 7 8 8 7 7 7 7 7 8 8 8 8 8 6 4 0 -4 -7 -9 -10 -9 -7 -5 -4 -5 -6 -6 -6 -5 -5 -4 -3 -3 -3 -4 -5 -7 -9 -11 -13 -13 -13 -12 -11 -12 -15 -18 -18 -15 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -9 -10 -11 -12 -11 -8 -3 1 3 2 -2 -6 -10 -12 -10 -5 -2 -2 -4 -5 -4 -0 1 -1 -4 -7 -7 -5 -4 -3 -3 -3 -3 -2 -3 -4 -5 -4 0 3 2 -1 -4 -5 -1 2 4 3 0 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -0 -0 -1 -1 -2 -1 0 1 3 3 3 2 2 3 4 5 5 6 6 7 8 9 10 11 11 12 12 13 13 14 14 14 14 14 14 14 14 14 14 15 15 16 16 16 16 17 18 18 19 19 20 20 20 21 21 21 21 20 19 18 18 17 17 17 16 16 16 16 16 16 17 17 17 17 17 16 16 16 16 16 16 16 17 17 17 18 18 18 18 19 19 20 21 22 23 24 24 24 24 24 23 23 22 22 22 23 23 24 24 24 24 23 23 22 22 21 20 20 20 20 21 22 22 23 23 23 23 22 21 20 19 17 15 14 13 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 14 13 13 14 14 13 13 13 13 14 14 15 15 15 15 15 15 15 15 14 14 14 15 15 16 17 18 19 20 21 22 23 24 26 27 28 30 32 35 36 38 38 37 36 36 36 36 37 37 37 36 34 33 31 28 26 24 21 17 13 7 0 -5 -10 -13 -16 -19 -22 -24 -26 -25 -23 -21 -19 -17 -14 -11 -10 -9 -9 -9 -10 -10 -11 15 12 11 11 10 9 8 6 5 4 3 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -6 -5 -4 -4 -3 -3 -3 -2 -1 1 4 6 8 8 8 7 5 5 5 6 7 8 9 9 9 7 5 2 -2 -5 -8 -10 -10 -10 -9 -7 -7 -8 -8 -8 -7 -6 -5 -5 -4 -3 -3 -3 -5 -7 -9 -11 -13 -13 -13 -13 -15 -17 -18 -14 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -7 -8 -9 -10 -11 -11 -9 -5 -0 2 2 -0 -4 -8 -10 -9 -5 -2 -2 -3 -5 -4 0 2 1 -3 -6 -7 -6 -4 -2 -2 -2 -3 -2 -2 -3 -4 -4 -1 3 3 0 -3 -5 -4 -0 3 4 2 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 1 2 2 1 0 1 2 3 4 4 4 5 6 8 9 10 11 12 12 13 14 14 14 15 15 15 15 15 15 15 15 16 17 17 17 17 17 18 18 19 20 20 21 22 22 22 23 23 23 23 22 21 20 20 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 18 18 19 19 19 19 19 20 20 21 22 23 24 25 25 25 25 25 24 24 24 24 24 25 25 25 25 25 25 25 24 23 23 22 21 21 21 22 23 23 24 25 25 25 24 24 23 21 20 18 16 15 14 13 12 12 12 12 13 13 13 14 14 14 15 15 15 15 15 15 14 14 14 14 14 13 13 13 14 15 15 15 15 16 16 16 16 15 15 15 15 15 15 16 17 18 20 21 22 23 23 25 26 27 28 29 31 33 35 36 37 37 37 36 36 37 37 38 38 38 38 37 36 34 33 31 29 27 23 19 13 8 4 -0 -4 -8 -12 -16 -17 -13 -23 -23 -21 -19 -16 -14 -12 -11 -10 -10 -10 -11 -12 16 14 14 14 15 15 14 12 11 9 8 6 4 2 1 -1 -2 -2 -3 -4 -4 -4 -5 -5 -5 -4 -4 -5 -5 -7 -8 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 0 2 4 6 7 8 8 7 5 3 2 4 5 6 7 7 7 7 5 3 -0 -4 -7 -10 -12 -13 -13 -12 -11 -11 -11 -10 -9 -8 -8 -7 -6 -5 -4 -4 -4 -5 -7 -10 -12 -13 -14 -15 -17 -16 -13 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -7 -8 -9 -10 -11 -10 -7 -3 0 2 0 -3 -6 -8 -8 -5 -1 -1 -3 -4 -4 -0 3 3 -0 -4 -6 -6 -3 -1 -0 -1 -2 -3 -2 -2 -2 -3 -1 2 3 1 -2 -5 -6 -3 1 4 3 1 -2 -3 -3 -2 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 0 1 1 0 -1 -1 0 2 3 3 3 3 5 6 7 8 9 10 11 12 13 14 14 15 15 16 16 16 16 16 17 17 18 18 18 18 18 19 19 20 21 21 22 22 23 23 24 24 25 25 24 24 23 22 22 21 21 21 21 21 20 20 20 20 20 20 20 20 19 19 19 19 18 18 18 18 18 19 19 20 20 20 20 20 20 21 22 22 24 25 26 26 27 26 26 26 26 26 26 26 26 26 26 27 27 27 26 26 25 24 23 23 23 23 23 24 24 25 26 26 26 26 26 25 24 22 20 19 17 15 14 13 13 13 13 13 14 14 15 15 15 16 16 16 16 16 16 15 15 15 15 14 14 14 14 14 15 15 16 16 16 16 16 16 16 15 15 15 15 15 16 17 18 19 21 22 23 24 25 26 28 29 30 31 32 34 35 36 37 37 36 36 36 36 37 38 38 38 38 37 37 36 35 35 34 32 29 25 22 17 13 9 6 7 12 19 27 -3 -6 -10 -22 -20 -18 -16 -15 -13 -12 -12 -13 -15 12 10 10 12 13 15 15 15 14 13 11 9 7 5 4 2 1 0 -1 -2 -2 -3 -3 -4 -3 -3 -3 -4 -5 -6 -7 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 1 2 3 5 8 10 11 8 2 -0 0 2 3 3 4 5 5 4 3 0 -3 -7 -10 -14 -17 -18 -16 -15 -14 -13 -12 -11 -11 -10 -10 -9 -7 -7 -6 -5 -5 -7 -10 -12 -13 -15 -16 -15 -11 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -9 -8 -8 -7 -6 -6 -5 -6 -6 -7 -8 -9 -10 -9 -6 -2 -0 -0 -3 -6 -7 -6 -4 -1 -0 -2 -4 -4 -1 3 4 2 -2 -5 -5 -3 0 1 0 -2 -4 -3 -2 -1 -2 -1 0 2 1 -1 -4 -6 -6 -2 2 4 2 -0 -3 -4 -3 -2 -1 -1 -2 -3 -3 -2 -2 -3 -4 -4 -3 -3 -2 -2 -2 -1 0 1 0 -1 -2 -1 0 2 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 16 17 17 17 18 18 19 19 19 19 19 20 21 22 22 22 23 23 24 24 25 25 26 26 26 25 25 24 24 23 23 23 23 23 23 23 23 22 22 22 21 21 21 21 20 20 20 19 19 19 20 20 20 21 21 21 21 21 22 22 23 23 24 25 26 27 27 28 27 27 27 27 27 27 27 27 27 28 28 28 28 27 27 26 25 24 24 24 24 25 25 26 27 27 28 28 28 27 26 24 23 21 19 18 16 15 14 14 14 14 14 15 16 16 17 17 17 17 17 17 17 16 15 15 15 15 14 14 14 14 15 15 16 16 16 16 17 16 16 16 15 15 15 15 15 16 17 19 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 36 36 35 35 36 36 37 38 38 38 37 36 36 36 37 37 36 35 34 31 27 22 17 14 15 20 29 37 40 40 22 -11 -20 -22 -21 -20 -18 -16 -17 -18 -20 7 5 4 5 6 8 9 10 11 10 9 7 6 5 5 4 3 2 1 0 -1 -2 -2 -2 -2 -2 -2 -3 -3 -5 -6 -8 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 -0 -0 0 2 8 13 15 9 4 -1 -4 -5 -4 -2 -1 1 1 1 0 -1 -3 -7 -11 -16 -20 -20 -18 -17 -16 -15 -14 -14 -13 -12 -12 -12 -12 -11 -9 -8 -7 -8 -9 -11 -14 -16 -15 -9 -5 -5 -5 -5 -5 -4 -5 -6 -7 -7 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -7 -5 -3 -2 -3 -5 -6 -6 -4 -2 -1 -2 -4 -4 -2 1 4 3 -1 -4 -5 -3 1 3 1 -1 -4 -4 -3 -1 -1 -1 -1 1 1 -0 -3 -6 -6 -4 0 3 3 1 -2 -4 -5 -3 -1 -1 -1 -3 -4 -3 -3 -3 -5 -6 -5 -4 -3 -3 -3 -2 -1 0 -0 -1 -3 -2 -1 0 1 0 0 1 2 3 5 6 7 8 8 9 10 11 13 13 14 15 15 16 16 17 17 18 19 19 19 19 19 20 21 22 23 23 23 24 24 24 25 25 26 26 27 27 26 26 26 26 25 25 25 25 25 25 25 25 25 24 24 23 23 23 22 22 21 21 21 21 21 21 21 21 22 22 22 22 23 23 24 24 24 25 25 26 27 28 28 29 28 28 28 28 28 28 28 28 28 29 29 29 29 28 27 27 26 26 25 25 26 26 27 27 28 29 29 29 28 27 26 25 23 21 20 18 17 16 15 15 15 15 16 17 18 18 18 18 18 18 18 17 16 16 15 15 15 15 14 14 14 15 15 16 16 16 17 17 16 16 16 16 16 15 15 15 15 16 18 20 21 23 24 25 26 27 28 30 31 32 33 33 34 34 34 34 34 34 35 36 37 37 38 37 36 35 35 35 36 36 37 37 37 36 33 28 23 20 19 23 29 35 39 41 39 31 -1 -14 -20 -23 -23 -21 -21 -22 -22 4 1 0 0 0 0 0 1 2 2 2 2 2 3 3 3 2 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -6 -7 -8 -8 -9 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -4 -2 4 11 15 13 4 -5 -8 -9 -7 -6 -5 -4 -4 -3 -4 -4 -5 -8 -11 -16 -21 -20 -19 -18 -16 -15 -15 -15 -14 -14 -15 -15 -15 -15 -13 -11 -8 -8 -10 -12 -14 -14 -9 -4 -3 -4 -4 -3 -3 -4 -5 -6 -7 -6 -5 -4 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -6 -5 -4 -4 -5 -6 -5 -4 -2 -2 -3 -5 -6 -4 -0 3 3 0 -3 -5 -3 0 3 3 -1 -4 -5 -4 -2 -1 -2 -2 -1 0 0 -2 -5 -6 -6 -3 2 3 3 -0 -3 -6 -5 -2 0 -0 -2 -5 -5 -4 -3 -5 -6 -6 -5 -4 -4 -4 -4 -2 -1 -1 -2 -3 -4 -3 -1 -0 -1 -1 -0 1 2 3 4 5 6 7 7 8 10 11 12 13 13 14 15 15 16 17 17 18 19 19 19 19 20 21 22 23 23 24 24 25 25 25 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 26 26 25 24 24 23 23 22 22 22 22 23 23 23 23 23 23 24 24 25 25 25 26 26 26 27 28 29 29 30 29 29 29 29 29 29 29 29 29 29 30 30 30 29 29 28 28 27 27 27 27 27 27 28 29 29 29 29 29 28 27 26 25 23 21 20 19 18 17 16 16 17 18 18 19 19 19 19 19 19 18 18 17 16 16 16 16 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 15 15 15 16 17 18 20 22 23 24 25 26 27 28 30 30 31 32 33 33 33 33 33 34 34 35 36 37 37 37 36 35 34 34 34 34 35 36 37 37 35 32 28 25 25 27 31 35 38 41 42 41 33 13 -4 -15 -23 -26 -24 -22 -19 4 3 2 0 -1 -2 -3 -4 -3 -3 -3 -2 -1 -0 0 0 0 -0 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -2 -3 -5 -7 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -4 -4 -3 -3 -3 -4 -5 -7 -10 -10 -4 11 13 11 6 1 -2 -4 -5 -7 -8 -8 -8 -8 -8 -8 -8 -10 -12 -16 -18 -18 -16 -15 -14 -15 -15 -15 -15 -16 -16 -17 -16 -14 -11 -9 -9 -9 -11 -12 -11 -10 -5 -3 -2 -3 -2 -2 -3 -4 -5 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -7 -8 -7 -3 1 3 1 -3 -6 -5 -2 2 4 0 -3 -5 -5 -3 -1 -1 -2 -2 -1 -1 -1 -3 -5 -6 -4 -1 2 3 1 -2 -5 -6 -3 0 1 -0 -4 -6 -5 -3 -3 -5 -6 -5 -3 -3 -4 -5 -4 -2 -1 -2 -4 -5 -5 -2 -1 -2 -2 -2 -0 1 2 3 4 5 6 6 7 8 9 11 11 12 12 13 14 15 15 16 17 18 18 18 19 20 21 22 23 23 24 24 25 25 25 26 26 27 27 27 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 28 28 27 26 25 25 24 24 24 24 24 24 24 24 24 25 25 26 26 27 27 27 27 27 27 28 28 29 30 31 31 30 30 29 29 29 29 29 30 30 30 31 31 30 30 30 29 28 28 28 28 28 28 29 29 30 30 30 30 29 28 27 26 24 23 22 20 19 18 18 18 18 19 19 20 21 20 20 20 19 19 18 18 17 17 16 16 16 16 16 15 15 15 15 15 16 16 16 16 15 15 16 16 16 16 16 16 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 31 32 32 32 32 33 33 34 35 36 37 37 36 35 34 33 33 33 33 34 35 36 35 34 32 30 30 30 33 36 38 41 43 44 43 37 25 8 -6 -11 -6 -5 -8 5 5 4 3 1 -0 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -0 -1 -1 -3 -4 -6 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -8 -9 -11 -12 -11 -1 8 11 9 6 2 0 -1 -2 -4 -5 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -13 -12 -11 -12 -13 -14 -15 -17 -16 -14 -12 -12 -12 -11 -10 -9 -10 -9 -8 -8 -7 -3 -2 -2 -2 -2 -3 -4 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -7 -7 -7 -6 -4 -3 -4 -6 -8 -10 -10 -6 -1 1 0 -4 -7 -7 -4 0 3 1 -2 -5 -5 -3 -1 -1 -2 -3 -2 -1 -1 -3 -4 -5 -5 -3 0 3 2 -0 -3 -6 -5 -1 2 1 -2 -5 -5 -3 -1 -2 -4 -5 -3 -2 -3 -5 -5 -3 -1 -2 -3 -5 -5 -3 -2 -2 -2 -2 -1 0 1 2 3 4 5 5 6 7 8 10 11 11 12 12 13 13 14 15 16 17 17 18 18 19 20 22 22 23 24 24 25 25 26 26 26 27 27 28 28 29 29 29 29 29 29 29 29 29 29 30 30 30 31 31 31 30 30 29 28 27 26 26 25 25 25 25 26 26 26 26 27 27 28 28 28 28 28 28 28 28 29 30 30 31 32 32 31 31 30 30 30 30 30 30 31 31 31 32 32 31 31 31 30 30 29 29 29 29 29 30 30 30 30 30 30 29 28 27 25 24 23 22 21 20 20 19 19 19 20 21 21 21 21 21 20 19 19 18 18 17 17 17 17 17 17 16 16 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 17 17 18 19 20 21 23 24 25 27 27 28 29 29 30 31 31 32 32 32 32 33 34 35 36 36 35 34 33 32 32 32 32 32 33 34 34 34 33 33 33 33 34 36 38 40 42 43 44 43 40 35 29 24 26 20 7 5 5 5 4 4 3 2 1 0 -0 -0 0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -3 -5 -6 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -11 -12 -11 -7 1 6 8 7 5 2 1 0 -1 -2 -3 -5 -7 -8 -9 -10 -11 -12 -12 -13 -12 -12 -11 -10 -11 -12 -14 -15 -15 -14 -12 -10 -11 -14 -15 -13 -11 -9 -7 -6 -7 -3 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -8 -8 -7 -5 -3 -4 -6 -9 -11 -12 -9 -4 -1 -1 -4 -8 -10 -7 -3 1 1 -1 -4 -4 -3 -1 -0 -1 -3 -3 -2 -1 -2 -3 -5 -5 -4 -2 1 2 1 -2 -4 -5 -3 2 3 1 -3 -5 -3 0 1 -1 -3 -3 -1 -1 -3 -5 -4 -2 -1 -2 -3 -4 -4 -2 -1 -2 -2 -1 0 1 2 3 4 5 5 5 6 7 9 10 11 11 12 12 13 13 14 15 15 16 17 18 19 20 21 22 23 23 24 25 25 26 26 27 27 28 29 29 29 30 30 30 30 30 30 30 30 30 30 30 31 31 32 32 32 32 31 30 30 29 28 28 27 27 27 27 27 28 28 29 30 30 30 30 30 30 30 30 30 30 31 31 32 32 33 33 32 32 31 31 31 31 31 31 32 32 32 33 33 33 33 32 32 31 31 31 31 30 30 31 31 31 31 31 30 30 29 28 26 25 24 23 22 22 21 21 20 20 21 21 22 22 22 22 21 20 20 19 19 18 18 18 18 18 18 17 16 16 16 15 15 15 15 15 14 14 14 15 15 15 16 16 17 17 17 18 18 19 20 22 23 25 26 27 28 28 29 29 30 30 31 31 31 32 32 32 33 34 34 34 34 33 32 31 31 31 31 31 32 32 32 32 33 33 34 34 36 37 38 39 41 42 42 41 38 36 32 28 25 15 3 4 4 5 5 5 5 4 4 3 2 2 1 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -10 -6 -0 4 6 5 3 2 1 1 0 0 -1 -3 -5 -7 -8 -10 -11 -12 -12 -13 -12 -12 -11 -11 -11 -12 -13 -14 -15 -14 -12 -10 -11 -13 -15 -15 -12 -8 -7 -8 -4 -2 -3 -3 -3 -4 -4 -4 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -7 -5 -4 -5 -8 -11 -12 -11 -7 -4 -3 -5 -9 -11 -10 -6 -2 -1 -1 -3 -4 -2 -1 0 -1 -2 -3 -2 -1 -1 -2 -3 -4 -4 -3 -0 2 2 0 -3 -4 -3 0 3 2 -1 -3 -3 1 3 2 -1 -2 -1 0 -1 -3 -3 -2 0 0 -1 -3 -3 -2 -0 -0 -1 -0 1 2 2 3 4 5 6 6 6 7 8 10 10 11 11 12 12 13 13 14 14 15 16 17 18 19 20 21 22 23 23 24 25 25 26 27 27 28 29 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 33 33 33 32 32 31 30 30 29 29 29 29 29 29 30 31 32 32 33 33 33 33 33 32 32 32 32 33 33 34 34 34 33 33 33 32 32 32 32 32 32 32 33 33 34 34 34 34 34 34 33 33 32 32 32 32 32 32 32 32 31 31 30 29 28 27 26 25 24 23 23 22 22 22 21 21 22 22 22 23 22 22 21 21 20 20 19 19 19 19 19 19 18 17 17 16 16 15 15 15 14 14 14 14 14 15 15 16 16 17 17 18 18 18 19 20 21 23 24 26 27 28 28 28 29 29 30 30 31 31 31 31 31 31 32 33 33 33 33 32 31 31 30 30 30 30 30 30 31 31 32 33 34 34 35 36 37 38 39 39 39 38 35 31 26 17 3 1 2 3 4 5 5 6 6 5 4 3 3 2 1 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -9 -10 -11 -12 -11 -8 -3 0 2 1 0 -0 -0 -0 1 1 0 -1 -2 -4 -5 -7 -9 -10 -12 -12 -13 -12 -12 -11 -11 -12 -13 -15 -16 -16 -13 -11 -10 -13 -15 -15 -11 -8 -10 -6 -4 -4 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -6 -5 -6 -8 -10 -11 -11 -8 -6 -5 -6 -9 -11 -11 -8 -5 -3 -2 -3 -4 -3 -1 -0 -0 -1 -2 -2 -1 -1 -1 -1 -3 -3 -3 -1 1 3 2 -1 -3 -3 -1 3 4 2 -1 -2 1 5 5 2 -1 -1 1 1 -2 -2 -1 1 2 1 -1 -1 -1 -0 1 0 1 2 3 3 4 5 6 6 6 6 7 8 9 10 11 11 11 12 13 13 13 14 15 15 16 17 18 19 20 21 21 22 23 24 25 25 26 27 28 29 30 30 31 32 32 32 32 32 32 32 32 32 31 31 32 32 32 33 33 33 33 33 33 32 32 32 31 31 31 31 31 32 33 34 35 35 35 35 35 35 35 35 34 34 34 35 36 36 36 35 34 34 34 34 33 33 33 33 33 33 34 34 34 35 35 35 35 35 35 35 34 33 33 33 33 33 33 32 32 31 31 30 29 28 27 26 25 25 24 24 23 23 23 23 23 23 23 23 23 23 23 22 22 21 20 19 20 20 20 19 19 18 17 17 16 16 15 15 15 14 14 14 14 15 15 16 16 17 18 18 18 18 19 19 20 22 23 25 27 28 28 29 29 29 30 30 31 31 31 30 30 30 30 31 32 32 32 32 31 31 30 30 30 29 29 29 29 30 31 32 33 33 34 34 35 35 36 36 37 36 34 31 25 17 5 0 0 1 2 3 3 3 4 3 3 3 3 3 2 2 1 1 0 -0 -1 -1 -1 -2 -2 -2 -2 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -6 -6 -7 -8 -8 -9 -8 -9 -9 -10 -11 -12 -12 -10 -7 -4 -3 -3 -3 -3 -2 -2 -0 1 1 1 -0 -1 -2 -4 -6 -8 -10 -11 -12 -12 -12 -12 -12 -14 -15 -17 -18 -17 -14 -11 -12 -15 -15 -13 -9 -11 -10 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -7 -8 -9 -8 -8 -7 -6 -6 -8 -9 -10 -10 -8 -6 -5 -6 -8 -10 -11 -9 -7 -5 -4 -4 -5 -4 -3 -1 -1 -1 -1 -2 -1 -0 0 -0 -1 -2 -2 -1 1 3 3 1 -1 -2 -1 2 5 4 1 -1 1 5 7 4 1 -0 1 2 0 -1 -1 1 3 3 1 -0 -0 1 1 1 2 2 3 4 4 5 6 7 7 7 7 8 9 10 11 11 11 12 12 13 14 14 14 15 16 16 17 18 19 20 20 21 22 23 24 25 25 26 28 29 30 30 31 32 32 33 33 33 33 33 33 33 33 33 32 32 33 33 33 33 34 34 34 34 34 33 33 33 33 33 33 34 35 36 37 38 38 38 37 37 38 37 37 36 36 37 37 38 38 37 36 35 35 35 35 35 34 34 34 34 34 35 35 35 35 35 36 37 37 37 36 35 35 34 34 34 34 33 33 32 32 32 31 31 30 29 28 27 26 26 25 25 25 24 24 24 24 24 24 24 24 24 24 23 22 20 20 20 21 21 20 19 19 18 18 18 17 16 16 15 15 14 14 14 14 15 15 16 17 18 18 18 19 19 19 20 21 23 24 26 27 28 29 29 30 30 30 30 31 31 30 30 29 29 29 30 31 32 32 32 31 30 30 29 28 28 28 28 29 30 31 31 32 32 33 33 33 34 34 35 35 34 31 26 20 14 1 1 0 -0 -0 0 0 -0 -1 0 1 1 2 2 2 2 2 2 2 1 1 1 1 0 -0 -1 -2 -3 -4 -5 -6 -6 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -9 -9 -10 -10 -10 -9 -10 -11 -12 -13 -13 -11 -9 -7 -6 -6 -5 -5 -4 -2 -1 0 1 1 0 0 -1 -2 -5 -7 -9 -10 -11 -12 -14 -15 -15 -16 -16 -16 -15 -14 -14 -15 -16 -15 -12 -12 -13 -10 -7 -7 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -9 -9 -9 -8 -7 -7 -7 -9 -10 -9 -7 -6 -5 -6 -8 -9 -10 -9 -7 -6 -5 -5 -6 -5 -4 -3 -2 -1 -1 -2 -1 -1 -0 0 0 -0 -0 -0 1 2 3 3 1 -1 -0 2 4 5 3 1 1 4 8 7 3 0 1 2 2 -0 -0 2 4 4 2 1 1 1 2 2 3 3 4 4 5 6 7 8 8 8 8 8 9 10 11 11 11 12 12 13 14 14 15 15 16 17 17 18 19 19 20 20 21 22 23 23 24 25 27 28 29 30 31 32 32 33 33 34 34 34 34 34 34 34 33 33 33 33 34 34 34 34 34 35 35 35 35 34 34 34 35 35 36 38 39 40 40 40 39 39 39 39 39 39 38 38 39 39 40 39 38 37 36 36 36 36 36 36 36 36 36 35 35 35 35 35 36 36 37 38 38 38 37 36 35 35 35 34 34 33 33 33 33 32 32 31 30 29 29 28 27 27 26 26 26 26 26 25 25 25 24 24 25 25 25 23 21 21 21 21 21 21 20 19 19 19 19 18 17 16 16 15 15 14 14 15 15 15 16 17 17 18 18 19 19 19 20 21 22 24 25 27 28 29 30 30 30 30 30 30 30 30 30 29 29 29 29 30 31 31 32 31 30 30 29 28 27 27 27 27 28 29 29 30 31 31 32 32 32 33 34 34 33 31 28 25 21 3 3 1 0 -1 -1 -3 -4 -5 -4 -4 -3 -3 -2 -1 -1 -1 -0 0 1 1 1 1 1 1 -0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -10 -11 -11 -11 -10 -10 -10 -11 -13 -14 -14 -13 -11 -10 -8 -7 -7 -6 -5 -4 -2 -1 -0 -0 0 0 1 0 -2 -5 -7 -10 -12 -14 -15 -14 -14 -13 -13 -13 -14 -14 -16 -18 -18 -15 -12 -13 -12 -8 -7 -6 -5 -6 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -8 -8 -9 -9 -9 -8 -8 -7 -8 -9 -8 -7 -6 -5 -6 -7 -8 -8 -8 -7 -6 -5 -6 -6 -6 -6 -4 -3 -2 -2 -1 -2 -1 -1 0 1 1 1 1 1 2 3 3 2 0 0 1 4 5 4 2 2 4 7 8 4 1 1 3 4 2 1 3 4 5 3 2 2 2 3 4 4 4 5 5 6 6 7 8 9 9 9 9 10 11 11 11 11 12 12 13 14 14 15 16 16 17 18 18 19 19 19 20 20 21 22 23 23 25 26 27 28 29 30 31 32 33 33 34 34 34 34 35 35 35 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 36 36 37 37 39 40 42 42 42 42 41 41 41 41 41 40 40 41 41 41 41 40 39 38 38 38 37 37 37 37 37 37 37 37 36 36 35 36 36 37 38 39 39 39 38 38 37 36 36 35 34 33 33 33 34 34 33 33 32 31 31 30 29 29 28 28 28 28 28 27 27 26 26 25 26 26 26 24 22 22 22 22 22 21 21 20 20 20 20 19 19 18 17 16 15 15 15 15 15 16 16 17 17 18 18 19 19 20 20 21 22 23 24 26 28 29 30 30 31 30 30 30 30 30 30 30 29 29 29 29 30 31 31 31 30 29 28 27 26 26 26 26 26 26 27 27 28 29 29 30 30 31 32 32 32 31 29 28 26 4 4 3 2 1 -1 -3 -5 -7 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 -0 -0 -1 -2 -2 -3 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -10 -11 -11 -11 -11 -10 -10 -11 -12 -13 -13 -13 -12 -11 -10 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -1 -0 1 1 -1 -4 -9 -12 -13 -11 -11 -11 -12 -12 -11 -12 -13 -16 -18 -18 -15 -12 -14 -13 -10 -7 -6 -6 -8 -9 -10 -11 -11 -10 -10 -9 -9 -8 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -9 -8 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -6 -6 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -0 1 1 2 2 1 1 1 2 2 1 0 1 3 5 5 4 3 4 6 7 5 2 2 3 5 4 2 3 5 6 5 3 3 4 4 5 5 6 6 7 7 7 8 9 10 10 11 11 11 11 12 12 12 12 13 14 14 15 16 16 17 17 18 18 19 19 20 20 20 21 22 22 23 24 25 26 27 28 29 30 31 32 33 33 34 34 34 35 35 35 35 35 34 34 34 34 35 35 35 36 36 36 36 36 36 37 37 37 38 39 40 42 43 44 43 43 42 43 43 42 42 42 42 42 43 43 42 41 40 40 40 40 39 39 39 39 39 39 39 38 37 37 36 36 37 38 39 40 40 40 40 39 38 38 37 36 35 34 33 34 34 35 35 34 34 33 33 32 31 31 30 30 30 30 30 29 29 28 27 27 27 27 27 26 24 23 22 22 22 22 21 21 20 20 20 20 20 19 18 17 16 15 15 15 15 16 16 17 17 18 18 19 19 19 20 21 21 23 24 25 27 28 29 30 31 30 30 30 29 29 30 30 30 30 29 29 29 30 30 30 30 29 28 27 26 25 24 24 23 23 24 24 25 26 26 27 28 29 29 30 30 30 29 28 27 6 5 4 3 2 0 -1 -3 -6 -7 -9 -10 -10 -9 -9 -8 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -9 -9 -8 -9 -9 -10 -10 -10 -9 -8 -7 -7 -7 -6 -6 -6 -5 -4 -3 -3 -3 -2 -2 -1 -1 -0 -2 -4 -7 -9 -9 -10 -11 -12 -12 -11 -12 -13 -15 -17 -17 -15 -13 -15 -16 -13 -8 -7 -7 -9 -11 -12 -12 -11 -11 -10 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -1 -1 0 1 2 3 2 2 1 1 1 1 0 1 3 5 5 5 3 3 5 6 6 4 2 4 5 6 4 4 6 7 6 5 4 5 5 6 6 7 8 8 8 8 8 9 11 11 12 12 12 12 13 13 13 13 13 14 15 16 16 17 17 18 18 19 19 19 20 20 20 21 22 22 23 24 25 26 27 28 29 30 30 31 32 32 33 33 34 34 34 35 35 34 34 34 34 34 34 35 35 36 36 36 37 37 37 37 37 38 39 39 40 41 43 44 44 44 43 44 44 44 43 43 43 43 44 44 44 43 42 42 42 42 42 42 41 41 40 40 40 40 39 38 38 37 38 38 39 40 40 41 41 41 41 40 39 38 37 35 34 34 35 35 35 36 35 35 35 34 34 33 33 32 32 31 31 31 31 30 29 28 28 28 28 28 28 26 25 24 23 23 22 22 21 21 21 21 21 21 20 19 18 17 16 16 15 16 16 16 17 17 18 18 18 19 19 20 20 21 22 23 25 26 28 29 30 30 30 30 29 29 29 29 29 30 30 30 30 29 29 29 29 29 28 27 26 25 24 23 22 22 21 21 21 22 22 23 24 25 26 27 27 28 28 28 28 27 6 4 3 2 1 0 -1 -2 -4 -6 -8 -9 -10 -10 -10 -9 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -9 -8 -6 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -5 -4 -4 -3 -2 -2 -3 -4 -6 -9 -10 -10 -11 -11 -12 -14 -15 -15 -16 -17 -15 -14 -14 -13 -9 -8 -9 -11 -12 -12 -12 -11 -10 -9 -9 -8 -7 -7 -7 -8 -8 -8 -7 -7 -7 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -1 -0 1 2 3 3 3 1 0 0 0 1 1 3 5 5 5 3 3 4 6 6 5 3 5 6 7 6 5 7 8 8 7 6 6 7 7 8 8 9 9 9 9 9 10 12 13 13 13 13 13 14 14 14 14 14 15 16 17 17 17 18 18 19 19 19 20 20 20 21 21 22 22 23 24 25 26 27 27 28 29 30 30 31 32 32 33 33 34 34 34 34 34 34 34 34 33 34 34 34 35 35 36 36 37 37 37 38 38 39 39 40 41 42 43 44 44 44 44 44 44 44 43 43 43 43 44 45 45 44 43 43 44 44 44 44 43 42 42 41 41 40 40 39 39 39 39 39 40 41 41 42 42 43 42 42 41 39 38 37 36 35 35 36 36 37 37 37 36 36 35 35 34 34 33 33 33 33 32 31 31 30 29 28 28 29 29 28 27 25 24 23 23 23 22 22 22 22 22 21 21 20 19 18 17 16 16 16 16 16 17 17 18 18 18 19 19 20 20 21 22 23 24 26 27 28 29 30 30 30 29 29 28 29 29 29 30 30 30 30 29 29 29 28 28 27 26 25 24 23 22 21 20 19 19 19 20 21 22 23 24 24 25 25 26 26 26 26 3 1 0 -0 -1 -2 -2 -3 -4 -6 -8 -9 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -8 -9 -9 -10 -10 -9 -8 -7 -5 -4 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -7 -6 -6 -5 -4 -3 -3 -4 -5 -6 -7 -8 -10 -12 -14 -14 -14 -15 -17 -16 -14 -14 -12 -10 -9 -11 -12 -13 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -7 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 0 1 3 4 4 3 2 1 1 1 2 3 5 6 5 4 2 3 5 6 5 5 6 8 8 7 6 7 9 9 9 7 7 7 8 9 10 10 10 10 9 10 11 12 14 14 14 14 14 14 15 15 15 15 16 16 17 18 18 19 19 19 19 20 20 20 21 21 22 22 23 23 24 25 26 26 27 28 29 29 30 30 31 31 32 32 33 33 33 33 33 33 33 33 33 33 33 33 34 34 35 36 36 36 37 37 38 38 39 39 40 41 42 43 44 44 43 44 44 43 43 43 43 43 44 45 45 45 45 45 45 46 46 46 45 45 44 43 42 41 40 40 40 40 40 41 41 42 42 42 43 43 44 44 43 42 41 39 38 37 36 36 37 37 38 38 38 37 37 37 36 36 35 35 35 34 34 34 33 32 31 30 29 29 29 29 30 29 28 26 24 24 23 23 23 22 22 22 22 21 20 20 19 18 17 16 16 16 16 17 17 17 18 18 19 19 20 20 21 22 23 24 25 26 27 28 29 30 30 30 29 28 28 28 29 29 30 30 30 29 29 28 27 27 26 26 25 23 22 21 20 19 19 18 18 18 19 20 21 21 22 23 23 24 24 25 25 -2 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -9 -9 -7 -6 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -8 -7 -6 -4 -3 -1 -1 -1 -2 -2 -2 -3 -4 -5 -6 -6 -7 -7 -8 -9 -10 -9 -8 -7 -8 -7 -7 -6 -4 -3 -3 -4 -5 -7 -9 -12 -14 -15 -15 -16 -17 -16 -14 -13 -13 -11 -10 -12 -13 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -1 0 2 3 4 4 4 3 2 2 3 3 5 6 6 4 2 2 3 5 5 5 6 8 9 8 7 8 9 10 10 9 8 8 9 10 11 12 11 10 9 10 11 13 14 15 15 14 14 15 16 16 16 16 16 17 18 18 19 19 20 20 20 20 20 21 21 22 22 23 23 24 25 25 26 26 27 28 28 29 30 30 30 31 31 31 32 32 33 33 33 33 33 32 32 32 32 33 33 33 34 34 35 35 36 36 37 37 38 38 39 40 41 41 42 43 43 43 43 42 42 42 42 43 43 45 46 46 45 45 45 46 47 47 47 47 46 45 44 43 42 41 41 41 41 42 42 43 43 43 43 43 44 45 45 44 43 42 40 39 38 38 37 38 38 39 39 39 39 38 38 37 37 37 36 36 36 35 35 34 33 32 31 30 30 29 30 30 30 29 28 26 25 24 24 24 23 23 22 22 21 21 20 19 18 18 17 16 16 16 17 17 17 18 18 19 19 20 21 21 22 23 23 24 25 26 27 28 29 30 30 29 29 28 28 28 29 29 29 29 29 28 28 27 27 26 26 24 23 22 21 20 19 19 18 18 18 18 19 19 20 21 21 22 22 23 24 25 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -4 -2 -0 1 0 -0 -1 -1 -1 -3 -4 -6 -7 -8 -9 -10 -10 -10 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -6 -7 -9 -11 -14 -15 -16 -17 -17 -16 -14 -13 -13 -13 -11 -12 -13 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 0 2 3 4 5 5 5 4 4 3 4 6 6 5 3 2 2 4 5 5 7 8 9 8 7 8 9 11 11 10 9 9 10 11 12 13 12 11 10 9 11 13 15 16 15 14 15 15 16 17 17 16 16 17 18 19 19 19 20 20 21 21 21 22 22 23 23 23 24 25 25 26 26 26 27 27 28 29 29 30 30 30 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 33 33 33 34 34 35 35 35 36 37 37 38 38 39 40 41 41 41 42 41 41 41 41 41 42 43 44 45 46 46 45 45 46 47 48 48 48 47 46 45 44 43 43 42 42 42 43 43 44 44 44 44 44 44 45 46 46 45 44 43 41 40 39 39 39 39 39 39 40 40 40 39 39 38 38 38 37 37 37 36 36 35 35 34 33 32 31 30 30 30 31 30 29 28 26 26 25 25 24 24 23 22 21 21 20 20 19 19 18 17 17 17 17 17 17 18 18 19 19 20 21 22 22 23 24 24 25 26 27 28 29 30 30 30 29 28 28 28 28 28 28 29 29 28 28 28 27 27 26 25 24 23 21 20 20 19 19 19 18 18 18 19 19 20 20 21 22 23 24 25 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -1 0 1 0 0 -0 -0 -1 -2 -4 -6 -7 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -15 -16 -17 -17 -16 -13 -12 -14 -13 -13 -13 -13 -13 -12 -11 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 2 3 5 6 7 7 6 4 3 4 6 6 5 3 2 3 4 6 8 9 9 7 6 7 9 12 12 11 10 10 11 12 13 14 13 11 10 9 11 13 15 16 16 15 14 16 17 18 18 17 16 17 18 19 20 20 20 21 21 22 22 22 23 23 24 24 25 25 26 26 26 26 27 27 28 28 29 29 30 30 30 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 33 33 33 34 34 34 35 35 36 36 37 37 38 38 39 40 40 40 41 41 41 41 41 41 41 43 44 45 45 44 44 45 46 48 49 49 48 48 46 45 45 44 44 43 43 43 44 44 45 45 44 44 45 45 46 46 46 45 44 43 42 41 41 40 40 39 40 40 40 41 40 40 40 39 39 38 38 38 37 37 37 36 36 35 35 33 32 31 31 31 30 30 30 29 28 27 26 26 25 24 23 22 22 21 20 20 20 19 19 19 18 18 18 17 18 18 18 19 19 20 21 22 23 24 24 25 25 26 27 28 29 30 30 30 30 29 28 27 27 28 28 28 29 29 29 29 28 28 27 26 25 24 23 21 20 20 19 19 19 19 19 19 19 20 20 21 22 23 24 26 -15 -15 -14 -12 -11 -10 -10 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -6 -7 -7 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -5 -5 -3 -2 -1 -0 -0 -1 -1 -0 -1 -2 -3 -6 -7 -8 -9 -9 -9 -10 -10 -9 -9 -8 -8 -9 -8 -9 -9 -10 -10 -10 -10 -11 -13 -15 -16 -19 -20 -17 -15 -17 -17 -14 -13 -13 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 0 1 2 4 5 7 9 8 6 4 4 5 6 7 5 4 3 4 6 9 10 9 7 5 6 9 12 12 11 11 11 12 13 14 15 13 11 9 9 10 13 16 17 16 15 14 15 17 19 19 17 16 17 18 20 20 20 20 21 22 22 23 23 24 24 24 25 25 25 26 26 26 26 27 27 27 27 28 28 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 32 32 32 32 33 33 33 34 34 34 35 35 36 36 37 37 38 38 38 39 40 40 40 40 40 40 40 40 41 43 44 44 44 43 44 45 47 49 49 49 48 47 46 45 45 45 44 44 44 44 44 45 45 45 45 45 46 46 47 46 46 45 45 44 43 42 41 41 40 40 40 40 41 41 41 41 41 40 40 39 38 38 38 37 37 37 37 37 36 35 34 33 32 31 31 30 30 30 29 28 27 27 26 25 24 23 22 21 20 20 20 20 20 20 20 19 19 18 18 18 18 19 19 20 21 22 23 24 25 25 26 27 27 28 29 29 30 30 30 29 28 27 27 27 28 28 29 29 30 29 29 29 28 27 26 25 24 23 22 21 21 20 20 19 19 19 19 20 20 21 22 23 24 26 -13 -14 -14 -14 -12 -11 -10 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -0 -1 -2 -3 -5 -6 -7 -8 -9 -10 -11 -10 -10 -9 -9 -9 -9 -10 -11 -13 -13 -12 -12 -12 -13 -15 -15 -18 -19 -18 -16 -16 -18 -14 -12 -13 -13 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 1 2 2 3 5 7 8 9 8 6 5 5 7 8 7 6 4 4 6 9 11 11 9 6 6 9 12 13 13 12 12 13 14 15 15 14 12 10 9 10 12 16 17 17 15 14 14 17 19 20 18 17 16 18 20 20 20 20 21 22 23 23 23 24 24 25 25 25 25 25 25 26 26 26 26 26 27 27 28 28 28 28 29 29 29 29 29 29 29 30 30 30 30 31 31 31 32 32 32 33 33 34 34 34 34 35 35 36 37 37 38 38 38 38 39 40 40 40 40 40 40 40 40 41 43 43 43 42 43 44 46 48 49 49 48 47 46 45 45 45 45 45 45 45 45 45 45 45 45 45 46 47 47 47 46 46 45 45 44 44 43 42 42 41 41 41 41 41 42 42 42 41 41 40 40 39 38 38 38 37 37 37 37 37 37 36 35 33 32 31 31 31 31 30 29 28 28 27 26 25 24 23 21 21 20 20 20 21 21 21 21 20 19 19 19 19 19 19 20 21 22 23 24 25 25 26 27 28 28 29 29 29 29 29 29 28 27 27 27 28 29 29 30 30 30 29 29 29 28 27 27 26 24 23 23 22 21 21 20 20 20 19 20 20 21 22 23 24 26 -10 -11 -12 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -2 -2 -1 -1 -2 -3 -4 -4 -5 -6 -8 -9 -10 -10 -10 -10 -9 -10 -11 -11 -13 -14 -14 -15 -16 -17 -18 -18 -16 -17 -20 -21 -20 -17 -19 -15 -13 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 0 1 1 1 2 2 3 3 4 5 6 8 9 9 8 7 6 7 9 9 8 6 4 5 9 12 13 12 9 7 8 12 14 14 14 13 14 15 16 16 15 13 11 10 10 12 15 18 18 16 14 14 16 20 21 20 17 16 18 20 21 21 20 21 22 23 23 23 23 24 24 24 24 25 25 25 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 28 28 28 28 29 29 29 30 30 31 31 32 32 33 33 33 34 34 35 35 36 37 38 38 38 38 38 39 39 40 40 40 40 40 40 40 40 41 42 42 42 42 43 44 46 47 48 48 47 46 45 45 45 45 45 45 45 45 44 44 44 45 45 46 47 47 47 47 46 46 46 45 45 45 44 43 42 42 41 41 41 41 42 42 42 42 42 41 40 39 39 38 38 37 37 37 38 38 38 38 36 35 33 32 32 32 32 31 30 29 29 29 28 26 25 24 22 21 21 20 20 21 21 22 22 21 21 20 20 19 19 19 20 20 21 22 23 24 25 26 27 27 28 28 28 28 28 28 28 28 27 27 28 28 29 29 30 30 30 30 29 29 29 28 27 27 26 25 24 23 23 22 21 21 20 20 20 20 21 22 23 24 25 -8 -9 -10 -11 -12 -12 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -5 -5 -6 -5 -5 -4 -4 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -4 -5 -6 -7 -8 -9 -9 -9 -10 -11 -12 -13 -14 -16 -17 -19 -22 -24 -23 -19 -17 -19 -21 -21 -17 -17 -15 -13 -12 -12 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 1 1 2 3 3 4 4 4 5 6 8 9 10 10 9 8 8 10 11 10 8 6 6 8 12 14 14 12 10 9 11 14 15 16 15 15 15 16 17 16 14 11 10 11 12 15 18 19 18 16 14 15 19 21 21 18 16 16 19 21 21 21 21 22 23 23 23 23 23 23 23 23 24 24 24 24 24 24 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 27 27 27 28 28 28 29 29 30 30 31 31 32 32 33 34 34 35 36 36 37 38 38 38 38 38 39 40 40 40 40 40 40 40 40 40 41 41 41 41 42 43 45 46 47 47 47 46 45 44 44 45 45 45 45 45 44 43 43 44 45 46 46 47 47 47 46 46 46 46 46 46 45 45 44 43 42 42 41 41 41 41 42 42 42 42 42 41 40 39 38 38 37 37 38 38 38 39 38 37 36 34 33 33 33 33 32 31 31 31 30 29 28 26 25 24 22 21 21 20 21 22 22 22 22 22 21 21 20 20 20 20 20 21 22 23 24 25 25 26 27 27 28 27 27 27 27 26 27 27 27 27 28 29 29 30 30 30 30 30 30 29 29 28 27 27 26 25 25 24 23 23 22 21 20 20 20 21 22 23 24 25 -8 -8 -9 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -2 -2 -1 -0 -0 -0 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -6 -6 -6 -7 -8 -9 -9 -10 -10 -9 -9 -9 -9 -9 -10 -9 -8 -7 -5 -4 -4 -5 -5 -5 -6 -7 -9 -9 -10 -10 -12 -13 -15 -16 -18 -20 -24 -28 -29 -25 -22 -23 -25 -24 -21 -17 -16 -16 -14 -12 -11 -10 -10 -10 -10 -10 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 1 1 2 3 4 5 5 5 6 7 8 9 10 11 10 10 10 10 11 11 10 8 7 8 11 14 15 14 12 11 12 14 16 17 17 16 16 17 17 17 15 13 11 11 13 15 18 20 19 17 16 16 18 21 21 19 17 16 19 21 22 21 21 22 23 23 23 22 22 22 22 22 22 23 23 23 23 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 26 26 26 27 27 28 28 29 29 30 30 31 32 32 33 34 34 35 36 37 37 37 37 38 39 40 40 40 40 40 40 40 40 40 40 40 40 40 41 42 43 44 45 45 45 45 45 44 44 44 45 45 45 44 43 43 42 43 43 44 45 46 46 46 46 46 46 46 46 46 46 45 45 45 44 43 42 42 41 41 41 42 42 42 42 42 41 40 39 38 38 37 37 38 38 39 39 39 38 37 35 35 34 34 34 33 33 32 32 32 31 29 28 27 25 24 23 22 21 21 22 22 23 23 23 22 22 22 21 21 21 21 21 22 23 23 24 25 26 27 27 27 26 26 25 25 25 25 25 26 27 27 28 29 30 30 31 31 31 31 30 29 29 28 27 27 26 26 25 25 24 23 22 21 21 21 21 21 22 23 24 -9 -9 -9 -10 -11 -11 -12 -12 -12 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -8 -9 -11 -12 -13 -14 -14 -14 -14 -15 -14 -13 -11 -10 -8 -7 -7 -7 -7 -6 -6 -7 -9 -11 -11 -11 -11 -13 -14 -16 -17 -20 -26 -31 -33 -31 -30 -31 -32 -31 -27 -22 -20 -18 -15 -13 -12 -11 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 0 1 2 3 4 5 6 6 7 7 8 9 10 11 11 11 11 11 11 11 11 10 9 10 12 14 15 15 14 13 13 14 16 17 18 17 17 17 18 17 16 14 12 12 13 15 18 20 20 19 17 16 18 20 22 20 18 17 18 21 22 22 21 21 23 23 22 21 20 20 20 20 21 21 21 21 21 22 23 24 24 24 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 32 33 34 35 35 36 36 36 37 37 39 40 40 40 40 40 40 40 39 39 39 39 39 40 41 42 43 43 44 44 44 44 44 43 44 44 44 44 43 43 42 42 42 42 43 44 44 44 44 44 45 45 45 45 46 46 46 46 45 45 45 44 43 43 42 42 41 42 42 42 42 42 42 41 40 39 38 38 38 38 38 39 39 38 38 37 36 35 35 34 34 34 34 34 34 33 32 31 29 28 27 25 24 23 22 22 22 23 23 24 24 24 23 23 22 22 22 22 22 23 23 24 24 25 26 26 26 26 26 25 24 24 24 23 23 24 25 26 27 28 29 30 31 31 32 32 31 30 30 29 28 27 27 26 26 25 25 24 24 23 22 21 21 21 21 22 23 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -12 -11 -10 -9 -8 -7 -7 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -8 -10 -12 -14 -16 -18 -19 -18 -18 -18 -16 -14 -12 -12 -11 -10 -10 -11 -10 -10 -10 -11 -12 -13 -13 -13 -13 -14 -15 -17 -20 -26 -31 -34 -35 -37 -39 -39 -37 -33 -28 -24 -21 -18 -15 -13 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 2 3 5 6 7 7 8 8 9 10 11 11 12 12 11 11 11 11 11 11 12 12 13 15 15 15 14 14 14 15 16 17 18 17 17 17 17 16 15 13 12 13 16 18 20 21 20 17 16 17 19 22 21 19 18 18 20 22 22 21 21 22 22 21 20 19 18 19 19 20 20 21 20 20 20 21 22 23 23 22 21 21 21 22 22 23 23 23 23 23 23 23 23 23 24 24 25 25 26 26 27 27 28 28 29 29 29 30 31 32 33 33 34 34 34 35 36 37 38 39 39 40 40 40 39 39 39 38 38 38 39 40 41 41 42 42 42 42 42 42 42 43 43 43 43 42 42 41 41 41 41 42 42 42 43 43 43 43 44 44 44 45 45 45 45 46 46 45 45 45 44 43 43 42 42 42 42 42 42 42 42 41 40 39 38 38 38 38 38 39 39 38 38 37 36 36 35 35 35 35 35 35 34 34 33 32 31 29 28 27 25 24 24 23 23 23 24 24 24 24 24 24 23 23 23 24 24 24 24 24 25 26 26 26 26 26 25 24 24 23 22 22 22 22 23 24 25 27 28 29 30 31 32 32 32 31 30 29 28 28 27 27 26 26 26 25 25 24 23 22 21 21 21 21 22 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -2 -3 -3 -3 -3 -4 -5 -5 -5 -4 -4 -5 -6 -8 -10 -12 -14 -16 -18 -20 -20 -20 -19 -18 -16 -15 -15 -15 -14 -14 -15 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -16 -20 -25 -29 -32 -36 -40 -42 -41 -39 -36 -31 -26 -23 -20 -17 -14 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 0 2 4 5 6 7 8 8 8 9 10 11 12 12 12 12 12 12 12 13 13 13 14 14 15 15 15 15 14 15 16 17 17 17 16 16 16 15 15 14 13 13 15 18 20 21 20 18 16 17 19 21 22 20 19 18 19 21 22 21 20 21 21 21 19 17 17 18 19 19 20 20 20 19 19 20 21 22 22 21 20 20 19 20 20 21 21 21 22 22 23 23 22 23 23 23 24 24 25 25 26 27 27 27 28 28 28 29 29 30 31 31 32 32 32 33 34 35 36 37 37 38 38 39 39 39 38 38 38 38 39 39 40 40 41 41 41 41 41 41 41 41 42 42 41 41 40 40 40 40 40 41 41 41 41 41 42 42 42 43 43 43 44 44 45 45 45 46 46 46 45 45 44 44 43 42 42 42 42 42 42 42 41 40 39 39 38 38 38 38 38 38 38 38 37 37 36 36 35 35 35 35 35 35 34 34 33 32 30 29 28 27 26 25 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 26 26 27 27 26 26 25 25 24 23 22 21 21 21 21 21 22 23 25 26 28 29 30 31 31 32 31 31 30 29 28 27 27 26 26 26 26 25 25 24 23 22 22 21 21 22 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -4 -4 -4 -5 -7 -9 -11 -12 -14 -16 -19 -19 -19 -20 -19 -18 -18 -18 -19 -18 -18 -18 -17 -16 -17 -18 -19 -18 -18 -18 -18 -18 -18 -17 -18 -21 -24 -26 -30 -33 -34 -35 -35 -34 -32 -28 -22 -17 -15 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 1 3 5 6 7 7 8 9 9 10 11 12 13 13 13 13 13 14 14 14 15 15 15 15 16 15 15 15 15 16 16 16 15 14 14 14 13 13 13 13 15 17 20 21 21 18 16 16 18 20 22 21 19 18 19 21 21 20 19 19 20 20 19 16 16 16 18 19 19 20 20 19 19 19 20 21 21 20 19 19 18 18 18 19 19 20 20 21 22 22 22 22 22 22 23 23 24 25 25 26 26 26 27 27 27 27 28 28 29 30 30 30 30 31 31 32 33 34 35 36 36 37 37 37 38 38 38 38 39 39 39 39 40 40 39 39 39 39 39 40 40 40 40 39 39 38 38 39 39 40 40 40 40 40 41 41 41 42 42 42 43 43 43 44 44 45 45 46 46 46 45 45 44 44 43 42 42 42 42 42 42 42 41 40 39 39 38 38 38 38 38 38 38 37 37 36 36 36 36 36 36 35 35 35 34 34 33 31 30 29 28 27 26 26 25 25 25 25 25 25 26 26 26 26 26 26 26 26 27 27 28 28 27 27 26 26 25 24 23 22 21 20 20 19 20 20 22 23 25 26 27 29 29 30 31 31 30 30 29 28 28 27 27 26 26 26 25 25 24 23 23 22 22 22 22 -10 -10 -10 -10 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -21 -21 -21 -21 -20 -20 -20 -21 -22 -23 -23 -23 -22 -22 -22 -22 -21 -19 -17 -17 -19 -22 -24 -26 -27 -27 -29 -31 -28 -22 -15 -11 -12 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 0 2 3 5 6 6 7 8 8 10 11 12 13 14 15 15 15 15 16 16 16 16 15 15 16 16 15 15 15 15 15 15 14 14 13 12 12 12 13 13 14 16 19 20 20 18 16 14 16 19 21 21 19 18 19 20 21 20 18 18 19 19 18 16 15 15 17 18 19 19 19 19 18 18 19 20 20 19 19 18 17 17 17 17 17 18 19 20 21 21 22 21 21 21 22 23 23 24 24 24 25 25 25 25 25 26 26 27 28 28 28 29 29 29 29 30 31 32 33 33 34 35 35 36 36 37 37 38 38 39 39 39 39 38 38 38 38 38 38 38 38 38 38 38 37 37 37 37 38 38 39 39 39 39 39 40 40 41 41 42 42 42 42 43 43 44 45 45 46 46 46 46 45 45 44 44 43 42 42 41 42 42 42 41 41 40 39 39 38 38 38 38 38 38 37 37 37 36 36 36 36 36 35 35 35 34 34 33 32 31 30 28 28 27 27 27 26 26 26 26 26 26 26 27 27 28 28 28 28 28 28 29 29 29 28 27 26 25 24 23 22 21 20 19 19 19 19 20 21 23 25 26 27 28 29 29 30 30 29 29 28 28 27 27 26 26 26 26 25 25 24 23 23 22 22 22 -9 -10 -10 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -9 -10 -11 -12 -12 -12 -13 -15 -16 -18 -20 -22 -24 -24 -25 -25 -25 -25 -24 -24 -23 -23 -24 -26 -27 -27 -26 -24 -25 -26 -22 -16 -8 -5 -9 -12 -14 -17 -20 -26 -31 -29 -25 -23 -20 -18 -15 -13 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -3 -3 -2 -1 -1 -0 -0 0 0 0 1 1 1 2 3 4 5 6 6 7 8 10 11 13 15 16 17 17 17 17 17 17 17 17 16 16 16 16 15 15 15 15 14 14 13 13 12 11 11 12 13 14 15 17 19 19 18 16 14 15 18 20 20 19 17 18 20 20 19 17 16 17 18 18 16 14 14 16 18 18 18 18 18 17 17 18 18 18 18 18 17 17 16 15 15 16 18 19 20 21 21 21 21 21 21 21 21 22 23 23 23 23 22 22 22 23 23 24 25 26 27 27 27 27 27 27 28 29 29 30 31 32 33 34 34 34 35 36 36 37 38 38 38 37 37 37 37 36 36 36 36 36 36 36 36 36 35 36 36 37 37 38 38 38 38 38 38 39 39 40 40 41 41 41 42 42 43 43 44 45 45 45 46 46 45 45 45 44 43 43 42 41 41 42 42 42 41 41 40 39 39 38 38 38 38 38 38 37 37 36 36 36 36 36 35 35 35 34 34 34 33 32 31 29 28 28 28 28 28 27 27 27 27 27 27 28 29 29 29 29 29 29 29 30 30 30 29 28 27 26 25 23 22 21 20 19 19 18 19 19 20 22 23 25 26 26 27 28 28 29 29 29 28 28 27 27 26 26 26 26 25 25 25 24 24 23 23 23 -9 -10 -10 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -2 -3 -4 -5 -7 -8 -10 -11 -11 -11 -12 -12 -14 -16 -18 -20 -22 -24 -26 -27 -28 -29 -29 -29 -28 -26 -25 -25 -27 -28 -29 -29 -28 -25 -25 -24 -19 -11 -4 -3 -4 -7 -11 -16 -23 -27 -25 -22 -20 -20 -20 -18 -14 -12 -11 -10 -9 -8 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -2 -2 -1 -0 0 0 1 1 2 2 3 3 3 4 4 5 6 7 7 8 10 12 14 16 18 18 19 19 19 19 19 18 17 17 16 16 16 16 15 15 14 14 14 13 12 11 10 11 13 14 15 17 18 19 18 16 15 15 17 18 19 18 17 17 19 20 19 17 15 16 17 18 16 14 13 15 17 18 18 17 16 16 15 16 16 16 16 16 16 15 15 14 14 15 16 18 20 21 21 21 21 20 20 20 20 21 22 22 22 21 20 20 19 20 20 22 23 24 25 25 25 25 25 25 25 26 27 27 28 30 31 31 32 32 33 34 34 35 36 36 36 36 36 36 35 35 35 35 35 35 35 35 34 34 34 34 34 35 36 37 37 36 36 37 37 37 38 38 39 39 40 40 40 41 41 42 42 43 43 44 44 45 45 45 45 45 44 44 43 42 42 41 41 42 42 42 41 41 40 39 39 38 38 38 38 38 37 37 36 36 35 35 35 35 35 35 34 34 34 33 33 31 30 29 29 29 29 29 29 29 28 28 28 28 29 29 30 30 30 30 30 30 31 31 31 30 29 28 27 26 24 23 22 21 20 19 18 18 19 20 21 22 23 24 25 26 26 27 27 27 28 28 27 27 27 26 26 26 26 26 26 25 25 24 24 24 23 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -8 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -3 -5 -6 -8 -9 -10 -11 -11 -11 -12 -13 -15 -17 -20 -23 -25 -27 -29 -30 -30 -31 -30 -29 -28 -27 -27 -28 -29 -29 -30 -30 -27 -26 -25 -23 -19 -15 -14 -11 -9 -10 -15 -20 -24 -24 -22 -20 -20 -21 -18 -14 -11 -11 -11 -9 -8 -8 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 1 1 1 2 3 3 4 4 5 5 6 7 8 8 9 10 12 15 17 19 20 19 19 19 19 19 18 17 16 16 16 16 16 16 15 14 14 13 12 11 10 11 12 14 15 16 17 18 18 16 15 15 16 17 17 16 16 16 18 20 19 17 15 15 16 17 16 14 13 14 16 18 17 16 15 14 14 14 14 14 14 14 14 14 13 13 13 13 15 17 19 20 20 19 19 19 19 19 19 19 20 20 20 19 18 17 17 17 18 20 21 23 24 24 24 23 23 22 22 23 24 24 25 27 28 29 30 30 31 31 32 33 34 35 35 35 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 34 35 36 36 36 35 35 35 36 36 36 37 37 37 38 38 39 39 39 40 40 41 41 42 42 43 43 43 44 44 44 44 43 43 42 42 41 42 42 42 42 41 41 40 40 39 39 39 38 38 38 37 36 36 35 35 35 35 35 35 34 34 34 34 33 32 31 30 29 29 30 30 30 30 30 29 29 29 29 30 31 31 32 32 32 32 32 32 31 31 30 29 28 27 25 24 23 22 20 19 19 18 18 19 20 21 22 23 24 24 25 25 26 26 27 27 27 27 27 26 26 26 26 26 26 26 25 25 25 24 24 -8 -9 -9 -10 -10 -11 -11 -11 -11 -12 -11 -10 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -1 -0 0 -0 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -8 -9 -10 -10 -11 -11 -11 -13 -14 -16 -19 -23 -26 -29 -31 -31 -31 -30 -30 -31 -30 -30 -30 -30 -30 -31 -32 -33 -31 -30 -28 -26 -23 -21 -22 -20 -16 -14 -14 -16 -19 -22 -23 -22 -22 -20 -16 -13 -11 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 0 0 1 1 1 1 2 3 4 4 5 5 6 7 8 9 9 10 11 13 15 18 19 19 19 19 19 19 19 18 17 16 16 17 17 17 16 15 15 14 13 12 11 10 12 14 15 16 17 17 17 17 16 15 15 16 16 15 14 15 17 19 19 18 16 14 15 16 16 14 13 13 15 17 17 15 14 13 12 12 12 12 12 12 12 12 12 12 12 12 13 15 16 17 18 17 17 17 17 17 17 17 18 18 18 17 16 15 15 16 17 19 21 22 23 23 22 22 21 21 20 20 21 22 23 24 26 27 28 28 28 29 30 31 32 33 33 34 34 34 34 34 34 34 33 33 33 33 33 33 33 33 34 34 35 35 36 35 35 34 34 34 34 34 35 35 35 35 35 36 36 36 37 37 37 38 38 39 39 40 41 41 42 42 42 43 43 43 42 42 42 42 42 42 42 42 42 41 40 40 39 39 39 38 38 37 37 36 35 35 34 34 34 34 34 34 34 34 33 33 32 31 30 30 30 31 31 31 31 30 30 30 30 31 31 32 33 33 33 33 33 33 33 32 31 30 29 28 27 25 24 23 22 20 19 19 18 18 19 20 21 22 23 23 24 24 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 -7 -8 -8 -9 -10 -10 -11 -11 -12 -13 -13 -11 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -3 -3 -2 -2 -1 0 1 2 1 0 -0 -1 -1 -2 -2 -2 -3 -4 -6 -7 -8 -9 -9 -10 -10 -11 -11 -12 -13 -15 -17 -21 -24 -27 -29 -30 -30 -29 -31 -32 -33 -33 -32 -32 -32 -33 -34 -35 -35 -34 -32 -29 -25 -20 -19 -21 -20 -17 -14 -12 -14 -17 -20 -22 -22 -19 -16 -14 -12 -11 -10 -10 -9 -8 -7 -6 -5 -5 -4 -3 -2 -0 0 1 1 1 1 1 1 1 1 2 2 3 4 4 5 5 6 7 8 9 10 10 11 12 14 16 17 18 18 18 18 18 19 18 17 16 15 16 17 17 17 16 15 15 14 13 11 11 11 13 15 16 17 17 17 17 16 16 15 15 15 14 12 13 15 18 19 19 16 14 13 14 15 14 13 13 14 16 16 15 13 12 11 11 10 10 10 10 10 10 11 11 11 11 12 13 14 15 15 15 15 14 14 15 15 15 16 16 16 15 14 14 14 15 16 18 20 22 23 23 22 21 20 20 19 19 19 20 21 23 24 25 26 26 26 26 27 29 30 31 32 32 33 33 33 33 33 33 33 33 33 33 34 34 34 34 35 35 35 36 36 35 34 33 33 32 33 33 33 32 32 32 32 32 32 33 33 33 34 34 34 34 35 36 37 38 38 39 40 40 41 41 41 42 42 42 42 42 42 42 42 42 42 41 40 40 39 39 38 38 38 37 36 35 35 34 34 34 34 34 34 34 34 33 33 32 32 31 31 31 32 32 32 31 31 31 31 31 31 31 32 33 33 34 35 35 35 34 33 32 30 29 28 28 27 25 24 23 21 20 19 19 18 18 19 20 21 22 23 23 23 24 24 24 25 25 26 26 26 26 26 27 27 27 26 26 26 26 26 26 -7 -7 -8 -9 -9 -10 -10 -11 -12 -12 -13 -13 -11 -10 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -4 -3 -3 -2 -1 -0 0 1 2 3 3 3 2 2 2 1 0 -1 -2 -4 -5 -6 -6 -8 -9 -9 -10 -11 -11 -12 -13 -14 -14 -16 -18 -20 -22 -24 -26 -28 -29 -31 -33 -34 -35 -34 -34 -34 -34 -35 -35 -36 -36 -35 -34 -31 -25 -20 -18 -18 -18 -16 -13 -12 -13 -15 -17 -19 -19 -17 -15 -13 -11 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -1 -0 1 1 2 2 2 2 2 2 2 3 3 4 4 5 5 6 7 8 9 9 10 11 13 14 15 15 16 15 16 16 17 18 18 17 16 15 15 16 17 17 16 15 15 14 13 12 11 11 12 14 15 16 16 16 16 16 16 16 15 14 12 11 11 12 15 18 18 17 15 13 13 13 13 13 12 13 14 15 14 12 11 10 10 9 9 9 9 9 9 10 10 10 11 11 12 12 13 13 13 13 13 13 13 13 13 14 14 14 13 13 12 12 13 15 17 19 21 22 22 21 20 20 20 19 19 19 19 20 22 23 25 25 25 24 24 24 26 27 29 30 31 32 33 33 33 33 33 33 33 33 34 34 35 35 35 35 36 36 36 36 35 34 33 32 31 31 31 31 30 30 30 29 29 29 29 30 30 30 30 30 31 31 32 32 33 35 36 36 37 38 38 39 40 40 41 41 42 42 42 42 42 42 42 41 40 40 39 39 38 38 38 37 36 36 35 34 34 33 34 34 34 33 33 33 33 33 32 32 32 32 32 32 31 31 31 31 32 32 32 32 32 32 33 34 35 36 36 36 34 33 32 30 29 28 27 26 25 24 23 21 20 19 19 18 18 19 20 21 22 23 23 23 23 23 24 24 25 25 26 26 26 27 27 27 26 26 26 26 26 26 -6 -6 -7 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -0 1 2 3 4 4 5 5 5 5 5 5 3 2 -1 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -14 -15 -16 -17 -18 -17 -18 -19 -22 -25 -28 -30 -33 -35 -35 -35 -35 -35 -35 -35 -35 -35 -36 -35 -34 -30 -25 -21 -19 -18 -18 -16 -15 -15 -15 -16 -18 -19 -18 -15 -11 -7 -5 -5 -6 -6 -5 -5 -4 -3 -2 -2 -1 0 1 2 3 3 3 3 3 3 4 4 4 5 6 6 6 7 7 8 9 9 11 12 14 14 15 14 13 13 14 15 17 17 17 15 15 14 15 16 16 16 15 14 14 13 12 11 11 11 12 14 15 15 14 14 15 16 16 15 13 11 9 9 10 13 16 17 17 14 13 12 12 12 12 12 12 13 14 13 11 10 10 9 9 8 8 8 8 8 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 11 11 11 12 13 15 17 19 20 21 20 20 19 19 19 18 18 18 19 20 22 23 24 23 22 21 22 23 25 27 28 29 31 32 33 34 34 34 34 34 34 34 34 34 34 35 35 35 35 35 35 34 33 32 31 30 29 29 28 28 28 28 27 27 27 27 27 27 28 28 28 28 28 28 29 30 31 32 33 34 34 35 36 36 37 38 39 40 41 41 41 41 42 42 41 41 40 39 39 38 38 38 38 37 37 36 35 34 34 33 33 33 33 33 33 33 33 33 32 32 32 32 32 31 31 31 31 32 32 32 32 32 32 32 33 34 35 36 37 37 36 34 33 31 30 29 28 27 26 25 24 23 21 20 19 19 19 19 19 20 21 22 22 23 23 22 23 23 24 24 25 26 26 27 27 27 27 26 26 26 26 26 -6 -6 -6 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 0 1 3 4 5 6 6 6 6 7 7 8 7 6 3 0 -2 -4 -6 -6 -8 -9 -10 -11 -11 -11 -12 -13 -15 -17 -18 -17 -15 -13 -14 -17 -21 -24 -28 -31 -33 -35 -35 -33 -32 -31 -30 -31 -31 -32 -33 -33 -32 -30 -27 -23 -19 -16 -15 -15 -16 -17 -18 -22 -24 -21 -13 -6 -2 -3 -2 -2 -3 -3 -3 -2 -1 -1 -0 0 1 2 3 3 4 4 4 5 5 5 5 6 7 7 7 8 8 8 8 8 9 11 13 14 14 13 12 11 12 13 15 16 16 15 14 14 14 15 15 15 14 14 13 13 12 11 10 10 11 12 13 14 13 13 14 15 15 15 13 11 9 8 9 11 13 15 16 14 12 11 10 11 11 11 11 11 12 12 10 9 9 9 9 8 7 7 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 10 11 12 14 16 18 19 19 18 18 18 18 18 18 18 18 19 20 21 21 21 20 19 20 21 24 25 27 28 29 31 33 34 35 35 34 34 34 33 33 33 33 32 32 32 32 32 32 32 31 31 30 29 28 27 26 26 25 25 26 25 25 25 25 25 26 26 26 27 27 26 27 27 28 29 30 31 31 32 32 33 34 35 36 37 38 39 39 39 40 40 40 40 40 39 39 38 38 38 37 37 37 37 36 35 35 34 33 32 32 32 32 32 32 32 32 32 32 32 31 31 31 31 31 31 32 32 32 33 33 32 32 33 33 35 36 37 37 37 36 34 33 31 30 29 28 27 26 25 24 23 21 20 19 19 19 19 20 21 21 22 22 22 22 22 22 23 23 24 25 26 27 27 27 27 27 26 26 26 26 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -0 1 2 3 5 6 6 7 7 7 7 8 8 8 8 7 4 1 -1 -3 -5 -7 -8 -9 -10 -11 -11 -10 -11 -12 -14 -16 -18 -18 -16 -14 -14 -17 -21 -23 -25 -27 -29 -31 -30 -28 -26 -23 -21 -19 -20 -21 -23 -25 -27 -29 -28 -26 -22 -18 -16 -16 -17 -17 -18 -21 -27 -31 -28 -18 -6 -0 1 1 1 0 -0 0 1 1 1 2 2 3 4 5 5 6 6 6 6 7 7 7 8 9 9 9 8 8 8 9 10 11 13 13 13 11 10 10 12 14 15 16 15 14 14 14 14 14 14 14 13 13 12 12 11 10 9 10 11 12 13 12 12 13 14 15 14 13 10 8 7 8 9 11 13 14 13 11 10 10 10 10 10 9 10 11 11 10 9 8 8 8 8 7 7 8 8 8 8 8 9 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 9 10 11 13 15 16 17 17 16 16 16 16 17 17 17 18 18 19 19 19 19 18 19 21 23 25 26 27 28 30 31 33 33 34 33 33 32 32 31 30 30 29 29 29 29 29 29 29 29 29 28 27 26 25 24 23 23 23 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 26 27 28 28 29 29 30 30 31 32 33 34 35 36 36 37 37 38 38 38 39 38 38 38 37 37 37 36 36 36 36 35 34 33 32 32 31 31 31 31 31 31 31 32 32 31 31 30 30 30 31 31 31 32 32 32 33 33 33 33 33 34 36 37 37 37 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 20 19 19 19 20 21 22 22 22 22 21 21 22 22 23 24 25 26 27 27 27 27 27 26 26 26 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -9 -11 -12 -12 -12 -9 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 3 4 6 7 8 10 10 10 9 8 7 7 6 4 1 -4 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -12 -14 -16 -19 -19 -18 -17 -18 -21 -24 -24 -23 -23 -23 -23 -22 -20 -18 -15 -13 -10 -8 -7 -8 -9 -11 -15 -19 -22 -21 -19 -17 -18 -18 -18 -17 -19 -25 -31 -31 -25 -14 -1 4 5 5 5 4 3 3 3 3 3 4 4 5 6 7 7 7 8 8 8 8 9 9 10 10 9 9 8 8 9 10 12 12 12 10 9 10 11 13 15 15 14 14 13 14 14 14 14 13 12 12 11 11 10 9 9 9 10 11 12 12 11 12 13 14 14 12 10 8 7 7 8 9 11 12 11 10 9 9 10 10 9 8 8 9 10 9 8 8 8 8 8 8 7 8 8 8 8 8 8 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 8 9 10 12 14 15 15 15 15 15 15 15 15 16 17 17 18 18 18 18 18 19 20 22 24 25 26 27 28 29 30 31 31 30 30 29 28 28 27 26 26 25 25 25 26 26 27 27 27 26 26 25 23 22 22 21 21 22 22 23 23 23 23 23 23 23 23 23 23 24 24 24 24 25 25 26 26 27 27 27 28 28 29 30 31 32 32 33 34 35 35 36 37 37 37 37 37 36 36 36 35 35 35 35 34 34 33 32 31 30 29 29 29 29 30 30 30 30 30 30 29 29 30 30 30 31 31 32 32 32 33 33 34 34 34 35 36 37 37 36 35 34 33 33 32 31 30 29 28 27 26 25 23 22 21 20 19 19 20 20 21 22 22 22 21 21 21 21 22 23 24 26 27 27 28 27 27 27 27 27 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -11 -12 -12 -13 -14 -15 -14 -10 -7 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -2 -1 -0 1 3 4 6 8 10 11 11 11 9 7 6 5 4 2 -2 -7 -11 -15 -16 -16 -15 -13 -12 -11 -10 -10 -11 -12 -15 -18 -21 -22 -21 -21 -23 -26 -28 -27 -24 -20 -17 -14 -12 -11 -10 -9 -8 -6 -3 -1 2 4 4 1 -2 -7 -10 -12 -11 -12 -13 -14 -15 -16 -19 -24 -26 -24 -20 -12 -3 4 8 9 8 7 6 5 4 4 4 5 6 7 8 8 9 9 9 9 9 10 10 10 10 9 9 8 9 10 11 11 11 10 9 10 11 13 14 13 13 12 12 13 14 14 14 13 12 11 10 10 10 9 8 8 9 11 12 12 11 11 12 13 13 12 10 8 6 6 7 8 9 10 9 8 7 8 9 10 9 8 7 8 9 9 9 8 7 8 8 8 8 8 8 8 8 8 8 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 7 8 9 10 12 14 14 14 13 13 13 13 14 15 16 16 17 17 18 18 18 19 20 22 23 24 24 25 25 26 27 27 27 27 26 25 25 24 24 23 23 22 22 23 23 23 24 24 24 24 24 23 22 22 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 24 24 25 25 25 25 25 25 26 26 27 28 28 29 30 31 32 33 34 34 35 36 36 36 35 35 34 34 34 34 34 33 32 31 31 30 29 28 27 27 27 27 28 28 29 29 29 29 29 29 29 30 30 31 31 32 33 33 34 34 35 35 35 36 36 36 35 35 34 33 33 32 32 31 30 29 28 28 27 26 24 23 21 20 19 19 20 21 21 22 22 21 21 20 20 21 22 23 25 26 27 28 28 28 27 27 27 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -12 -13 -13 -13 -14 -13 -12 -9 -7 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -0 1 2 4 6 8 10 11 11 10 8 6 5 4 3 1 -2 -6 -10 -13 -16 -18 -17 -15 -13 -11 -10 -11 -12 -14 -17 -21 -24 -25 -23 -24 -26 -29 -31 -31 -28 -22 -13 -5 -2 -1 -2 -3 -3 -4 -3 -1 3 7 11 12 12 9 6 3 3 3 1 -3 -6 -8 -10 -13 -16 -17 -18 -18 -12 -4 5 10 11 12 10 9 6 5 5 6 7 8 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 10 10 10 10 9 10 10 12 12 11 11 11 11 12 13 14 13 12 11 10 9 9 9 8 8 8 9 10 11 12 11 11 11 12 13 12 9 7 6 6 7 7 8 8 8 7 6 7 9 10 9 8 6 7 8 9 9 8 8 8 8 9 9 9 9 9 8 8 8 9 9 9 8 8 7 8 8 7 7 6 6 6 7 7 7 7 6 5 5 6 7 8 9 10 11 12 13 12 12 11 11 12 12 13 15 16 17 17 17 18 18 19 20 21 22 23 23 23 23 24 24 25 24 24 23 23 22 22 21 21 21 20 20 20 21 21 21 22 22 22 22 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 23 23 23 23 24 24 24 24 24 24 24 24 25 25 26 27 28 29 30 31 32 33 34 34 34 34 34 33 33 33 32 32 31 31 30 29 28 27 27 26 25 25 25 26 26 27 27 27 28 28 28 28 29 30 30 31 32 33 33 34 34 35 35 35 35 35 35 35 34 34 33 33 32 32 31 31 30 29 29 28 27 26 25 23 21 20 19 19 20 21 21 21 21 21 20 20 20 21 23 24 26 27 27 28 28 28 28 28 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -9 -8 -8 -9 -9 -10 -9 -8 -7 -6 -5 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 2 3 5 7 8 9 9 8 6 5 4 4 4 2 -1 -4 -6 -8 -11 -15 -17 -16 -13 -11 -10 -10 -13 -16 -19 -23 -24 -25 -25 -26 -28 -30 -32 -33 -31 -24 -13 1 7 8 6 4 1 -1 -2 -2 -0 4 9 13 16 17 18 18 19 20 18 14 10 6 3 0 -3 -6 -10 -14 -16 -13 -6 4 10 14 15 14 11 8 7 7 7 8 10 10 11 11 11 11 11 10 10 10 10 9 9 9 9 9 10 9 9 9 10 10 11 10 9 9 10 11 12 13 12 12 11 10 9 8 8 8 7 7 8 9 11 12 11 11 11 11 12 11 10 7 6 6 6 7 8 8 7 6 5 5 7 9 9 8 7 6 7 8 9 9 8 8 8 9 9 9 9 9 9 8 8 8 9 9 8 7 7 7 7 7 6 6 5 6 6 7 7 7 6 6 5 6 7 8 9 9 10 11 12 12 11 11 10 11 11 12 14 15 16 16 17 17 18 18 19 20 21 21 21 21 21 22 22 23 23 22 22 21 21 20 20 20 20 20 20 19 20 20 20 20 20 20 20 20 20 20 21 21 21 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 24 25 25 26 27 29 30 31 32 32 33 33 33 32 32 32 31 30 30 29 29 28 27 26 26 25 24 24 24 24 24 24 25 26 27 27 28 28 28 29 30 30 31 32 33 33 34 34 35 35 35 35 35 35 35 34 33 32 32 31 31 30 30 29 29 29 28 27 26 25 23 21 20 19 19 20 21 21 21 21 20 20 20 21 22 23 25 26 27 28 28 28 28 28 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -9 -9 -8 -7 -7 -8 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -1 1 2 4 6 6 7 7 6 5 5 5 5 5 4 1 -2 -5 -7 -9 -12 -15 -15 -13 -10 -9 -9 -12 -16 -20 -21 -19 -20 -23 -26 -28 -30 -31 -31 -29 -24 -15 0 9 12 11 10 7 5 2 1 0 1 4 9 12 15 19 23 26 27 29 28 24 20 16 13 9 5 -2 -8 -13 -16 -16 -8 4 12 17 19 18 14 10 8 8 9 10 11 11 12 12 11 11 10 10 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 8 9 10 11 11 11 10 10 9 8 8 8 8 7 7 7 8 10 11 12 11 10 11 11 11 10 7 5 5 6 7 7 8 7 5 4 4 6 8 9 8 7 6 6 7 8 8 8 8 8 8 9 9 9 9 9 8 8 8 9 9 8 7 7 7 7 7 6 6 5 5 5 6 7 7 7 6 6 6 7 8 9 10 10 11 11 11 11 10 10 10 11 12 13 14 14 15 15 16 16 17 18 19 19 20 19 19 20 20 21 21 21 21 21 21 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 19 19 19 19 20 20 20 20 21 21 21 21 21 21 21 21 21 21 22 22 22 21 21 21 21 22 22 22 22 22 22 22 23 23 24 24 25 26 27 28 29 30 31 31 31 32 31 31 31 30 30 29 29 28 28 27 26 25 24 23 23 22 22 22 22 22 23 25 26 27 27 28 28 28 29 30 30 31 32 33 33 34 34 35 35 35 35 35 34 33 32 31 31 30 30 29 29 28 28 28 27 27 26 24 22 20 19 19 19 20 20 20 20 20 20 20 20 21 22 24 25 26 27 28 28 28 29 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -10 -9 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 2 3 4 5 4 4 4 5 5 6 7 6 5 3 -1 -4 -6 -9 -12 -15 -15 -13 -11 -9 -9 -11 -15 -16 -16 -15 -18 -23 -26 -28 -29 -29 -29 -26 -21 -15 -6 5 10 12 12 11 11 10 10 9 8 7 7 8 10 13 16 21 25 30 31 30 27 23 19 13 7 1 -3 -7 -12 -15 -14 -5 5 12 18 22 21 16 12 10 10 10 11 12 12 12 12 11 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 9 10 10 10 9 8 8 8 8 8 8 7 6 6 6 8 10 11 11 11 10 11 11 10 7 5 5 6 6 7 7 7 6 4 4 5 7 8 8 7 6 6 6 7 8 8 8 8 8 8 9 9 9 9 8 8 8 8 8 8 7 6 6 6 7 6 6 5 5 5 5 6 7 7 7 7 7 8 8 9 10 10 10 10 10 10 10 10 10 11 11 12 13 13 13 13 14 14 15 16 17 17 17 18 18 18 18 19 19 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 19 19 19 19 19 18 18 18 18 18 18 19 19 19 19 20 20 20 20 20 20 20 20 21 21 21 21 20 20 20 20 20 21 21 21 22 22 22 23 23 23 24 24 25 25 26 27 28 28 29 30 30 30 30 30 30 30 29 29 28 28 28 27 26 26 25 24 23 22 21 21 20 20 21 22 24 25 26 27 27 27 27 27 28 29 30 31 32 33 33 34 35 35 35 35 34 33 32 31 30 30 29 28 28 27 27 27 26 26 26 25 23 21 20 19 19 19 19 20 20 20 20 20 20 20 21 23 24 25 26 27 28 28 29 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -14 -12 -10 -7 -6 -5 -5 -5 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -0 1 3 3 3 3 2 2 3 4 5 6 6 6 4 1 -2 -5 -8 -10 -13 -14 -12 -11 -9 -8 -10 -12 -12 -11 -13 -18 -21 -23 -25 -26 -27 -26 -23 -18 -12 -5 2 6 9 11 12 13 14 14 15 14 14 13 12 10 10 10 12 15 17 18 18 21 22 18 13 9 9 8 3 -2 -8 -12 -14 -11 -3 7 16 23 23 18 15 12 11 11 12 12 13 13 12 10 9 8 8 8 9 9 8 7 7 7 7 7 7 8 8 8 8 8 9 8 7 7 7 7 7 7 8 8 7 6 5 6 8 10 11 11 10 10 10 9 8 6 5 5 6 7 7 7 6 5 4 5 7 8 7 6 5 5 6 6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 6 5 5 6 6 6 5 5 5 5 5 6 7 7 7 7 8 8 9 9 10 10 10 9 9 10 10 10 10 11 11 12 12 12 12 12 12 13 13 14 14 15 15 15 15 16 16 17 17 17 17 18 18 18 18 18 19 18 18 18 18 17 17 17 17 17 17 17 17 18 17 17 17 17 17 17 17 17 17 17 17 18 18 19 19 19 19 20 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 21 22 22 23 23 24 24 24 25 25 26 26 27 27 27 28 28 29 29 29 29 29 29 29 28 28 28 27 27 27 26 25 24 23 22 21 20 19 20 20 22 24 25 26 26 26 26 26 26 27 28 29 30 31 32 33 33 34 34 34 34 33 32 31 30 29 29 28 27 26 26 25 25 25 25 25 23 22 20 19 18 18 19 19 20 20 20 20 20 20 21 22 23 25 26 26 27 28 28 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -10 -11 -12 -13 -15 -15 -16 -16 -15 -13 -10 -7 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 2 2 3 3 2 2 1 1 2 4 5 5 5 4 1 -2 -5 -6 -7 -9 -11 -11 -11 -10 -9 -9 -10 -10 -10 -12 -16 -19 -20 -22 -23 -23 -22 -20 -16 -10 -3 1 4 5 7 10 13 14 14 15 15 16 16 16 15 14 12 11 11 11 11 12 13 15 14 13 12 13 13 10 8 5 1 -2 -4 -5 -4 0 8 16 20 20 17 14 13 12 13 13 13 12 10 9 8 7 7 8 8 7 6 5 5 6 7 7 7 7 7 7 7 7 7 6 6 6 6 7 7 8 8 7 6 5 6 9 10 11 10 10 10 9 8 6 5 5 6 7 7 7 6 5 5 6 7 8 7 6 5 5 5 6 6 6 6 7 8 8 8 8 7 8 8 7 7 7 7 7 7 6 5 5 5 5 5 5 5 5 5 5 5 6 7 7 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 11 11 11 10 10 10 10 11 11 11 12 12 12 12 13 13 14 14 14 14 15 15 15 16 16 17 17 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 16 16 16 17 17 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 18 18 19 20 21 22 23 23 23 24 24 24 24 25 25 25 25 25 25 26 26 27 28 28 28 28 28 28 28 27 27 27 27 27 26 25 24 23 22 20 19 19 19 20 22 24 25 26 26 26 25 25 26 26 27 29 30 31 31 32 32 33 33 32 32 31 31 30 30 29 28 27 26 25 25 24 24 24 24 24 22 21 19 18 18 18 19 19 20 20 20 20 20 21 22 23 24 25 26 26 27 28 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -13 -14 -15 -16 -15 -15 -14 -13 -11 -9 -7 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -3 -2 -1 0 1 2 3 3 3 3 2 1 2 3 5 6 5 4 1 -3 -5 -7 -7 -7 -8 -9 -10 -9 -8 -8 -8 -8 -9 -11 -13 -14 -16 -17 -17 -17 -17 -15 -12 -7 -2 1 3 5 6 8 10 11 12 12 13 14 15 17 17 17 16 15 15 13 12 11 11 11 11 11 13 15 16 15 14 14 12 10 8 6 2 -1 -1 4 12 18 21 19 17 15 14 13 12 11 10 8 7 6 6 6 6 6 5 5 5 6 7 7 6 6 5 5 5 6 6 6 6 5 6 7 7 8 7 6 5 6 7 9 10 10 10 9 8 7 6 5 5 6 7 7 7 6 5 5 6 7 7 7 6 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 6 5 4 4 4 4 4 4 4 4 5 5 5 6 7 7 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 9 9 9 9 10 10 10 10 10 11 11 11 12 12 12 13 13 14 14 14 15 15 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 14 15 15 16 16 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 17 17 18 19 20 21 22 22 22 23 23 23 23 23 23 22 22 22 23 24 24 25 26 26 27 27 27 26 26 26 26 26 26 26 26 25 24 23 22 20 19 19 19 21 22 24 25 26 26 26 25 25 26 26 27 28 29 30 30 31 31 31 31 31 30 30 30 30 29 28 27 26 25 24 24 24 24 24 24 23 21 20 19 18 18 18 19 19 20 20 21 21 21 22 23 24 25 25 26 27 27 -6 -6 -6 -6 -5 -6 -6 -7 -7 -8 -8 -9 -10 -11 -13 -13 -14 -14 -13 -12 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 -0 1 2 3 4 4 4 3 3 4 6 6 6 5 2 -2 -5 -6 -6 -5 -5 -5 -5 -4 -4 -3 -4 -5 -7 -8 -8 -9 -10 -11 -11 -10 -9 -8 -5 -2 0 3 4 6 7 8 8 9 9 9 9 10 12 13 14 16 17 19 19 18 17 15 13 12 11 11 12 14 16 16 17 19 19 19 18 16 14 10 4 1 2 8 14 19 19 18 16 14 12 10 9 7 6 5 5 5 5 4 4 5 5 6 6 5 4 3 3 4 5 6 6 5 4 5 5 6 7 7 6 5 5 6 8 9 9 9 9 8 7 6 5 5 6 7 7 7 6 5 5 6 7 7 7 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 3 3 4 4 4 4 4 4 5 5 5 6 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 10 11 11 12 12 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 14 14 15 15 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 16 17 17 18 19 20 20 21 21 20 20 20 20 20 20 20 20 20 21 22 23 23 24 24 25 24 24 24 24 24 24 25 25 25 25 24 23 22 21 20 19 19 20 21 23 24 25 26 26 26 25 25 25 26 27 28 28 29 29 29 29 29 29 30 30 30 30 29 29 28 27 26 24 24 23 24 24 24 23 22 21 19 18 18 18 18 19 20 20 21 21 21 22 22 23 24 25 26 26 26 -6 -6 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -10 -11 -13 -14 -15 -15 -14 -12 -10 -9 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -0 1 2 3 3 4 4 5 6 7 7 6 4 1 -2 -4 -5 -4 -2 -1 0 1 1 1 -0 -2 -3 -4 -5 -5 -6 -7 -7 -5 -3 -0 2 3 4 5 6 8 9 9 9 8 7 7 7 7 7 8 9 11 14 17 19 21 21 21 18 15 13 12 12 12 13 15 17 21 23 24 24 25 25 23 18 10 4 2 4 8 13 16 17 16 13 10 8 7 6 5 4 3 3 3 4 4 5 5 4 3 3 2 3 5 5 5 4 3 3 4 5 6 6 5 4 4 5 7 8 8 8 8 7 6 6 5 6 6 7 7 6 5 5 4 5 6 7 6 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 7 7 8 8 8 8 8 7 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 6 7 7 7 8 8 8 9 9 9 9 9 10 11 11 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 13 13 13 13 13 12 12 12 12 12 12 12 12 13 13 14 14 15 15 15 15 14 14 14 14 14 14 14 14 14 15 15 15 16 16 17 18 19 19 19 18 18 18 18 18 18 18 18 18 18 19 20 20 21 22 22 22 22 21 21 21 21 22 22 23 23 23 23 22 21 20 19 19 19 20 21 22 24 25 26 26 25 25 25 25 26 26 27 27 28 28 28 28 28 29 29 29 29 29 29 28 27 26 25 24 23 23 24 24 24 23 21 20 19 18 18 18 19 19 20 21 21 21 22 22 23 24 24 25 25 26 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -8 -10 -11 -13 -15 -16 -15 -13 -12 -10 -8 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -3 -2 -1 -1 0 1 2 3 3 5 6 6 6 5 3 1 -2 -4 -4 -2 -0 1 2 2 1 1 0 -0 -1 -2 -3 -4 -5 -5 -4 -0 4 6 7 7 7 7 8 9 10 10 10 9 8 6 6 5 5 5 7 9 12 15 18 21 23 22 20 18 15 14 12 11 12 15 19 24 27 29 32 34 34 31 25 17 9 3 -0 2 7 11 13 14 12 9 7 6 5 4 3 2 2 3 3 3 3 2 2 2 3 4 4 4 3 2 2 3 4 5 5 5 4 3 4 5 7 7 6 6 6 5 5 5 6 6 7 6 5 4 4 4 5 6 6 6 5 5 5 6 6 5 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 2 2 2 2 2 2 2 2 3 3 3 3 4 4 5 5 6 7 7 7 7 7 7 6 6 7 7 7 7 7 6 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 8 8 8 8 8 8 9 9 10 11 11 12 12 13 13 13 13 13 13 13 14 14 14 14 14 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 13 13 14 14 14 14 14 14 14 15 15 16 17 17 18 18 18 18 17 17 17 17 17 17 17 16 16 17 17 18 18 19 19 19 19 19 19 18 18 19 19 20 21 21 21 21 20 20 19 18 18 18 19 20 22 24 25 25 25 25 25 25 25 25 26 26 27 27 27 27 28 28 28 29 29 29 29 28 28 27 26 25 24 23 23 24 24 24 22 21 20 18 18 18 18 19 20 20 21 21 21 22 22 23 23 24 25 25 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -8 -10 -12 -14 -14 -13 -12 -11 -9 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -3 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -1 -1 -1 0 2 3 3 3 3 2 1 -1 -4 -6 -6 -4 -2 -1 -1 -1 -0 0 -0 -1 -1 -2 -3 -4 -5 -5 -2 3 7 8 9 9 9 9 10 10 11 11 11 10 10 9 7 5 4 3 6 9 11 13 15 18 21 22 21 19 17 15 13 11 12 16 21 25 30 34 38 39 39 36 30 23 15 7 -0 -2 0 5 10 11 10 9 7 6 5 3 2 2 2 2 2 2 2 2 2 3 3 3 2 1 1 2 3 3 4 4 4 3 3 4 6 6 5 5 4 4 4 5 5 6 7 6 4 3 3 4 5 5 5 5 5 5 5 6 6 5 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 2 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 5 6 7 7 7 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 8 8 8 8 9 9 10 11 11 12 12 12 13 13 13 13 13 14 14 14 14 14 14 14 13 13 13 13 12 12 12 12 12 11 11 11 11 11 11 12 12 13 13 14 13 13 13 13 13 13 13 13 14 14 14 14 15 15 16 17 17 18 19 18 18 18 17 17 16 16 16 16 15 15 15 15 16 16 17 17 17 17 17 16 16 16 16 17 17 18 19 19 19 19 19 18 18 17 17 18 19 20 22 23 25 25 25 25 25 25 24 24 25 25 26 26 26 27 27 27 28 28 28 28 28 28 27 26 25 24 24 24 24 24 24 23 22 20 19 18 18 18 19 19 20 20 21 21 21 21 22 22 23 24 24 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -4 -5 -7 -9 -11 -12 -12 -12 -11 -9 -8 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -3 -4 -5 -5 -5 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 0 0 0 -0 -1 -3 -5 -7 -8 -8 -7 -6 -5 -4 -4 -3 -3 -2 -1 -0 -1 -2 -3 -5 -4 -1 4 7 8 9 10 10 10 11 11 11 11 11 11 11 10 9 7 5 3 4 9 12 12 11 11 16 19 20 19 18 17 14 13 13 15 18 24 29 31 31 34 35 34 31 26 20 11 3 -2 -3 1 6 10 11 10 8 7 5 4 3 2 1 1 1 1 2 2 3 3 2 1 -0 0 1 2 3 3 3 3 3 4 5 5 5 4 3 3 3 3 4 6 6 6 4 3 3 4 5 5 4 4 4 5 5 6 6 5 4 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 3 3 2 2 1 1 0 0 0 0 0 0 1 1 1 2 2 2 2 3 5 5 6 6 5 5 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 8 9 9 10 11 11 12 12 12 12 13 13 13 13 14 14 14 14 14 14 14 14 13 13 13 12 12 12 12 12 11 11 11 11 11 11 11 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 15 15 16 17 18 18 19 19 18 18 17 16 15 15 15 15 15 15 14 14 15 15 15 15 15 15 15 14 14 14 14 15 16 17 17 18 18 17 17 16 16 16 16 17 18 20 22 23 25 25 26 25 25 24 24 24 24 25 25 25 25 26 26 26 27 27 28 28 28 27 27 26 25 24 24 24 25 25 24 23 21 20 18 18 18 18 19 19 20 20 20 21 21 21 21 22 23 23 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -6 -7 -8 -9 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -4 -3 -3 -3 -2 -2 -2 -3 -5 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -6 -8 -9 -9 -8 -7 -5 -4 -4 -4 -5 -5 -4 -2 -1 -0 -1 -2 -3 -2 1 3 5 7 8 10 11 11 10 9 9 8 8 7 8 8 7 7 6 5 4 4 8 11 11 9 11 14 17 18 19 18 17 15 15 14 16 18 18 13 10 10 15 21 25 26 22 14 6 1 0 5 9 13 13 11 9 8 6 5 3 2 1 1 1 2 2 2 2 1 0 -1 -0 1 1 2 2 2 3 3 4 5 4 3 2 2 2 2 3 5 6 6 4 3 2 3 4 5 4 4 4 5 5 5 5 5 4 3 3 3 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 1 0 -0 -0 -0 -1 -1 -0 -0 0 1 1 1 1 2 3 4 4 5 5 4 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 9 9 10 11 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 14 14 14 13 13 13 12 12 12 12 11 11 11 11 11 11 11 12 12 13 13 13 13 13 13 13 12 13 13 13 14 14 14 14 14 15 15 16 17 17 18 18 18 17 16 15 14 14 14 15 15 15 14 14 14 14 14 14 14 14 13 13 12 12 13 13 14 14 15 15 16 16 15 15 15 15 15 15 16 18 20 22 24 25 26 26 25 25 24 24 24 24 24 24 24 24 25 25 26 26 27 28 28 28 27 27 26 25 25 25 25 25 25 24 22 21 19 18 17 17 18 18 19 19 20 20 21 21 21 21 22 23 -5 -5 -5 -5 -6 -6 -7 -8 -8 -7 -7 -6 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -9 -8 -8 -7 -6 -5 -4 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -5 -7 -8 -8 -8 -6 -4 -4 -4 -4 -5 -7 -7 -5 -3 -1 0 0 -1 -2 -1 0 2 4 6 7 8 9 10 9 8 6 5 4 3 3 3 4 5 5 4 3 3 4 7 6 5 6 10 14 17 18 18 18 18 17 16 13 9 2 -2 -2 -1 2 7 12 16 17 14 7 2 1 7 14 17 16 14 12 10 8 6 4 3 2 1 2 2 2 1 1 -0 -1 -1 0 1 2 2 2 3 3 4 4 3 2 1 1 1 2 3 5 5 4 3 2 2 4 4 4 3 3 4 5 5 5 4 4 3 3 2 2 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 2 3 3 3 3 3 2 2 2 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 7 8 8 8 7 7 7 7 7 8 8 8 8 9 9 10 10 10 11 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 14 13 13 13 12 12 12 12 11 11 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 12 13 13 13 13 13 13 13 13 14 15 15 16 16 16 16 15 14 13 13 13 14 15 15 14 14 14 13 13 13 13 12 12 12 11 11 11 11 12 12 13 13 14 14 14 14 13 13 13 14 14 16 18 20 22 24 26 26 26 26 25 24 24 23 23 23 23 23 24 24 25 26 27 28 28 29 28 28 27 26 26 25 25 25 25 24 23 22 20 18 17 16 17 17 18 19 19 20 20 20 20 21 21 22 -5 -5 -4 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -4 -4 -5 -5 -6 -6 -5 -4 -3 -3 -4 -5 -6 -7 -7 -5 -2 -0 1 1 -0 -1 -1 -0 2 3 4 5 6 7 8 7 6 5 3 1 -0 -1 -1 0 1 2 2 2 0 0 -3 -3 -1 1 -1 9 13 15 16 17 18 16 12 7 1 -2 -2 -3 -4 -3 -2 3 7 10 9 6 2 4 10 16 20 21 18 15 13 11 8 6 4 3 2 2 2 1 0 -0 -1 -0 1 2 2 2 2 3 3 3 2 1 1 1 1 1 2 4 5 4 3 2 2 3 4 4 3 3 4 5 5 5 4 4 4 3 2 2 1 1 1 1 1 0 -0 -0 -0 -0 -0 0 0 1 1 1 1 0 -0 -0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -0 0 0 1 1 2 2 2 2 2 1 1 2 2 3 3 3 3 3 3 3 4 5 5 5 5 6 6 7 7 7 8 8 7 7 7 7 7 7 7 7 8 8 8 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 14 14 14 14 14 13 13 13 13 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 12 12 11 11 11 11 11 11 11 11 11 11 11 11 12 12 13 13 13 13 13 12 12 12 12 13 14 14 14 14 14 13 13 12 12 12 11 11 11 10 10 10 10 10 11 11 12 12 13 12 12 12 12 12 13 14 16 18 21 23 25 26 27 26 25 25 24 23 23 23 23 23 23 24 25 26 27 28 29 29 29 29 28 27 26 26 25 25 25 25 24 23 21 19 17 16 16 16 17 18 19 19 20 20 20 20 21 22 -5 -5 -4 -4 -5 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -2 -2 -1 -2 -4 -5 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -6 -7 -6 -4 -2 1 2 2 1 -0 0 1 2 2 3 3 5 6 6 6 6 4 3 1 -1 -2 -2 -2 -2 -2 -2 -2 -4 -7 -7 -6 -6 -6 -1 4 8 10 11 11 9 6 3 0 -1 -1 -1 -3 -5 -6 -5 -2 2 5 7 5 5 7 11 16 23 24 22 19 16 13 10 7 5 4 3 2 2 1 -0 -0 1 2 2 2 2 2 3 3 2 1 1 0 0 1 2 3 4 4 3 2 2 3 4 3 2 2 3 4 4 4 4 4 4 4 3 2 1 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -0 0 0 1 1 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 4 4 5 5 5 6 6 6 7 7 7 7 7 6 6 6 7 7 7 7 7 8 8 8 8 9 9 9 10 10 11 11 11 11 12 12 12 12 13 13 13 14 14 14 14 14 14 13 13 13 12 12 12 12 12 12 12 12 13 13 13 13 13 12 11 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 12 13 13 14 14 13 13 12 12 12 11 11 11 10 10 10 9 9 10 10 11 11 11 12 12 11 11 11 12 13 14 16 18 21 23 25 26 26 26 25 24 23 22 22 22 23 23 24 25 26 27 28 29 30 30 30 29 28 27 26 25 25 25 25 24 24 22 20 18 16 15 15 16 17 18 18 19 19 19 20 20 21 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -9 -8 -7 -7 -6 -6 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -5 -5 -6 -7 -7 -6 -6 -5 -4 -4 -2 -2 -2 -2 -2 -2 -4 -6 -6 -6 -3 0 2 3 3 2 2 2 2 1 1 1 1 2 3 4 5 5 4 3 2 1 -0 -1 -2 -4 -6 -7 -7 -7 -8 -7 -5 -4 -9 -5 -0 2 3 3 1 0 -1 -2 -3 -1 0 0 -1 -3 -5 -5 -3 -0 4 7 8 8 9 11 17 23 26 26 23 20 16 13 10 7 5 4 3 1 1 1 1 2 2 2 2 2 3 2 1 1 0 0 0 1 2 3 3 3 2 2 2 3 3 2 1 2 3 4 4 4 4 4 4 3 2 1 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 0 0 1 1 1 1 1 2 2 1 1 1 1 2 2 3 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 9 10 10 11 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 14 14 13 13 13 12 12 12 12 12 12 12 13 13 13 13 12 12 10 9 8 7 7 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 10 11 12 13 13 13 13 13 12 12 12 12 11 11 11 10 10 9 9 10 10 10 11 11 11 11 11 11 11 12 12 14 16 19 21 24 25 26 25 25 24 23 22 22 22 22 23 24 25 26 27 28 29 30 31 31 30 30 28 27 26 25 25 25 25 24 23 22 20 17 15 14 14 16 16 17 18 18 18 19 19 20 -4 -3 -3 -4 -4 -5 -6 -6 -7 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -8 -9 -8 -6 -4 -4 -6 -5 -5 -4 -3 -2 -1 0 -0 -1 -2 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -5 -4 -3 -2 -1 0 1 1 -0 -1 -2 -4 -5 -5 -3 -0 2 3 3 4 4 4 3 2 -0 -1 -2 -2 -2 -1 0 1 2 2 3 4 4 3 2 -1 -5 -9 -12 -11 -8 -3 -1 -6 -11 -9 -6 -4 -3 -2 -1 -1 -2 -3 -4 -3 -0 2 3 3 1 -1 -1 -1 2 8 12 13 11 10 13 20 26 29 29 27 24 20 16 13 10 7 5 4 3 2 2 2 2 2 3 3 3 2 1 0 0 0 1 2 2 3 3 2 1 2 2 3 2 1 1 2 3 4 4 4 4 4 3 2 2 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 0 1 1 1 1 1 1 1 0 0 1 1 2 3 3 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 7 7 8 9 10 10 11 11 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 11 10 8 7 5 5 4 4 4 4 5 5 6 6 6 7 7 7 7 7 6 6 6 6 6 6 7 7 8 9 11 12 13 13 13 13 13 13 13 12 12 12 11 10 10 10 9 10 10 10 10 11 11 11 11 11 11 11 12 14 16 19 21 23 24 24 24 23 22 21 21 21 22 22 23 24 26 27 28 29 30 31 31 31 30 29 27 26 25 25 25 25 25 24 23 21 19 16 14 13 14 15 16 17 17 17 18 18 19 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -7 -8 -9 -10 -9 -8 -7 -6 -5 -5 -5 -6 -6 -8 -10 -12 -12 -9 -6 -4 -6 -6 -6 -5 -3 -1 -0 0 0 0 -0 0 1 1 0 -0 -1 -3 -5 -5 -4 -2 -1 -1 -2 -3 -3 -2 -1 -1 -0 1 1 3 4 3 1 -1 -1 -1 -1 -0 1 3 4 4 5 5 5 5 5 3 1 -2 -4 -6 -7 -7 -7 -6 -4 -3 -1 2 4 6 7 5 1 -5 -11 -13 -13 -10 -5 -8 -12 -11 -8 -6 -5 -4 -2 -1 -1 -2 -4 -4 -2 2 6 9 9 8 7 5 5 10 16 18 17 15 16 19 24 27 28 30 30 27 24 20 16 12 10 7 6 5 4 3 3 3 3 3 3 2 1 0 0 1 1 2 2 2 1 1 1 1 2 1 1 1 2 3 3 3 3 3 3 3 3 2 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 1 1 1 0 0 -0 -0 0 1 2 2 3 3 3 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 9 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 12 12 12 12 11 11 11 11 11 11 11 12 12 12 11 11 10 9 8 6 5 3 3 2 2 2 3 3 4 4 5 6 6 6 7 6 6 5 5 4 4 4 4 5 6 7 8 10 11 12 13 13 14 14 14 13 13 13 12 11 11 10 10 9 9 10 10 10 10 10 10 10 10 10 11 12 14 16 18 20 21 22 22 22 21 20 20 20 20 21 22 23 24 25 27 28 29 30 30 31 30 29 28 26 26 26 26 26 26 25 24 23 21 18 15 12 12 13 15 16 16 16 17 17 17 -4 -4 -3 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -10 -10 -9 -7 -6 -5 -5 -5 -6 -6 -6 -7 -9 -12 -13 -10 -6 -3 -3 -4 -4 -3 -3 -2 -2 -1 -0 0 1 2 2 2 2 1 -1 -3 -4 -3 -2 -2 -1 -0 0 1 2 4 5 6 6 6 6 6 6 4 2 0 1 3 5 7 8 8 7 6 6 6 6 6 6 5 4 1 -2 -5 -7 -9 -9 -9 -9 -9 -8 -7 -3 2 5 7 5 2 -4 -10 -12 -11 -10 -11 -12 -11 -9 -6 -6 -6 -4 -2 -1 -1 -2 -3 -2 0 5 11 15 17 17 15 13 14 20 23 22 21 21 21 21 21 22 26 31 31 30 28 24 19 16 13 10 8 7 6 5 5 4 4 3 2 1 1 1 1 1 2 2 1 1 1 1 1 1 0 0 1 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 0 0 0 0 -0 -0 -0 -0 -0 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 6 7 8 9 10 10 11 11 11 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 10 10 10 10 10 11 11 11 11 11 10 10 10 9 8 7 6 4 3 2 1 1 1 1 1 2 3 3 4 5 5 6 6 6 6 5 4 3 3 3 3 4 4 6 7 8 10 11 12 13 14 14 14 13 13 12 12 11 10 10 9 9 9 9 9 10 10 10 9 9 9 10 10 11 13 14 16 18 19 19 19 19 18 18 18 18 19 19 20 21 23 25 26 27 28 29 29 29 29 28 27 26 26 26 26 26 25 25 24 22 20 17 13 11 12 13 14 15 15 16 16 16 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -9 -10 -10 -9 -7 -6 -5 -5 -5 -6 -6 -7 -7 -8 -9 -11 -11 -8 -4 -1 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 0 0 -0 -1 -3 -5 -7 -7 -6 -3 -2 -1 1 3 6 8 10 11 12 13 12 10 8 5 3 4 6 7 8 9 9 8 7 7 6 6 6 6 5 5 3 1 -2 -5 -6 -7 -8 -8 -9 -10 -11 -10 -8 -4 0 3 2 -0 -4 -7 -9 -10 -11 -11 -11 -10 -7 -4 -5 -4 -3 -2 -1 -1 -2 -2 -0 4 12 19 25 27 26 21 18 19 23 25 24 25 26 26 25 24 23 25 28 32 34 32 28 24 20 17 14 12 10 8 7 6 5 4 3 2 2 2 1 1 1 1 1 1 1 1 0 -0 -0 1 2 2 3 2 2 2 2 3 3 2 2 2 2 2 1 1 0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 0 0 0 -0 -0 -0 -0 -0 0 1 1 2 2 2 1 1 2 2 2 3 3 3 3 2 2 2 2 3 3 3 3 3 3 4 4 5 6 7 7 8 9 10 10 10 11 11 11 11 11 11 11 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 8 8 7 6 5 3 2 1 -0 -0 -1 -0 0 1 1 2 3 3 4 5 5 5 5 5 4 3 2 2 2 3 3 5 6 8 9 11 12 13 13 13 13 13 12 12 11 11 10 10 9 9 9 9 9 9 9 9 9 9 8 8 9 10 11 12 14 15 16 16 16 15 15 15 15 16 16 17 19 20 22 23 25 26 27 27 28 28 28 27 27 27 27 26 26 26 25 25 24 22 20 16 12 11 11 13 14 15 15 15 15 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -8 -4 -2 -1 -3 -3 -3 -3 -3 -3 -2 -1 -1 -0 -0 0 0 0 1 1 0 -1 -3 -4 -5 -6 -6 -6 -6 -5 -4 -1 2 5 9 13 16 16 16 14 11 9 9 9 9 8 7 7 7 6 5 5 5 5 4 4 4 3 2 0 -1 -2 -3 -4 -5 -7 -9 -10 -11 -9 -7 -5 -4 -3 -2 -1 -2 -4 -7 -9 -10 -10 -9 -8 -6 -5 -4 -4 -4 -3 -3 -2 -1 0 4 13 23 32 35 34 30 25 20 19 20 20 21 26 30 33 33 31 30 31 32 34 37 35 32 28 24 21 18 16 14 12 9 7 5 4 3 3 2 2 1 1 1 1 1 1 0 -0 -1 -0 1 2 2 2 2 2 2 2 2 3 2 2 2 2 2 1 1 0 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 1 0 0 0 -0 -0 -0 -0 0 0 1 1 1 1 1 1 1 2 2 2 3 3 3 3 2 2 2 2 2 2 3 3 3 3 4 4 5 6 6 7 7 8 8 9 9 10 10 10 10 9 9 9 9 9 8 8 8 8 7 7 7 7 8 8 8 8 9 9 9 9 9 8 8 8 7 7 7 6 6 5 4 3 1 -0 -1 -1 -1 -1 -1 -0 0 1 1 2 3 4 5 5 5 4 3 2 2 1 2 2 3 4 6 7 9 10 11 12 13 13 12 12 11 11 11 10 10 10 9 9 9 9 9 9 9 9 8 8 7 7 7 7 8 10 11 12 12 13 12 12 12 12 13 13 14 16 17 19 20 22 23 24 25 26 27 27 27 27 27 27 27 26 26 26 25 24 24 22 19 14 11 10 11 13 14 14 14 15 1 1 0 0 -0 -1 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -7 -8 -9 -9 -8 -8 -8 -9 -9 -10 -11 -12 -12 -12 -9 -5 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 -0 -0 0 0 0 0 1 1 1 0 -2 -4 -6 -8 -9 -9 -10 -10 -10 -9 -8 -5 -1 5 12 15 17 17 17 17 17 15 13 10 7 6 6 6 5 5 5 4 4 2 1 1 2 1 1 1 1 -0 -2 -4 -6 -8 -10 -9 -9 -9 -9 -8 -8 -6 -3 -3 -4 -6 -7 -8 -8 -8 -8 -6 -4 -4 -4 -5 -5 -5 -3 0 6 15 23 30 33 32 30 28 24 21 17 13 12 15 20 26 31 34 35 35 35 33 31 31 33 33 30 28 26 24 21 18 15 11 8 6 5 4 3 2 2 1 1 1 1 1 0 -0 -0 0 1 1 2 2 2 2 2 2 2 3 3 2 2 2 2 1 1 1 1 1 1 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 3 3 3 3 3 3 2 2 2 2 2 3 3 3 4 4 5 5 5 6 6 7 7 7 8 8 9 9 9 9 8 8 8 8 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 5 5 4 3 2 1 -1 -1 -2 -2 -1 -1 -1 -0 0 1 2 3 3 4 5 4 4 3 2 2 2 2 3 4 5 6 7 8 10 11 12 12 12 12 12 11 11 11 10 10 10 10 9 9 10 10 10 9 8 7 6 5 4 4 5 6 7 8 9 9 9 9 9 9 10 10 11 13 14 16 18 19 21 22 23 25 26 27 27 27 27 27 26 26 26 26 26 25 24 24 21 17 13 10 10 12 13 14 14 14 3 2 2 1 0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -5 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -12 -12 -13 -14 -14 -10 -5 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 -1 -1 -0 0 1 1 1 -0 -2 -4 -7 -9 -10 -11 -12 -12 -13 -13 -13 -12 -10 -5 1 7 11 14 18 20 20 19 16 13 10 8 8 8 7 6 5 5 4 2 -0 -1 0 1 2 2 2 2 1 -1 -4 -6 -9 -10 -11 -11 -11 -10 -11 -10 -8 -6 -4 -4 -5 -5 -6 -8 -8 -7 -6 -5 -4 -5 -6 -7 -7 -5 2 11 15 17 18 17 16 16 18 21 20 14 8 5 6 9 14 19 25 30 34 35 35 33 30 27 25 28 31 30 28 25 21 17 13 10 8 6 5 4 2 2 2 2 1 1 0 -0 -0 0 1 1 1 1 2 1 2 2 2 3 3 2 2 2 1 1 1 1 1 1 1 1 0 -0 -0 -0 -0 0 0 -0 -0 -1 -1 -1 -1 -1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 3 4 3 3 2 2 2 2 2 3 3 3 4 4 4 5 5 6 6 6 7 7 7 8 8 8 8 8 8 7 7 7 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 3 1 0 -1 -1 -2 -1 -1 -0 -0 0 0 1 2 2 3 4 4 4 4 3 3 3 3 3 4 4 5 6 7 8 10 11 12 12 12 12 12 11 11 11 10 10 10 10 10 10 10 10 9 8 7 6 4 3 2 2 3 4 5 6 6 6 6 6 6 7 7 9 10 12 14 16 18 19 20 22 23 25 26 27 27 26 27 27 26 26 26 26 26 25 24 23 21 16 12 9 10 12 14 14 14 3 4 3 1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -6 -7 -8 -9 -11 -12 -13 -13 -13 -13 -14 -14 -13 -9 -5 -2 -2 -2 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -2 -4 -6 -9 -11 -12 -12 -12 -13 -13 -13 -13 -13 -12 -8 -3 1 6 12 16 17 17 16 14 13 11 10 10 9 8 7 6 5 3 1 -1 -0 1 2 2 3 3 2 0 -2 -5 -7 -9 -10 -12 -12 -11 -11 -11 -11 -10 -7 -5 -5 -5 -5 -6 -8 -8 -7 -6 -5 -4 -5 -7 -10 -10 -8 0 4 4 3 1 0 0 4 10 15 14 11 5 1 -1 0 2 6 13 19 26 33 34 31 27 26 30 31 31 31 31 28 24 19 15 12 10 7 6 4 3 3 2 1 1 1 1 0 0 0 1 1 1 1 1 2 2 2 3 2 2 2 1 1 1 1 1 2 2 1 1 0 0 -0 0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 3 3 3 2 2 3 3 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 8 8 8 8 7 7 6 6 5 5 5 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 2 1 -0 -1 -1 -1 -0 0 1 1 1 1 1 2 2 3 4 4 4 4 3 3 3 3 4 4 5 6 6 7 9 10 11 12 12 12 12 11 11 10 10 10 9 9 9 9 9 9 9 8 7 5 4 2 1 0 0 1 2 3 4 4 3 3 3 4 5 6 7 9 12 14 16 18 20 21 23 24 25 26 26 26 27 27 27 26 26 26 26 26 25 24 23 20 15 11 10 11 13 14 13 2 3 3 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -4 -5 -5 -6 -7 -8 -9 -11 -12 -13 -13 -13 -13 -13 -11 -7 -4 -2 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -3 -4 -6 -9 -11 -12 -13 -12 -12 -13 -13 -13 -13 -13 -12 -9 -5 -0 5 9 10 10 10 11 11 11 11 12 11 10 8 7 8 7 6 4 1 2 3 3 3 2 2 1 -1 -3 -5 -6 -7 -8 -9 -11 -12 -11 -10 -10 -10 -9 -8 -7 -5 -5 -5 -6 -6 -6 -6 -5 -4 -6 -9 -12 -14 -11 -5 -2 -3 -5 -7 -8 -8 -4 2 7 10 8 5 1 -2 -4 -6 -5 -1 6 17 25 29 30 31 35 38 37 35 33 30 28 25 21 17 14 11 9 7 5 4 3 2 2 2 1 1 0 0 1 1 1 1 1 2 2 2 3 2 2 2 1 1 1 1 1 2 2 2 1 1 0 0 0 0 0 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 0 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 7 8 8 8 8 8 7 7 6 6 5 5 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 1 -0 -1 -1 -1 0 1 1 2 1 1 1 1 2 2 3 3 3 3 3 3 3 3 4 4 5 6 7 8 9 10 11 11 12 11 11 10 10 9 9 8 8 7 7 7 7 7 7 6 5 3 2 0 -0 -1 -1 -0 1 1 1 1 1 1 1 2 3 5 7 10 13 16 18 20 21 22 23 24 25 25 26 27 27 28 27 27 26 26 26 25 25 23 22 19 14 10 10 12 13 13 0 2 1 -0 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -6 -8 -9 -10 -10 -11 -11 -10 -9 -6 -3 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -3 -3 -3 -3 -4 -4 -6 -8 -10 -11 -12 -12 -11 -12 -12 -13 -13 -13 -13 -11 -8 -4 1 6 7 7 7 7 7 8 9 11 11 11 10 10 11 12 11 8 3 2 2 3 2 2 2 2 1 -0 -2 -4 -6 -7 -8 -9 -11 -12 -11 -10 -10 -10 -11 -11 -9 -6 -4 -4 -5 -6 -7 -6 -4 -5 -7 -10 -13 -13 -8 -5 -4 -6 -7 -8 -10 -10 -9 -6 -0 4 6 5 3 0 -5 -10 -13 -11 -4 8 20 28 35 42 47 47 44 39 34 32 30 27 23 20 17 14 11 8 6 5 4 3 2 2 1 0 0 0 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 7 7 7 7 8 8 8 7 7 6 6 5 5 4 4 4 5 5 5 5 5 4 4 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 -0 -1 -1 -0 0 1 1 1 1 0 0 0 1 1 1 2 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 11 11 10 10 9 8 8 7 6 6 5 5 5 5 5 5 4 3 2 1 -0 -1 -2 -2 -1 -0 0 1 0 0 0 1 2 3 5 8 11 14 17 19 21 22 23 24 24 25 26 27 28 29 28 28 27 26 26 25 25 24 23 21 17 13 10 10 12 13 0 0 -0 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -7 -7 -7 -6 -6 -6 -5 -4 -2 -1 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -6 -7 -8 -9 -9 -8 -8 -9 -11 -12 -12 -13 -13 -12 -12 -9 -4 1 4 5 6 7 7 7 8 10 10 10 10 11 12 11 10 7 3 1 1 2 2 1 2 2 2 1 -0 -2 -5 -7 -8 -8 -8 -10 -11 -11 -10 -9 -10 -11 -11 -9 -6 -5 -6 -6 -7 -6 -6 -5 -5 -6 -8 -9 -8 -6 -6 -6 -7 -8 -9 -10 -11 -12 -12 -9 -4 -0 2 2 -0 -5 -11 -16 -17 -7 6 19 31 41 48 51 51 49 45 41 38 35 31 27 23 20 16 13 10 7 5 4 3 2 1 0 0 0 0 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 6 7 7 7 7 7 7 6 6 5 5 4 4 4 4 4 5 5 4 4 4 3 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 0 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 0 0 1 1 1 1 2 3 4 5 6 7 8 9 10 10 10 10 9 9 8 7 7 6 5 5 4 4 4 4 4 4 3 2 1 0 -1 -1 -1 -1 -0 1 1 1 1 0 0 1 2 4 6 9 12 15 18 20 21 22 23 24 25 26 27 29 30 30 29 28 27 26 25 25 24 23 21 19 16 12 9 11 13 0 -0 -1 -1 -1 -1 -1 -0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 1 2 2 2 2 0 -1 -2 -3 -4 -3 -4 -5 -6 -6 -7 -8 -7 -6 -6 -7 -7 -6 -6 -6 -6 -7 -10 -12 -12 -13 -12 -11 -11 -10 -8 -5 -2 -0 2 4 5 7 8 10 11 12 11 11 9 7 5 4 4 3 2 3 3 2 2 1 1 0 -1 -2 -4 -7 -8 -8 -7 -8 -10 -10 -10 -9 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -7 -9 -11 -12 -12 -13 -13 -12 -10 -7 -3 -0 -1 -4 -10 -15 -14 -8 2 13 25 32 40 47 52 53 51 48 43 38 34 31 27 23 19 15 11 8 6 4 2 1 0 -0 -0 0 0 1 1 2 2 2 3 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 2 3 3 4 4 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 2 3 3 3 4 5 5 6 6 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -0 0 1 1 2 2 3 4 5 6 7 8 9 10 10 10 10 9 8 8 7 7 6 6 5 4 4 4 4 4 3 3 2 1 0 -0 -0 0 1 2 2 2 2 1 1 1 2 3 4 7 9 12 15 18 20 21 23 24 24 25 27 28 30 31 31 30 28 27 26 25 24 23 22 20 18 14 10 10 12 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -2 -1 2 3 4 4 3 1 0 -2 -3 -4 -4 -4 -5 -6 -7 -7 -7 -8 -7 -7 -7 -6 -5 -5 -5 -5 -6 -9 -12 -13 -13 -12 -10 -9 -9 -8 -7 -6 -5 -3 -1 0 2 5 8 11 12 11 10 8 5 3 1 3 4 4 4 4 4 3 2 1 -0 -2 -3 -4 -6 -7 -7 -7 -7 -8 -9 -8 -8 -10 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -8 -7 -8 -10 -12 -13 -12 -13 -14 -14 -12 -10 -6 -3 -1 -2 -6 -10 -11 -11 -7 2 11 20 27 33 40 46 46 43 40 36 33 31 29 26 22 17 12 9 6 3 2 1 -0 -0 -0 0 1 1 1 2 2 3 2 2 2 1 1 1 1 1 1 1 2 2 3 3 3 2 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 2 2 3 3 4 5 5 5 6 6 6 6 5 5 4 4 3 3 3 2 2 2 2 2 1 2 2 3 4 4 5 5 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 -1 -2 -3 -3 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 0 1 1 2 2 2 3 3 4 5 7 8 9 10 10 11 10 10 9 9 9 8 8 7 6 5 5 5 5 4 4 3 2 2 2 2 2 2 3 4 4 3 2 1 1 1 2 3 5 7 10 13 15 18 20 22 23 24 25 26 27 29 30 31 31 30 28 27 25 24 23 22 21 19 17 13 9 10 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -1 1 2 3 2 2 1 -0 -2 -3 -3 -4 -4 -5 -6 -6 -7 -8 -8 -7 -7 -6 -5 -5 -5 -5 -7 -10 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -6 -6 -5 -5 -5 -4 0 5 8 8 7 6 5 3 1 1 3 3 4 4 5 4 3 2 1 -1 -3 -4 -5 -5 -6 -6 -7 -8 -9 -9 -8 -9 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -10 -11 -11 -11 -10 -9 -9 -11 -12 -12 -13 -14 -15 -14 -14 -13 -10 -5 -0 2 -0 -5 -9 -12 -10 -7 -3 3 11 17 21 21 22 23 23 22 24 28 31 29 24 19 13 9 5 3 1 0 -0 -1 -0 -0 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 3 3 3 2 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 2 2 2 3 4 4 5 5 6 6 6 6 6 5 5 4 3 3 2 2 2 2 1 1 0 0 0 1 2 2 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 1 1 0 -0 -0 -0 -0 0 1 1 1 1 1 1 1 1 0 0 0 0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -5 -4 -3 -2 0 1 2 3 3 3 3 3 3 4 5 6 7 9 10 11 11 11 11 11 11 10 10 9 9 8 7 6 6 6 5 4 4 3 3 3 3 3 4 5 5 5 4 2 1 1 2 3 4 5 7 10 12 15 18 20 21 22 23 24 26 27 29 31 32 31 30 28 26 24 23 23 22 21 19 16 11 9 -1 -1 -2 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -6 -5 -5 -4 -4 -4 -4 -5 -6 -8 -9 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -1 1 1 1 2 1 0 -1 -3 -4 -3 -3 -3 -4 -5 -5 -6 -6 -7 -7 -6 -6 -5 -6 -7 -8 -10 -11 -12 -12 -11 -10 -8 -7 -7 -7 -7 -7 -7 -7 -7 -9 -11 -9 -4 1 3 2 1 1 1 1 0 1 2 3 4 4 5 5 4 3 1 -2 -3 -4 -4 -4 -5 -7 -10 -12 -12 -9 -9 -9 -10 -10 -9 -8 -8 -7 -7 -8 -7 -7 -7 -6 -6 -6 -8 -10 -12 -12 -12 -11 -10 -10 -10 -11 -12 -13 -14 -15 -16 -16 -15 -14 -11 -7 -2 -1 -2 -5 -8 -11 -11 -11 -10 -7 -2 2 6 9 12 14 15 17 19 21 25 30 27 21 14 9 5 2 1 -0 -1 -1 -1 -0 0 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 3 3 3 2 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 3 3 4 4 5 5 6 6 6 6 5 5 4 3 3 2 2 2 1 1 0 -0 -1 -1 -1 -1 0 1 2 3 3 3 2 2 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2 1 1 0 -0 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -1 1 2 3 4 4 4 3 3 3 4 4 5 7 8 10 11 12 12 13 12 12 12 12 11 10 9 8 8 7 6 6 5 4 4 4 4 4 4 5 6 6 5 3 2 1 1 2 3 4 6 7 10 12 15 18 20 21 22 23 24 26 27 29 31 32 31 30 28 26 24 23 23 22 21 19 15 11 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -3 -3 -5 -7 -10 -11 -11 -11 -10 -9 -9 -8 -7 -5 -4 -3 -2 -1 -0 0 1 1 1 -1 -3 -4 -3 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -6 -7 -8 -8 -8 -8 -8 -9 -11 -12 -11 -7 -3 -4 -5 -5 -3 -1 -2 -1 -0 1 2 3 4 5 5 4 3 1 -1 -2 -2 -2 -4 -7 -10 -13 -15 -12 -9 -9 -9 -10 -10 -9 -8 -8 -7 -8 -7 -7 -7 -7 -7 -7 -9 -11 -12 -13 -12 -12 -12 -11 -10 -10 -12 -13 -14 -15 -17 -17 -16 -15 -13 -11 -8 -5 -3 -3 -5 -8 -10 -12 -14 -14 -11 -7 -3 -0 3 5 6 7 10 14 17 23 28 27 22 15 9 5 2 -0 -1 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 -0 -0 -0 0 0 0 0 0 1 1 1 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 3 3 2 2 2 1 1 0 -0 -1 -1 -2 -2 -2 -1 0 1 2 2 2 2 2 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 2 2 1 -0 -1 -1 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 0 0 -1 -1 -2 -2 -2 -2 -2 -3 -4 -4 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -2 -0 1 3 4 4 4 4 3 3 3 3 3 4 6 8 10 11 12 13 13 13 13 12 12 11 11 9 9 8 8 7 6 5 4 4 3 3 4 5 6 7 7 5 3 2 1 1 2 3 4 6 7 10 12 15 17 19 21 21 22 24 26 28 30 31 32 31 30 28 25 24 24 24 24 22 20 15 -2 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -6 -8 -11 -12 -12 -12 -10 -9 -9 -8 -7 -6 -4 -3 -2 -2 -1 -1 0 1 -0 -2 -4 -5 -3 -2 -2 -3 -3 -2 -2 -3 -4 -5 -7 -8 -9 -10 -10 -10 -10 -10 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -8 -10 -11 -11 -10 -8 -7 -8 -7 -6 -8 -8 -7 -6 -5 -4 -3 -2 -0 1 2 3 3 3 3 2 1 0 0 0 -3 -6 -10 -12 -14 -14 -12 -10 -9 -9 -9 -9 -8 -8 -8 -8 -7 -6 -6 -7 -8 -9 -10 -12 -13 -13 -12 -13 -13 -12 -11 -10 -12 -13 -14 -15 -17 -19 -17 -15 -12 -10 -9 -7 -5 -4 -4 -5 -8 -11 -15 -16 -14 -11 -8 -6 -3 -0 0 -0 -0 1 5 12 17 20 21 20 15 9 4 1 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 0 0 1 1 2 2 2 2 1 1 1 1 2 2 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 -0 -0 -0 -0 -0 0 0 0 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 2 2 1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -1 0 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 5 5 5 4 4 3 3 2 1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 0 -0 -1 -1 -2 -3 -3 -3 -2 -2 -3 -3 -4 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -4 -3 -1 0 2 3 4 4 3 3 2 2 2 2 3 5 7 9 10 11 12 11 11 11 11 11 10 10 9 8 8 7 7 6 5 4 3 2 3 4 6 8 9 7 5 3 2 1 1 2 3 5 6 7 9 12 15 17 19 20 21 22 24 26 28 30 31 32 32 30 28 26 25 25 26 26 24 22 -1 0 0 0 1 0 0 -0 -0 -0 0 0 0 -0 -1 -1 -0 -0 -1 -2 -2 -3 -6 -8 -10 -12 -12 -11 -10 -9 -8 -8 -7 -6 -4 -3 -2 -2 -2 -1 -1 -1 -1 -2 -4 -4 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -7 -9 -10 -10 -9 -8 -8 -9 -9 -8 -6 -5 -5 -5 -6 -6 -6 -7 -9 -11 -13 -13 -10 -8 -6 -7 -6 -7 -8 -9 -9 -8 -6 -4 -3 -2 -1 -0 0 1 2 2 0 -1 -1 -1 -0 -2 -5 -8 -10 -12 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -7 -8 -10 -11 -12 -13 -13 -13 -14 -15 -15 -13 -10 -11 -12 -14 -15 -16 -20 -20 -17 -12 -8 -7 -6 -6 -5 -5 -4 -6 -9 -13 -16 -16 -13 -11 -8 -6 -3 -3 -4 -5 -5 -4 1 5 9 12 14 13 11 7 3 -1 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 1 2 2 2 2 1 1 1 1 1 1 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 0 0 0 -0 0 0 1 2 2 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 2 2 2 2 2 2 1 1 0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -2 -2 -1 -0 0 0 0 0 0 0 1 1 2 2 3 3 3 3 4 4 5 5 4 4 3 3 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -4 -2 -1 0 1 2 2 2 2 1 0 0 1 2 4 6 7 9 9 9 9 9 9 9 9 8 8 7 7 7 6 6 5 4 3 2 2 3 6 8 10 10 8 5 3 1 1 1 3 4 5 6 7 9 12 15 17 19 20 20 22 23 26 28 30 31 32 32 31 28 26 26 27 28 28 28 -1 -0 0 1 1 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 0 0 -1 -2 -2 -3 -5 -7 -8 -9 -9 -9 -9 -9 -8 -8 -7 -6 -4 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 -7 -7 -7 -5 -4 -2 -3 -4 -5 -6 -5 -3 -3 -3 -5 -6 -5 -4 -4 -5 -6 -6 -6 -6 -7 -9 -12 -13 -12 -10 -7 -6 -6 -7 -8 -9 -11 -11 -9 -6 -4 -3 -2 -2 -1 -1 0 1 -0 -2 -3 -3 -2 -2 -3 -5 -7 -10 -10 -10 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -7 -7 -8 -9 -10 -11 -12 -12 -13 -15 -15 -16 -16 -15 -11 -10 -12 -14 -15 -15 -19 -21 -20 -14 -8 -4 -3 -3 -4 -5 -5 -5 -7 -10 -13 -15 -13 -11 -9 -7 -5 -5 -5 -6 -7 -8 -6 -2 1 3 5 7 6 5 3 1 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -0 1 1 2 2 1 1 0 0 0 0 1 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 0 0 0 0 1 2 2 3 4 5 5 5 5 5 5 5 5 4 4 3 3 2 2 1 1 1 1 2 1 1 1 0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 2 2 3 3 4 4 5 4 4 3 3 2 2 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 0 0 -1 -2 -4 -5 -6 -6 -6 -6 -5 -4 -2 -1 -1 -0 0 0 0 -0 -1 -1 -0 1 2 4 5 6 7 7 7 7 6 6 6 6 6 5 5 5 5 4 4 2 1 1 2 4 7 10 11 10 8 5 3 1 1 2 3 4 4 5 6 8 11 14 16 18 19 20 21 23 26 28 31 32 33 33 32 29 27 27 28 30 32 -4 -3 -2 -1 -1 -0 -0 -1 -1 -1 -2 -2 -2 -1 -1 -0 -0 -1 -1 -2 -3 -4 -6 -7 -7 -7 -7 -6 -7 -7 -8 -8 -7 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -1 -1 -2 -4 -6 -8 -10 -11 -11 -9 -7 -5 -2 -1 -1 -1 -1 1 2 2 1 -1 -2 -2 -2 -3 -4 -5 -5 -5 -6 -7 -9 -11 -12 -12 -12 -11 -10 -9 -9 -9 -11 -12 -11 -8 -5 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -3 -3 -2 -1 -2 -5 -7 -8 -10 -11 -11 -11 -10 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -10 -12 -14 -16 -16 -16 -15 -14 -13 -11 -10 -11 -12 -15 -19 -22 -22 -18 -11 -5 -1 0 -1 -2 -4 -5 -5 -6 -8 -10 -11 -10 -9 -8 -7 -6 -7 -7 -8 -9 -7 -5 -3 -2 -0 1 1 1 1 1 -0 -2 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 0 0 -0 -0 -0 0 0 1 1 1 0 -0 -1 -1 -1 -1 -0 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 0 0 1 1 2 3 3 4 5 5 5 5 5 5 5 4 4 3 2 2 1 1 0 0 0 1 1 1 1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 0 1 1 2 2 3 3 4 4 4 3 3 2 2 1 0 -1 -2 -3 -4 -4 -4 -5 -5 -6 -6 -6 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -0 0 1 2 1 -0 -2 -4 -6 -6 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 -1 -1 -2 -2 -1 -0 1 3 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 2 0 -1 -1 1 4 8 11 12 10 7 4 2 1 1 2 3 4 4 4 6 8 11 14 16 17 18 19 21 24 27 30 32 33 35 35 33 29 27 27 29 32 -6 -5 -4 -4 -3 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -6 -5 -3 -2 -2 -2 -2 -2 -2 -3 -4 -4 -3 -2 -1 -3 -5 -7 -10 -13 -14 -13 -12 -10 -8 -5 -3 -1 -1 -1 1 3 4 4 3 1 1 0 -1 -2 -4 -4 -5 -5 -6 -7 -9 -11 -13 -15 -17 -16 -14 -12 -11 -11 -12 -12 -10 -7 -4 -3 -3 -3 -2 -3 -2 -2 -1 -2 -2 -3 -2 -1 -1 -2 -5 -7 -9 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -11 -14 -16 -17 -16 -16 -15 -15 -13 -12 -10 -10 -12 -16 -21 -23 -22 -17 -10 -4 -0 2 1 -0 -2 -3 -3 -3 -4 -6 -9 -10 -11 -9 -8 -7 -8 -8 -9 -9 -7 -5 -4 -3 -3 -2 -2 -2 -2 -1 -2 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 0 0 0 0 0 -0 -0 -0 0 1 1 1 1 0 -0 -1 -1 -1 -0 0 0 0 -0 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 1 1 1 1 1 2 3 3 4 4 4 4 5 5 4 4 3 3 2 1 1 0 -0 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -2 -2 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 3 4 4 4 3 2 2 2 1 -0 -1 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -6 -5 -5 -4 -3 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 -0 0 1 1 1 -1 -4 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 -1 -2 -3 -3 -3 -2 0 2 3 4 4 3 3 3 3 2 2 1 1 1 1 1 1 -1 -2 -3 -3 -0 4 8 11 11 9 6 4 2 1 1 2 3 3 3 4 5 8 10 13 15 17 18 20 22 25 28 31 34 36 37 37 33 29 26 27 30 -8 -7 -5 -5 -5 -3 -2 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -6 -6 -5 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -5 -5 -5 -4 -3 -4 -5 -8 -10 -13 -14 -15 -14 -12 -9 -7 -5 -4 -3 -3 -2 -1 1 2 3 3 2 2 1 -0 -2 -3 -4 -5 -5 -6 -7 -9 -12 -15 -19 -20 -18 -15 -12 -11 -11 -11 -10 -8 -6 -4 -3 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -1 -0 -1 -3 -6 -8 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -10 -9 -9 -9 -10 -9 -9 -10 -14 -15 -16 -16 -16 -16 -17 -18 -16 -13 -10 -9 -12 -16 -20 -22 -20 -15 -9 -5 -1 1 2 2 1 1 1 1 -1 -5 -9 -12 -11 -9 -7 -7 -8 -9 -9 -9 -8 -6 -5 -5 -4 -4 -4 -5 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 0 0 0 0 0 0 0 1 1 1 0 -0 -0 -1 -0 -0 0 0 0 0 -0 -0 -1 -1 -1 -0 -0 0 0 1 1 1 1 1 1 1 2 2 2 3 3 3 4 4 4 3 3 2 2 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -0 1 2 3 4 4 3 2 2 1 1 0 -1 -2 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -2 -2 -1 -0 0 -1 -3 -6 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -4 -2 -1 -1 -1 -3 -4 -4 -4 -3 -1 2 3 4 3 2 2 1 1 0 -0 -0 0 0 0 -0 -1 -3 -4 -6 -5 -1 4 8 11 11 8 6 3 1 1 1 2 2 3 2 3 5 7 10 13 15 16 18 21 24 27 30 33 36 38 39 37 32 26 24 27 -8 -7 -6 -5 -5 -3 -2 -1 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -3 -4 -5 -7 -7 -6 -5 -5 -6 -8 -10 -12 -13 -14 -14 -12 -10 -8 -6 -5 -5 -5 -6 -5 -4 -2 -0 1 1 1 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -10 -12 -15 -18 -18 -16 -13 -11 -11 -11 -10 -9 -8 -6 -4 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -3 -5 -7 -9 -10 -11 -10 -10 -9 -9 -10 -11 -12 -11 -10 -9 -9 -10 -9 -8 -9 -13 -14 -15 -15 -15 -16 -18 -20 -20 -18 -13 -8 -8 -11 -15 -18 -19 -16 -12 -9 -6 -4 -2 1 2 3 4 5 5 1 -4 -8 -11 -9 -7 -5 -6 -7 -8 -9 -9 -8 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -0 -0 0 1 1 0 0 0 0 0 0 0 0 0 -0 -0 -0 -0 0 0 0 0 0 -0 -0 -0 -0 -0 0 0 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 2 2 1 1 0 -0 -1 -2 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -1 1 2 3 3 3 2 1 1 1 1 0 -1 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -2 -3 -5 -7 -9 -9 -8 -7 -6 -6 -6 -6 -6 -7 -6 -5 -3 -1 -1 -2 -3 -4 -5 -4 -3 -1 2 3 3 2 1 1 -0 -1 -1 -1 -1 -0 -0 -1 -1 -3 -4 -7 -8 -6 -2 4 9 11 10 8 5 2 0 -0 0 1 2 2 2 2 4 7 10 12 15 17 19 22 26 29 33 36 39 41 40 36 29 23 24 -8 -7 -6 -5 -4 -2 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -8 -8 -8 -7 -7 -7 -8 -10 -11 -13 -14 -14 -13 -11 -9 -6 -5 -4 -5 -6 -6 -6 -5 -3 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -8 -9 -11 -13 -14 -13 -12 -11 -11 -10 -10 -10 -9 -8 -6 -5 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -2 -2 -3 -5 -7 -9 -10 -10 -9 -9 -9 -10 -11 -12 -12 -12 -11 -10 -10 -9 -8 -9 -11 -13 -14 -14 -14 -15 -17 -19 -21 -20 -17 -12 -9 -8 -10 -14 -16 -15 -12 -10 -8 -7 -7 -5 -2 1 4 6 7 6 3 -1 -4 -5 -4 -3 -3 -6 -7 -8 -8 -8 -8 -9 -9 -8 -6 -3 -1 -2 -2 -2 -0 -1 -2 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 1 1 1 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 0 2 3 3 2 1 -0 -0 -0 0 -0 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -4 -3 -5 -7 -8 -9 -9 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -4 -2 -2 -2 -2 -3 -4 -4 -3 -0 2 3 2 2 0 -1 -1 -2 -2 -1 -1 -0 -0 -1 -2 -3 -6 -9 -10 -8 -2 4 9 11 10 8 4 1 -1 -2 -1 1 1 1 1 1 3 6 9 12 15 18 21 24 28 31 34 38 41 42 41 34 26 22 -6 -6 -5 -4 -3 -2 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -8 -8 -7 -8 -9 -11 -13 -14 -15 -16 -15 -13 -10 -7 -4 -3 -3 -4 -5 -5 -4 -3 -3 -2 -3 -4 -5 -5 -4 -4 -4 -5 -6 -8 -8 -8 -9 -10 -11 -11 -10 -9 -9 -10 -10 -9 -9 -9 -9 -8 -6 -5 -3 -2 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -4 -6 -8 -10 -11 -10 -9 -9 -10 -11 -12 -13 -13 -12 -11 -11 -10 -10 -10 -10 -11 -13 -14 -14 -13 -15 -16 -18 -19 -19 -17 -13 -9 -9 -10 -13 -12 -10 -8 -7 -7 -8 -9 -8 -5 -1 2 5 6 6 5 3 2 3 2 1 -4 -6 -6 -6 -6 -8 -9 -9 -9 -7 -5 -3 -1 1 3 6 4 2 -1 -3 -4 -4 -4 -4 -3 -2 -2 -1 -0 -0 0 1 1 1 0 -0 -1 -1 -1 -1 -1 -0 -0 -1 -1 -1 -1 -0 0 0 1 1 1 1 0 0 0 1 1 1 2 2 1 1 1 0 -0 -0 -0 0 0 0 1 0 0 -0 -1 -1 -1 -2 -2 -3 -4 -5 -5 -6 -6 -7 -7 -7 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -5 -5 -6 -6 -6 -7 -6 -5 -4 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 2 2 0 -1 -1 -1 -1 -0 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -8 -9 -9 -10 -9 -9 -8 -9 -9 -9 -8 -6 -5 -6 -7 -9 -9 -8 -7 -6 -6 -6 -6 -7 -7 -8 -9 -7 -4 -2 -1 -1 -2 -3 -4 -4 -3 0 2 3 2 1 -1 -2 -3 -3 -2 -2 -1 -0 -1 -2 -3 -4 -6 -10 -12 -9 -2 4 8 11 10 7 2 -2 -4 -3 -1 0 1 0 -0 0 3 6 9 13 17 20 23 26 29 32 36 40 43 44 41 31 24 -5 -5 -4 -4 -3 -2 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -4 -4 -4 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -10 -12 -14 -17 -19 -20 -20 -17 -14 -10 -7 -4 -3 -2 -3 -3 -3 -2 -2 -2 -3 -4 -6 -6 -6 -5 -5 -5 -6 -7 -7 -8 -9 -10 -11 -11 -11 -9 -8 -7 -7 -8 -8 -8 -9 -9 -8 -7 -5 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -4 -6 -9 -10 -11 -10 -10 -10 -11 -11 -12 -13 -14 -13 -13 -13 -13 -13 -12 -11 -12 -13 -14 -13 -13 -14 -15 -17 -19 -19 -17 -14 -11 -10 -11 -11 -9 -7 -4 -3 -6 -9 -10 -9 -6 -4 -1 2 4 6 6 7 8 8 6 1 -4 -5 -4 -3 -5 -6 -7 -8 -9 -8 -6 -3 1 5 10 9 7 5 2 -0 -2 -3 -3 -3 -2 -1 -1 -0 0 0 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 2 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -8 -7 -5 -3 -1 0 -0 -2 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -1 0 0 -0 -2 -3 -3 -2 -1 -1 -2 -3 -4 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -9 -9 -10 -10 -11 -10 -10 -10 -11 -12 -12 -9 -6 -5 -5 -7 -8 -8 -7 -6 -6 -6 -6 -7 -7 -8 -10 -10 -8 -4 -2 -1 -1 -1 -2 -4 -4 -2 1 2 2 1 -1 -2 -3 -4 -4 -3 -2 -1 -1 -2 -3 -4 -5 -7 -9 -14 -8 -2 4 8 10 9 4 -1 -5 -6 -4 -2 -0 -0 -1 -1 -0 3 6 11 15 18 21 24 27 30 33 37 42 45 46 39 29 -6 -6 -5 -4 -3 -3 -3 -4 -4 -5 -6 -6 -6 -5 -4 -3 -2 -2 -1 -1 -2 -2 -3 -4 -4 -4 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -4 -5 -5 -6 -6 -7 -8 -10 -11 -13 -16 -19 -21 -23 -23 -21 -17 -14 -11 -9 -6 -5 -4 -3 -3 -2 -0 -1 -2 -4 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -9 -10 -11 -10 -9 -7 -6 -6 -6 -7 -8 -9 -9 -7 -6 -4 -4 -4 -3 -3 -4 -3 -3 -3 -3 -2 -2 -2 -3 -5 -7 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -15 -15 -16 -14 -11 -11 -13 -15 -13 -12 -12 -14 -15 -16 -16 -16 -15 -14 -13 -11 -9 -7 -3 -0 -1 -4 -7 -9 -9 -9 -7 -4 -1 2 5 7 10 11 11 7 0 -3 -2 1 0 -1 -2 -4 -8 -10 -9 -6 -2 2 6 7 7 8 9 8 4 2 0 -1 -1 -1 -0 -0 0 0 1 1 1 0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -8 -9 -9 -8 -5 -2 1 2 0 -1 -2 -3 -2 -2 -2 -3 -3 -4 -3 -3 -2 -2 -1 -2 -3 -4 -5 -5 -3 -2 -2 -2 -3 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -12 -12 -11 -11 -11 -13 -14 -13 -10 -6 -4 -4 -7 -8 -8 -7 -6 -6 -6 -7 -8 -9 -10 -11 -11 -8 -4 -1 -1 -0 -0 -2 -4 -4 -2 1 2 1 -1 -3 -4 -5 -6 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -6 -9 -7 -2 2 6 8 5 1 -4 -7 -6 -4 -2 -1 -1 -2 -2 0 4 8 13 17 20 22 25 27 30 34 39 44 47 46 37 -8 -7 -6 -5 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -6 -5 -4 -3 -2 -0 1 0 -0 -2 -3 -3 -3 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -3 -5 -7 -9 -11 -13 -15 -18 -21 -23 -23 -22 -19 -16 -14 -13 -11 -8 -6 -5 -4 -3 -1 -0 -1 -2 -4 -5 -6 -5 -5 -4 -4 -5 -5 -6 -7 -7 -8 -9 -9 -10 -10 -8 -7 -5 -4 -5 -7 -8 -9 -8 -7 -5 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -5 -7 -9 -11 -11 -12 -12 -13 -12 -11 -10 -11 -12 -14 -15 -15 -16 -18 -17 -14 -12 -12 -15 -15 -12 -10 -10 -12 -12 -13 -14 -15 -16 -15 -14 -13 -10 -6 -1 2 2 -1 -4 -7 -11 -12 -10 -6 -2 1 4 7 10 13 11 6 2 1 3 4 5 4 2 -3 -9 -10 -8 -5 -1 4 7 8 12 16 16 14 11 9 6 4 3 2 2 1 1 1 1 1 0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -8 -8 -7 -8 -8 -9 -10 -10 -10 -10 -9 -9 -8 -8 -7 -8 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -9 -10 -10 -8 -4 0 3 3 1 -0 -1 -1 -1 -1 -1 -2 -3 -3 -4 -3 -3 -3 -3 -4 -5 -6 -7 -6 -4 -2 -1 -2 -4 -5 -6 -7 -7 -7 -6 -5 -5 -5 -5 -7 -9 -11 -12 -12 -12 -12 -12 -12 -13 -12 -12 -12 -13 -14 -16 -14 -9 -4 -2 -4 -6 -8 -8 -8 -7 -7 -8 -8 -9 -10 -11 -12 -11 -7 -3 -1 -0 1 0 -3 -5 -4 -2 1 1 -1 -3 -5 -7 -8 -7 -7 -6 -4 -3 -4 -5 -6 -6 -3 -0 -2 -5 -5 -2 -0 2 2 1 -3 -7 -8 -7 -5 -2 -1 -2 -2 -1 1 5 10 14 18 20 23 25 27 30 35 40 46 48 45 -10 -8 -6 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -5 -3 -1 -0 -0 -1 -3 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 0 0 0 -0 -1 -2 -5 -8 -10 -12 -13 -16 -18 -20 -21 -21 -19 -17 -16 -15 -14 -11 -9 -7 -6 -5 -3 -2 -1 -2 -2 -4 -5 -5 -4 -4 -3 -3 -3 -4 -6 -7 -7 -7 -8 -9 -9 -8 -7 -5 -4 -3 -5 -7 -8 -8 -7 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -4 -5 -6 -7 -9 -10 -12 -13 -14 -14 -13 -11 -9 -9 -9 -11 -13 -15 -17 -17 -17 -15 -14 -13 -14 -16 -14 -11 -9 -9 -11 -12 -12 -13 -14 -15 -15 -15 -15 -13 -8 -2 3 5 3 -1 -7 -12 -14 -12 -6 -1 1 3 5 9 12 10 6 3 2 3 6 9 10 6 -3 -8 -8 -6 -1 5 8 11 15 18 20 21 21 20 18 14 12 9 7 6 5 4 3 2 1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -6 -6 -7 -7 -6 -7 -8 -9 -10 -10 -9 -10 -10 -11 -11 -12 -11 -11 -11 -10 -9 -8 -8 -8 -8 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -11 -11 -10 -7 -2 3 5 4 2 0 -0 0 1 1 -0 -1 -3 -3 -4 -4 -4 -4 -5 -6 -7 -9 -9 -7 -4 -2 -1 -2 -3 -5 -6 -6 -6 -6 -5 -5 -4 -5 -6 -8 -10 -12 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -16 -17 -14 -8 -2 -2 -4 -7 -9 -9 -8 -8 -8 -9 -9 -10 -11 -12 -12 -10 -5 -2 -1 0 1 -1 -4 -6 -5 -2 -1 -1 -3 -5 -7 -9 -9 -9 -9 -8 -6 -5 -6 -7 -8 -6 0 3 1 -6 -2 -3 -5 -7 -6 -5 -8 -10 -9 -8 -4 -2 -2 -2 -3 -1 2 7 11 15 18 21 23 25 27 30 35 41 47 48 -12 -9 -6 -5 -4 -3 -1 -0 0 -0 -0 -0 -1 -2 -4 -5 -6 -7 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -2 -1 -0 1 1 1 1 1 1 1 -0 -3 -6 -8 -10 -11 -14 -16 -17 -18 -18 -17 -16 -16 -16 -15 -13 -11 -8 -6 -5 -4 -3 -3 -2 -2 -3 -4 -4 -4 -3 -2 -1 -1 -2 -4 -5 -6 -7 -8 -8 -7 -7 -7 -6 -5 -4 -4 -5 -6 -7 -7 -6 -5 -4 -3 -3 -3 -5 -6 -6 -5 -4 -4 -4 -5 -7 -8 -9 -10 -11 -12 -13 -15 -14 -12 -10 -7 -6 -8 -10 -14 -16 -17 -16 -16 -16 -15 -15 -18 -17 -14 -10 -7 -8 -10 -11 -11 -12 -12 -13 -15 -16 -16 -14 -9 -3 4 7 7 3 -4 -10 -14 -12 -6 -1 1 2 4 9 11 9 6 3 0 2 7 12 14 7 -1 -6 -6 -2 3 9 15 17 18 18 20 23 26 28 27 23 19 16 14 11 9 8 6 5 4 2 1 0 -1 -1 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 -1 -2 -2 -3 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -11 -11 -10 -9 -8 -8 -9 -11 -12 -13 -12 -12 -11 -10 -9 -10 -11 -12 -12 -11 -6 1 6 7 6 3 2 2 2 2 2 1 -1 -2 -4 -4 -5 -5 -6 -7 -8 -9 -10 -9 -7 -4 -1 -1 -1 -2 -4 -4 -5 -5 -5 -5 -4 -5 -6 -7 -10 -12 -14 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -16 -17 -17 -14 -6 -1 -1 -4 -8 -10 -10 -9 -8 -8 -9 -10 -11 -12 -12 -12 -7 -3 -1 -1 -1 -1 -4 -7 -8 -7 -4 -3 -3 -5 -7 -10 -11 -12 -12 -12 -9 -7 -6 -7 -9 -9 -4 3 5 -2 -2 -3 -6 -9 -12 -14 -13 -12 -12 -11 -7 -3 -2 -2 -3 -3 -0 3 7 12 16 19 21 23 25 27 30 35 42 47 -12 -10 -8 -6 -3 -1 0 1 1 1 1 1 0 -1 -2 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -7 -7 -7 -7 -8 -7 -7 -6 -6 -5 -5 -5 -4 -3 -1 0 1 2 2 2 2 1 -1 -4 -6 -8 -10 -12 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -12 -9 -7 -5 -4 -4 -4 -4 -3 -3 -4 -4 -3 -2 -0 0 -0 -1 -3 -5 -6 -7 -7 -7 -7 -6 -6 -6 -7 -7 -6 -5 -5 -5 -6 -7 -6 -6 -4 -4 -3 -4 -6 -7 -7 -6 -5 -4 -5 -6 -8 -9 -9 -9 -10 -12 -14 -15 -14 -11 -8 -6 -5 -7 -10 -14 -16 -16 -17 -17 -17 -16 -18 -20 -17 -13 -8 -7 -8 -10 -11 -11 -10 -11 -13 -14 -16 -17 -15 -10 -3 2 6 8 6 1 -6 -12 -11 -6 -1 1 1 4 7 9 8 6 3 0 1 6 13 14 8 0 -5 -5 -1 7 15 19 18 15 14 16 21 28 34 34 31 27 23 20 17 15 13 11 9 8 6 5 3 2 1 0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -11 -13 -14 -15 -15 -15 -14 -13 -14 -14 -14 -14 -13 -13 -12 -11 -10 -10 -9 -9 -9 -10 -12 -13 -13 -13 -12 -11 -10 -10 -11 -12 -13 -13 -10 -3 4 9 9 7 5 4 4 4 4 3 1 -0 -2 -4 -4 -5 -6 -7 -8 -10 -11 -11 -10 -8 -4 -1 0 0 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -9 -11 -13 -15 -16 -16 -15 -14 -14 -15 -15 -15 -15 -15 -16 -18 -18 -13 -5 -0 -1 -5 -9 -10 -9 -8 -8 -9 -10 -11 -12 -11 -12 -10 -6 -3 -2 -5 -5 -6 -8 -12 -12 -10 -7 -5 -4 -7 -10 -12 -14 -15 -15 -13 -9 -6 -6 -9 -11 -9 -2 4 2 -1 -2 -4 -10 -14 -14 -15 -16 -14 -12 -11 -5 -2 -1 -2 -3 -2 -0 3 8 13 17 19 21 23 24 26 30 35 42 -12 -9 -6 -3 -2 -0 -0 -1 -1 -1 -1 0 0 -1 -2 -3 -4 -4 -3 -4 -4 -4 -4 -4 -6 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -4 -2 0 2 2 3 3 2 0 -2 -4 -6 -8 -9 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -12 -9 -6 -4 -3 -4 -4 -5 -5 -5 -5 -4 -2 -0 1 1 1 -0 -2 -4 -5 -6 -7 -7 -7 -5 -5 -5 -7 -8 -9 -7 -5 -5 -6 -8 -8 -8 -7 -5 -4 -3 -5 -6 -8 -8 -7 -5 -4 -5 -6 -8 -8 -8 -9 -11 -12 -14 -14 -12 -9 -7 -5 -5 -7 -10 -14 -15 -16 -17 -17 -17 -18 -20 -19 -16 -11 -8 -8 -9 -11 -11 -10 -9 -10 -12 -14 -16 -17 -14 -10 -6 -2 3 7 8 4 -4 -8 -7 -3 1 2 2 4 6 8 8 6 3 2 3 7 11 11 7 1 -6 -8 -2 8 16 20 18 11 6 5 13 28 37 39 36 32 29 26 23 21 18 17 15 13 11 9 7 5 4 3 2 1 -1 -2 -4 -5 -6 -6 -6 -6 -5 -4 -3 -4 -4 -6 -7 -8 -8 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -9 -9 -10 -11 -12 -14 -16 -18 -19 -18 -16 -15 -14 -14 -14 -14 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -11 -12 -14 -14 -13 -12 -11 -11 -11 -11 -13 -14 -14 -9 -0 8 13 11 8 7 6 6 6 5 4 2 -0 -2 -4 -5 -6 -7 -8 -10 -11 -12 -12 -12 -8 -4 -1 1 2 0 -1 -2 -3 -4 -6 -7 -8 -9 -9 -10 -12 -13 -15 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -17 -18 -17 -11 -4 1 -1 -6 -9 -10 -9 -8 -9 -10 -12 -13 -11 -13 -13 -11 -8 -4 -4 -6 -8 -11 -15 -17 -16 -13 -9 -4 -6 -9 -13 -15 -16 -17 -16 -12 -8 -5 -7 -11 -12 -8 -0 3 -3 -1 0 -5 -10 -13 -14 -13 -11 -10 -14 -8 -3 0 -1 -2 -3 -2 0 4 9 14 17 20 21 22 23 25 28 34 -9 -8 -6 -5 -4 -4 -4 -4 -4 -3 -2 -0 -0 -1 -2 -3 -4 -4 -3 -4 -4 -4 -3 -4 -5 -6 -6 -6 -7 -7 -7 -7 -8 -7 -7 -7 -8 -8 -8 -6 -4 -2 1 2 3 3 3 2 1 -1 -3 -5 -6 -8 -10 -11 -12 -12 -12 -12 -12 -12 -12 -11 -9 -6 -4 -3 -3 -4 -6 -7 -7 -6 -4 -2 -0 1 2 1 0 -1 -2 -3 -4 -5 -7 -8 -7 -6 -5 -6 -8 -10 -9 -7 -5 -5 -7 -9 -10 -9 -8 -5 -2 -2 -4 -6 -9 -9 -8 -6 -4 -4 -5 -6 -7 -8 -10 -11 -13 -13 -12 -10 -8 -6 -5 -6 -8 -12 -14 -14 -15 -16 -17 -18 -20 -20 -18 -14 -11 -9 -10 -11 -11 -10 -9 -8 -9 -10 -13 -16 -15 -13 -11 -10 -6 -0 5 8 5 -2 -5 -4 1 4 4 4 5 6 7 6 5 3 3 4 8 9 8 6 1 -6 -9 -7 -1 8 14 15 9 2 -3 6 25 36 41 40 36 33 30 28 26 24 22 19 17 15 13 11 9 8 6 4 3 1 -1 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -6 -7 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -14 -16 -19 -21 -22 -20 -18 -15 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -12 -12 -11 -11 -12 -13 -14 -14 -13 -13 -12 -11 -12 -13 -14 -15 -13 -6 4 13 15 13 11 9 9 8 8 7 5 3 1 -2 -3 -5 -6 -8 -10 -11 -12 -12 -12 -12 -9 -5 -0 3 3 2 0 -2 -3 -5 -7 -9 -10 -10 -10 -11 -12 -13 -15 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -17 -17 -14 -9 -1 2 -2 -6 -10 -12 -11 -11 -13 -15 -16 -13 -14 -16 -16 -13 -7 -1 -0 -4 -10 -14 -18 -21 -20 -16 -8 -6 -8 -12 -16 -18 -18 -17 -15 -11 -5 -5 -9 -12 -12 -7 -1 -5 -1 6 4 1 -7 -13 -13 -8 -6 -11 -10 -5 1 1 -1 -2 -2 -2 1 5 10 14 17 19 20 21 21 23 27 -10 -10 -9 -9 -8 -7 -5 -5 -5 -4 -3 -1 -1 -2 -3 -4 -5 -5 -4 -4 -5 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -7 -8 -8 -6 -4 -1 1 2 3 3 3 3 2 0 -2 -4 -6 -7 -9 -10 -10 -10 -10 -11 -12 -12 -11 -9 -7 -5 -4 -3 -4 -5 -7 -8 -8 -6 -3 -1 1 2 2 1 0 -0 -1 -3 -5 -6 -8 -8 -8 -7 -7 -7 -9 -10 -8 -6 -4 -7 -10 -11 -11 -11 -8 -4 -2 -2 -4 -8 -10 -10 -9 -6 -4 -3 -4 -5 -6 -9 -11 -13 -13 -12 -10 -8 -7 -6 -6 -8 -10 -13 -14 -13 -12 -14 -17 -19 -19 -18 -17 -15 -12 -12 -12 -12 -10 -8 -8 -8 -9 -10 -13 -14 -13 -13 -13 -12 -9 -4 3 6 3 -1 -2 0 3 5 6 6 6 7 5 4 3 2 2 5 6 7 8 7 2 -5 -10 -11 -7 4 14 18 13 1 -9 -1 14 31 42 43 39 36 33 31 30 28 26 23 21 19 17 14 12 10 8 7 5 3 1 -1 -3 -5 -5 -6 -6 -6 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -14 -16 -18 -21 -24 -24 -22 -19 -16 -14 -14 -14 -14 -14 -13 -13 -13 -13 -12 -12 -12 -13 -14 -13 -12 -11 -12 -13 -14 -14 -14 -13 -12 -12 -13 -14 -15 -16 -12 -4 10 17 17 15 13 12 11 10 9 8 6 4 1 -1 -4 -5 -7 -9 -10 -11 -12 -12 -13 -12 -10 -6 0 3 4 2 0 -2 -5 -7 -10 -11 -12 -11 -11 -11 -12 -13 -14 -15 -15 -15 -15 -14 -15 -15 -15 -15 -15 -16 -15 -12 -6 -0 -1 -5 -11 -16 -17 -16 -17 -18 -18 -17 -18 -19 -19 -18 -13 -4 1 0 -5 -11 -16 -20 -22 -22 -16 -10 -8 -11 -15 -18 -18 -17 -16 -13 -8 -4 -7 -11 -14 -13 -7 -6 1 9 10 11 3 -8 -14 -10 -6 -7 -11 -11 0 2 1 -0 -1 -2 -1 2 6 11 14 16 17 18 18 19 20 -12 -13 -12 -11 -9 -6 -4 -4 -5 -5 -4 -3 -3 -3 -4 -5 -6 -6 -5 -5 -5 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -5 -4 -3 -2 -1 -0 1 1 0 -1 -3 -4 -5 -6 -7 -8 -8 -8 -8 -9 -10 -11 -10 -9 -7 -6 -5 -3 -3 -4 -5 -7 -8 -6 -4 -2 1 2 3 2 2 1 0 -2 -4 -6 -7 -9 -9 -9 -8 -8 -8 -8 -7 -5 -4 -7 -9 -10 -11 -12 -11 -7 -4 -2 -3 -6 -9 -11 -10 -8 -5 -3 -2 -2 -4 -5 -8 -11 -13 -13 -11 -8 -7 -7 -7 -8 -9 -11 -13 -12 -10 -10 -14 -17 -18 -18 -17 -17 -15 -14 -14 -13 -10 -8 -7 -8 -9 -9 -10 -11 -13 -14 -13 -12 -12 -11 -7 0 3 2 -0 -0 1 4 6 8 8 8 6 4 3 1 -0 1 3 5 6 8 6 2 -4 -11 -15 -10 1 10 15 11 -1 -8 -5 8 26 40 42 41 38 36 35 33 31 28 26 24 21 19 16 14 12 10 8 6 4 2 -1 -3 -5 -6 -7 -7 -6 -6 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -13 -15 -17 -19 -22 -24 -24 -23 -20 -17 -15 -14 -13 -13 -13 -14 -14 -14 -14 -14 -13 -14 -14 -15 -16 -14 -12 -11 -11 -13 -14 -14 -14 -13 -13 -13 -14 -15 -16 -15 -10 1 15 20 20 17 15 15 14 13 11 10 8 5 2 -1 -4 -6 -7 -9 -11 -12 -12 -13 -13 -13 -11 -6 0 4 5 3 0 -3 -6 -9 -12 -13 -13 -12 -11 -11 -11 -13 -14 -15 -15 -15 -14 -13 -14 -15 -16 -15 -15 -14 -13 -11 -6 -5 -8 -13 -18 -19 -17 -17 -18 -18 -20 -21 -22 -22 -20 -17 -11 -5 -2 -4 -8 -12 -16 -20 -23 -21 -16 -11 -10 -13 -17 -18 -18 -16 -13 -11 -6 -5 -9 -14 -16 -11 -6 1 9 12 13 11 2 -10 -13 -7 -5 -7 -10 -5 1 2 1 0 -1 -1 1 4 7 11 13 14 15 16 16 16 -15 -14 -12 -9 -6 -4 -4 -5 -6 -6 -6 -6 -5 -4 -4 -6 -7 -7 -6 -5 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -8 -9 -10 -9 -9 -8 -7 -5 -4 -3 -3 -4 -5 -6 -6 -5 -3 -1 1 2 3 3 2 1 -0 -2 -4 -6 -8 -9 -10 -10 -10 -9 -8 -5 -3 -3 -6 -7 -8 -10 -12 -12 -10 -6 -4 -3 -4 -8 -10 -10 -9 -6 -3 -2 -1 -1 -2 -4 -8 -12 -13 -12 -10 -9 -9 -10 -8 -7 -9 -11 -12 -11 -8 -11 -14 -16 -16 -17 -18 -17 -16 -15 -15 -12 -9 -7 -7 -8 -8 -8 -10 -13 -16 -14 -10 -9 -11 -12 -7 -2 1 1 -0 -1 1 4 6 8 9 8 7 4 1 -2 -1 1 2 4 5 6 5 1 -6 -14 -16 -11 -2 7 12 7 -2 -8 -7 3 19 31 39 42 41 39 37 35 33 30 28 25 23 20 17 14 12 10 8 6 4 1 -1 -4 -6 -7 -8 -7 -6 -6 -5 -6 -7 -8 -9 -10 -11 -13 -14 -14 -14 -14 -13 -13 -12 -13 -13 -15 -17 -19 -21 -23 -24 -23 -22 -19 -16 -13 -12 -12 -13 -14 -15 -16 -16 -16 -15 -15 -16 -16 -17 -17 -14 -11 -10 -11 -13 -14 -15 -14 -14 -14 -14 -15 -17 -17 -15 -8 8 19 25 24 20 18 17 16 14 13 11 9 5 2 -1 -4 -6 -8 -9 -11 -12 -13 -13 -13 -13 -11 -6 0 5 6 3 -1 -5 -9 -12 -14 -14 -14 -13 -11 -10 -11 -12 -13 -14 -14 -14 -13 -13 -14 -16 -15 -14 -13 -13 -12 -12 -10 -10 -13 -18 -19 -18 -18 -20 -20 -21 -23 -24 -24 -21 -18 -16 -13 -9 -6 -7 -9 -13 -18 -23 -22 -18 -13 -10 -12 -16 -18 -18 -16 -13 -11 -7 -6 -8 -14 -18 -13 -7 -2 4 11 14 15 11 1 -11 -9 -5 -4 -6 -11 -3 2 2 1 1 1 1 2 4 8 10 11 11 13 14 13 -14 -11 -9 -8 -6 -5 -6 -7 -7 -7 -7 -7 -6 -5 -4 -5 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -5 -5 -6 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -4 -5 -5 -6 -6 -7 -7 -8 -8 -9 -8 -8 -8 -7 -5 -4 -3 -2 -3 -3 -4 -5 -5 -4 -2 -0 1 1 2 2 2 1 -0 -2 -4 -7 -9 -10 -12 -13 -13 -10 -5 -1 1 -2 -6 -7 -9 -10 -12 -12 -10 -6 -4 -3 -6 -8 -9 -9 -7 -4 -2 -1 -0 -0 -2 -5 -9 -12 -13 -11 -11 -11 -11 -10 -7 -7 -9 -12 -11 -7 -6 -8 -11 -14 -16 -17 -17 -16 -16 -16 -14 -11 -9 -7 -6 -6 -7 -8 -12 -17 -17 -12 -8 -7 -10 -9 -6 -3 -1 1 0 1 2 3 4 7 9 9 7 4 0 -2 -1 1 3 3 4 4 3 -1 -9 -14 -15 -11 -3 5 7 2 -5 -11 -10 4 21 34 41 43 43 41 39 36 34 31 29 26 23 19 16 13 11 9 8 6 3 0 -3 -5 -7 -8 -8 -7 -6 -5 -5 -6 -6 -7 -9 -10 -12 -13 -14 -15 -15 -14 -13 -13 -13 -14 -15 -16 -18 -20 -22 -23 -24 -23 -22 -17 -13 -10 -10 -12 -14 -15 -16 -17 -17 -17 -17 -17 -17 -17 -18 -17 -13 -10 -9 -11 -13 -15 -15 -15 -15 -15 -16 -17 -17 -17 -14 -2 13 25 29 26 23 21 19 18 16 14 12 9 6 2 -1 -4 -6 -8 -10 -12 -13 -13 -13 -13 -13 -11 -6 1 7 6 2 -2 -7 -11 -14 -15 -15 -14 -12 -11 -10 -10 -11 -12 -13 -13 -13 -12 -12 -14 -15 -15 -13 -12 -12 -14 -13 -12 -12 -15 -17 -17 -18 -21 -21 -21 -22 -22 -22 -19 -19 -18 -16 -13 -9 -8 -8 -11 -16 -21 -22 -20 -17 -14 -13 -15 -17 -17 -17 -14 -10 -10 -9 -10 -15 -20 -15 -10 -6 4 11 15 18 19 14 -1 -8 -8 -3 -1 -8 -7 -3 3 2 1 2 1 0 -0 5 7 8 9 10 11 12 -12 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -9 -8 -7 -6 -6 -8 -9 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -6 -6 -5 -5 -5 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -3 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -5 -4 -2 -2 -2 -2 -3 -4 -4 -3 -2 -1 -1 0 1 1 2 2 1 -1 -3 -6 -9 -10 -12 -15 -16 -15 -10 -3 3 3 -2 -5 -6 -7 -10 -12 -12 -9 -6 -4 -5 -7 -8 -8 -8 -6 -3 -2 -1 -0 -0 -2 -5 -9 -11 -11 -11 -12 -13 -12 -9 -7 -8 -10 -11 -7 -3 -3 -5 -9 -14 -16 -16 -16 -15 -16 -15 -13 -11 -9 -7 -7 -7 -8 -9 -12 -17 -16 -12 -8 -7 -7 -6 -4 -3 -1 -1 0 1 2 3 5 6 8 8 7 4 1 -0 1 4 4 3 2 1 -1 -5 -10 -13 -13 -9 -3 2 1 -4 -11 -17 -8 11 28 40 45 45 44 42 39 36 34 31 29 25 22 19 15 12 10 8 6 4 2 -1 -4 -7 -8 -8 -8 -7 -6 -5 -5 -6 -6 -7 -9 -11 -12 -14 -15 -15 -15 -14 -14 -13 -14 -15 -16 -18 -20 -22 -23 -24 -24 -23 -18 -12 -9 -8 -10 -13 -15 -17 -18 -18 -18 -17 -17 -17 -17 -17 -17 -16 -12 -9 -8 -11 -14 -15 -16 -16 -15 -16 -16 -17 -18 -17 -11 1 17 30 31 28 25 23 22 20 17 15 12 9 6 2 -2 -5 -7 -8 -11 -12 -13 -13 -13 -13 -13 -11 -6 2 6 5 1 -5 -10 -13 -15 -16 -16 -14 -12 -10 -9 -9 -10 -11 -12 -12 -12 -11 -11 -13 -14 -14 -11 -12 -15 -16 -15 -11 -10 -11 -14 -17 -22 -22 -22 -21 -20 -17 -17 -20 -20 -18 -15 -12 -10 -9 -9 -12 -17 -19 -19 -18 -16 -15 -17 -17 -17 -17 -17 -13 -12 -13 -13 -17 -21 -18 -13 -9 3 10 13 15 19 20 11 -1 -8 -6 -0 -1 -7 -7 -0 3 2 2 2 0 -2 3 6 7 7 7 8 9 -10 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -9 -8 -7 -6 -6 -9 -11 -11 -10 -10 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -8 -8 -9 -9 -8 -7 -7 -6 -5 -5 -4 -3 -2 -2 -2 -3 -5 -5 -6 -6 -7 -8 -8 -8 -8 -7 -6 -5 -4 -2 -1 -1 -2 -3 -3 -4 -3 -2 -1 -1 -0 -0 0 1 1 1 -0 -2 -6 -8 -11 -13 -15 -18 -18 -16 -10 -1 4 2 -1 -3 -4 -6 -11 -13 -12 -9 -6 -5 -6 -7 -7 -8 -6 -4 -2 -1 0 0 -0 -2 -5 -8 -10 -10 -11 -12 -13 -14 -11 -10 -9 -9 -7 -3 -0 -1 -4 -9 -14 -15 -14 -14 -15 -15 -14 -12 -11 -10 -9 -10 -10 -9 -8 -11 -16 -16 -12 -8 -7 -5 -4 -4 -3 -2 -2 -1 1 2 3 4 5 7 7 7 4 2 1 3 4 4 2 0 -2 -5 -8 -11 -12 -10 -7 -4 -3 -6 -12 -20 -16 1 21 39 49 49 47 45 42 40 37 34 31 28 25 21 17 14 11 9 7 6 4 1 -2 -4 -6 -7 -7 -7 -6 -6 -5 -5 -5 -6 -8 -9 -11 -12 -14 -14 -15 -15 -15 -15 -15 -16 -17 -19 -21 -22 -23 -23 -22 -20 -17 -13 -9 -7 -9 -12 -14 -16 -17 -18 -17 -17 -17 -17 -17 -17 -17 -17 -15 -11 -7 -8 -11 -14 -16 -16 -16 -16 -16 -17 -18 -17 -16 -9 4 23 31 32 30 27 26 24 22 19 16 13 9 5 1 -2 -5 -7 -9 -11 -13 -13 -13 -12 -12 -12 -11 -6 1 4 3 -2 -8 -12 -15 -16 -16 -16 -14 -11 -9 -8 -8 -9 -10 -11 -11 -11 -10 -11 -12 -14 -12 -10 -13 -16 -18 -11 -5 -5 -10 -17 -22 -22 -22 -21 -19 -15 -16 -19 -20 -18 -16 -14 -12 -10 -9 -9 -13 -16 -18 -18 -16 -16 -18 -19 -18 -18 -21 -18 -15 -15 -16 -19 -19 -18 -15 -11 1 9 12 13 13 17 17 10 -1 -10 -4 1 -2 -6 -7 1 2 3 2 2 1 3 4 5 6 5 4 4 -9 -9 -9 -9 -8 -8 -8 -9 -10 -10 -11 -10 -9 -8 -7 -6 -9 -13 -13 -12 -12 -14 -14 -14 -13 -11 -10 -8 -5 -3 -2 -2 -2 -3 -4 -5 -6 -6 -6 -7 -8 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -5 -3 -2 -1 -2 -3 -4 -5 -6 -7 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -1 -1 -0 -0 -1 -1 -1 0 1 -1 -4 -7 -10 -13 -16 -18 -19 -18 -14 -9 -3 1 1 0 0 0 -6 -10 -13 -13 -10 -7 -6 -6 -6 -7 -6 -5 -3 -1 0 0 -0 -1 -3 -6 -8 -8 -8 -9 -12 -15 -16 -14 -11 -9 -7 -4 -1 1 0 -4 -9 -11 -12 -12 -14 -15 -14 -13 -13 -13 -14 -14 -15 -13 -8 -6 -11 -14 -15 -11 -8 -6 -4 -3 -3 -3 -3 -2 -1 0 2 3 3 4 5 6 6 5 5 4 5 5 3 1 -2 -5 -8 -10 -11 -11 -9 -7 -7 -9 -13 -20 -19 -10 8 29 47 52 51 49 46 44 41 38 35 32 28 24 20 15 12 9 7 7 5 4 2 -1 -2 -4 -5 -6 -6 -6 -5 -5 -5 -5 -7 -8 -10 -11 -12 -13 -14 -15 -15 -16 -16 -17 -19 -20 -21 -21 -21 -19 -17 -15 -13 -12 -10 -9 -8 -10 -12 -15 -16 -17 -16 -16 -16 -16 -16 -16 -16 -17 -17 -15 -10 -7 -8 -11 -14 -16 -16 -16 -15 -16 -17 -17 -17 -15 -10 6 23 31 33 31 29 28 26 24 20 17 13 9 4 0 -4 -6 -8 -10 -11 -13 -13 -12 -12 -11 -12 -10 -5 -0 3 1 -6 -11 -14 -15 -15 -16 -15 -13 -10 -7 -7 -7 -8 -9 -10 -10 -10 -9 -10 -12 -12 -10 -10 -13 -15 -12 -8 -8 -11 -16 -20 -21 -22 -22 -20 -18 -17 -19 -20 -18 -15 -14 -13 -11 -9 -9 -12 -15 -17 -18 -17 -17 -18 -20 -20 -20 -16 -18 -17 -14 -17 -17 -16 -15 -14 -10 -1 6 10 11 9 12 16 17 11 -4 -8 -3 1 -1 -10 -4 0 3 2 1 -1 -1 1 4 4 2 -0 0 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -10 -11 -11 -10 -9 -8 -9 -12 -13 -14 -15 -18 -18 -17 -16 -16 -15 -12 -7 -3 -0 1 0 -1 -3 -4 -5 -6 -6 -6 -7 -9 -10 -10 -10 -10 -9 -8 -8 -8 -7 -5 -4 -3 -2 -1 -2 -2 -4 -6 -7 -8 -8 -8 -7 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -1 -0 0 -0 -1 -1 -1 -0 -0 -2 -5 -8 -11 -15 -18 -20 -18 -15 -12 -8 -5 -4 -2 0 3 2 -4 -10 -15 -14 -10 -7 -6 -6 -7 -6 -5 -3 -1 -0 0 0 -1 -3 -6 -8 -7 -5 -5 -8 -14 -17 -18 -16 -11 -7 -5 -3 -1 0 -2 -4 -6 -7 -7 -10 -12 -13 -12 -13 -16 -17 -19 -20 -20 -14 -6 -6 -9 -13 -13 -10 -7 -5 -4 -3 -3 -3 -3 -2 -1 0 1 2 3 4 6 7 7 7 6 6 5 4 2 -1 -4 -7 -9 -11 -11 -9 -9 -11 -14 -17 -19 -19 -18 -11 3 27 45 51 52 51 49 46 43 39 36 32 27 23 18 14 10 8 7 6 6 5 3 2 0 -1 -3 -4 -5 -5 -4 -4 -4 -5 -7 -8 -9 -11 -12 -13 -15 -16 -17 -18 -18 -19 -20 -20 -19 -17 -15 -13 -11 -10 -10 -11 -12 -11 -10 -10 -12 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -17 -14 -9 -6 -7 -11 -14 -15 -15 -15 -14 -15 -16 -16 -16 -15 -11 6 22 32 33 31 30 30 28 26 22 17 12 8 3 -1 -4 -7 -8 -10 -12 -13 -12 -11 -10 -10 -10 -9 -5 -1 1 -3 -9 -13 -15 -14 -15 -15 -14 -12 -8 -6 -6 -7 -8 -9 -10 -10 -9 -8 -9 -11 -10 -8 -8 -10 -11 -14 -15 -14 -14 -17 -20 -21 -22 -21 -20 -19 -19 -19 -16 -14 -14 -13 -11 -8 -10 -12 -14 -17 -20 -21 -20 -19 -18 -20 -19 -12 -9 -7 -7 -12 -15 -13 -12 -12 -6 -1 3 7 10 8 7 13 19 19 12 -4 -7 -3 1 -2 -8 -4 1 1 -1 -5 -6 -4 -1 -0 -3 -3 0 -8 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -12 -14 -13 -11 -10 -10 -11 -13 -14 -16 -19 -20 -18 -18 -19 -21 -20 -14 -7 -1 2 1 -0 -2 -3 -4 -5 -5 -6 -8 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -3 -3 -2 -2 -1 -3 -5 -7 -8 -8 -7 -7 -6 -4 -3 -3 -3 -4 -3 -3 -2 -2 -2 -3 -4 -4 -2 -1 0 0 -1 -2 -2 -2 -2 -3 -5 -7 -10 -13 -17 -20 -20 -17 -14 -10 -7 -5 -5 -4 -0 2 0 -4 -10 -14 -12 -9 -7 -7 -7 -6 -5 -3 -2 -1 -1 -0 -0 -2 -5 -7 -6 -4 -3 -4 -8 -13 -18 -19 -14 -7 -3 -2 -3 -3 -4 -4 -3 -1 -0 -2 -6 -8 -10 -12 -16 -20 -23 -25 -26 -24 -12 -5 -5 -9 -11 -10 -8 -5 -4 -3 -3 -3 -2 -2 -2 -1 -0 1 2 3 5 6 8 9 9 8 7 6 3 1 -2 -5 -8 -12 -13 -11 -10 -13 -19 -25 -25 -17 -16 -18 -18 -4 22 41 51 54 54 51 48 45 41 37 32 27 22 17 12 9 7 6 6 6 6 5 4 3 1 -1 -2 -4 -4 -4 -3 -4 -5 -6 -8 -9 -10 -12 -13 -15 -17 -18 -18 -18 -18 -17 -16 -14 -13 -11 -10 -10 -10 -11 -13 -14 -13 -11 -10 -11 -13 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -17 -13 -8 -5 -6 -10 -13 -14 -14 -13 -13 -13 -14 -14 -14 -14 -12 2 19 30 31 30 30 30 29 26 22 17 12 7 2 -2 -5 -7 -8 -10 -12 -12 -11 -10 -9 -9 -9 -8 -5 -1 -2 -7 -12 -15 -15 -14 -14 -14 -13 -10 -7 -5 -6 -7 -8 -9 -9 -9 -8 -7 -9 -10 -9 -8 -8 -10 -14 -15 -14 -13 -15 -18 -20 -22 -21 -20 -20 -20 -19 -17 -15 -15 -14 -13 -11 -12 -13 -15 -17 -21 -24 -23 -21 -18 -18 -18 -12 -5 1 4 -1 -9 -13 -13 -10 -2 0 1 4 8 8 6 7 10 15 16 8 -2 -8 -2 1 -4 -6 -5 -2 -4 -7 -7 -6 -7 -7 -7 -4 2 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -8 -12 -14 -13 -12 -11 -12 -12 -14 -14 -14 -13 -13 -13 -14 -16 -20 -21 -18 -12 -5 -0 0 -1 -1 -3 -4 -5 -6 -7 -8 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -4 -3 -3 -3 -2 -3 -4 -6 -8 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -3 -3 -4 -4 -3 -1 0 1 0 -1 -3 -4 -5 -5 -5 -7 -9 -11 -14 -17 -19 -18 -16 -13 -8 -6 -6 -6 -4 -1 0 -1 -5 -11 -12 -10 -9 -8 -9 -8 -6 -4 -2 -2 -1 -1 -1 -1 -3 -6 -6 -5 -3 -1 -3 -7 -13 -16 -14 -8 -4 -3 -3 -4 -6 -8 -7 -4 0 2 0 -2 -5 -8 -14 -19 -23 -25 -28 -29 -22 -12 -6 -5 -7 -8 -7 -5 -3 -3 -3 -3 -3 -2 -2 -2 -1 -0 1 2 3 5 7 9 10 11 11 9 6 3 -0 -3 -7 -10 -13 -12 -11 -14 -19 -26 -29 -22 -13 -10 -15 -20 -8 13 34 49 55 55 53 50 47 43 38 33 28 23 17 12 7 5 4 5 6 7 7 7 6 4 2 -0 -2 -3 -3 -3 -3 -4 -5 -7 -8 -10 -12 -14 -15 -17 -17 -17 -16 -14 -13 -13 -12 -12 -12 -12 -12 -12 -12 -14 -15 -13 -10 -9 -11 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -16 -16 -13 -7 -3 -6 -10 -12 -13 -13 -12 -11 -12 -12 -12 -11 -12 -12 -5 17 25 25 25 26 28 28 26 22 16 11 5 1 -3 -6 -8 -8 -10 -11 -11 -10 -8 -8 -7 -7 -6 -4 -3 -5 -10 -14 -15 -14 -13 -13 -13 -12 -9 -6 -5 -6 -7 -8 -9 -10 -9 -8 -8 -11 -13 -11 -11 -12 -14 -15 -14 -13 -13 -15 -18 -20 -20 -20 -19 -20 -19 -18 -17 -17 -16 -14 -12 -14 -16 -18 -22 -25 -25 -24 -22 -21 -20 -19 -15 -7 4 9 8 1 -8 -14 -12 -1 3 3 3 5 7 6 2 -1 0 1 7 3 -9 -7 -2 -2 -6 -10 -6 -5 -6 -7 -7 -9 -9 -7 -3 4 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -13 -13 -11 -9 -6 -5 -6 -7 -8 -11 -14 -15 -13 -8 -3 -1 -0 -1 -2 -4 -5 -6 -8 -10 -11 -11 -9 -8 -8 -7 -7 -7 -6 -7 -7 -7 -5 -4 -4 -4 -4 -4 -4 -6 -7 -7 -6 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -0 1 1 -0 -2 -4 -7 -8 -7 -7 -8 -9 -11 -14 -16 -17 -17 -16 -10 -7 -6 -7 -6 -5 -4 -3 -4 -6 -8 -8 -8 -9 -11 -10 -7 -5 -3 -2 -1 -0 -1 -1 -2 -4 -5 -5 -4 -2 -1 -2 -7 -12 -13 -8 -5 -4 -4 -5 -6 -8 -10 -9 -6 -1 0 -0 -2 -6 -12 -16 -19 -21 -23 -26 -25 -21 -13 -5 -3 -4 -4 -3 -2 -2 -3 -4 -4 -3 -2 -1 -1 -1 -0 1 1 3 4 7 10 12 13 13 11 7 3 -0 -4 -9 -13 -14 -13 -14 -18 -24 -28 -27 -18 -9 -6 -14 -18 -13 -0 17 35 50 55 54 51 48 44 40 35 30 24 17 11 6 3 2 3 5 6 8 9 9 8 5 2 -1 -3 -3 -3 -3 -3 -5 -6 -8 -9 -11 -13 -14 -15 -15 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -14 -14 -13 -9 -9 -11 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -16 -16 -13 -5 -3 -5 -9 -11 -12 -11 -10 -10 -10 -10 -10 -9 -9 -10 -7 12 19 18 16 19 23 25 24 21 16 9 4 -1 -5 -7 -8 -9 -10 -10 -9 -8 -6 -6 -5 -5 -5 -6 -6 -8 -12 -15 -15 -13 -12 -12 -12 -10 -7 -5 -5 -6 -7 -8 -9 -10 -9 -9 -12 -16 -15 -15 -16 -16 -15 -14 -14 -14 -15 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -14 -13 -16 -18 -20 -23 -26 -25 -24 -24 -24 -25 -22 -18 -9 3 9 10 6 -1 -9 -16 -4 2 3 0 0 3 4 0 -5 -10 -12 -6 -7 -14 -11 -7 -4 -5 -7 -2 -2 -4 -6 -7 -8 -7 -5 1 8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -9 -10 -12 -14 -16 -15 -12 -9 -8 -7 -8 -8 -9 -10 -11 -13 -13 -11 -8 -4 -3 -1 -0 -1 -3 -5 -6 -8 -10 -11 -12 -10 -9 -8 -8 -7 -7 -7 -7 -8 -7 -5 -5 -5 -5 -5 -5 -6 -6 -5 -6 -5 -3 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -4 -3 -3 -2 -1 -0 1 1 -1 -4 -7 -10 -10 -9 -8 -8 -11 -14 -15 -15 -16 -16 -13 -9 -6 -6 -6 -6 -7 -7 -7 -5 -4 -4 -5 -7 -10 -11 -9 -7 -5 -3 -1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -1 -0 -3 -7 -10 -8 -6 -5 -5 -5 -6 -7 -8 -10 -9 -6 -3 -2 -3 -6 -11 -14 -15 -15 -14 -16 -22 -25 -22 -13 -6 -3 -1 -0 1 1 -2 -4 -5 -4 -2 -1 -0 -0 0 1 1 1 2 4 6 10 12 14 14 11 7 4 -0 -5 -10 -13 -14 -15 -18 -22 -26 -27 -23 -14 -4 -5 -13 -17 -17 -11 2 19 34 45 51 49 47 44 41 37 31 24 17 10 4 1 -0 1 2 5 8 11 12 11 9 5 1 -2 -3 -4 -3 -4 -5 -6 -7 -8 -10 -11 -12 -13 -13 -13 -13 -13 -13 -14 -15 -16 -16 -16 -15 -14 -13 -14 -14 -12 -9 -10 -12 -14 -14 -14 -14 -14 -14 -14 -15 -14 -14 -15 -16 -11 -4 -2 -4 -8 -10 -11 -10 -9 -8 -8 -8 -7 -6 -6 -13 -1 11 16 12 8 10 16 20 21 19 14 8 2 -3 -6 -8 -8 -9 -9 -9 -7 -6 -4 -4 -5 -6 -9 -10 -9 -10 -13 -15 -14 -11 -11 -12 -11 -9 -6 -5 -6 -7 -7 -8 -9 -10 -12 -14 -17 -16 -16 -18 -18 -17 -16 -15 -15 -16 -16 -17 -16 -16 -17 -18 -19 -18 -18 -18 -17 -14 -14 -18 -20 -21 -24 -25 -25 -24 -23 -25 -25 -24 -20 -13 -1 8 8 6 4 -1 -16 -8 1 4 1 -3 -1 1 -0 -4 -8 -11 -14 -15 -15 -13 -10 -8 -7 -7 1 2 0 -2 -5 -5 -2 1 5 11 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -8 -10 -12 -13 -12 -12 -12 -12 -11 -9 -9 -11 -12 -13 -14 -15 -14 -12 -9 -6 -5 -4 -2 -1 -2 -4 -5 -6 -8 -9 -11 -11 -10 -9 -9 -8 -8 -7 -8 -8 -9 -7 -5 -5 -5 -5 -5 -6 -7 -6 -5 -4 -3 -2 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -5 -5 -4 -4 -3 -2 -2 -1 0 1 0 -2 -5 -9 -11 -11 -10 -8 -10 -14 -15 -14 -13 -14 -14 -12 -9 -7 -6 -5 -7 -9 -10 -8 -5 -3 -3 -5 -8 -11 -10 -9 -7 -5 -3 -1 -1 -1 -2 -3 -2 -2 -2 -3 -2 -1 -1 -3 -5 -6 -5 -5 -5 -6 -6 -6 -7 -7 -8 -7 -5 -4 -4 -7 -11 -15 -17 -16 -12 -9 -14 -21 -25 -21 -13 -7 -3 -1 1 2 0 -2 -4 -5 -3 -1 -0 0 1 1 1 1 1 2 4 6 9 12 14 14 11 8 4 1 -4 -10 -14 -16 -17 -20 -23 -26 -25 -20 -9 -4 -7 -13 -18 -18 -15 -9 2 17 30 35 38 40 41 40 37 32 25 18 10 4 -0 -3 -3 -2 1 6 11 14 15 12 7 2 -2 -4 -5 -5 -5 -5 -5 -6 -7 -8 -9 -11 -12 -13 -13 -13 -14 -14 -16 -17 -17 -18 -17 -15 -13 -13 -14 -14 -11 -10 -11 -13 -14 -13 -13 -13 -13 -14 -14 -14 -14 -13 -14 -15 -9 -3 -1 -4 -7 -9 -9 -8 -7 -6 -6 -6 -5 -3 -7 -10 -0 12 13 7 4 5 9 14 17 16 11 5 -1 -5 -7 -9 -9 -8 -8 -7 -6 -6 -6 -9 -10 -11 -12 -13 -11 -11 -13 -14 -13 -9 -10 -10 -10 -8 -6 -7 -9 -9 -9 -10 -13 -16 -18 -18 -17 -17 -19 -19 -19 -17 -16 -17 -17 -17 -16 -15 -16 -17 -19 -21 -19 -17 -15 -15 -14 -15 -17 -19 -21 -24 -25 -24 -22 -22 -24 -24 -24 -21 -16 -7 4 6 6 4 5 -9 -10 -3 6 4 -2 -3 -2 -2 -2 -5 -9 -12 -13 -14 -13 -11 -10 -8 -4 6 8 6 4 2 3 6 8 9 10 -10 -9 -9 -8 -8 -7 -6 -7 -7 -6 -6 -6 -7 -9 -9 -9 -9 -10 -11 -10 -10 -10 -12 -13 -14 -16 -17 -16 -11 -7 -5 -5 -4 -2 -2 -4 -6 -7 -8 -8 -9 -9 -10 -10 -9 -8 -8 -8 -8 -9 -9 -9 -8 -6 -5 -5 -5 -5 -6 -7 -6 -5 -3 -2 -1 -0 -1 -2 -2 -4 -6 -6 -5 -4 -4 -4 -4 -5 -4 -3 -2 -1 -0 0 1 1 -1 -4 -7 -10 -12 -12 -9 -9 -13 -16 -16 -14 -13 -14 -14 -12 -9 -7 -6 -6 -8 -10 -10 -7 -4 -3 -4 -6 -9 -10 -10 -9 -7 -6 -4 -2 -1 -1 -2 -1 -0 -0 -1 -1 -1 -1 -2 -2 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -4 -5 -6 -7 -11 -15 -18 -19 -17 -9 -7 -12 -19 -23 -20 -12 -6 -3 -2 1 1 -0 -2 -3 -3 -1 -0 -0 0 1 1 1 1 1 2 4 6 8 12 16 15 12 8 5 3 -2 -8 -12 -14 -17 -21 -23 -24 -22 -16 -8 -7 -10 -14 -16 -17 -17 -14 -7 4 11 15 18 23 30 33 34 31 26 19 12 5 -0 -4 -6 -6 -4 2 8 15 17 14 9 3 -2 -5 -6 -7 -6 -5 -4 -4 -5 -6 -8 -10 -12 -13 -13 -13 -14 -15 -17 -18 -18 -18 -16 -13 -12 -12 -14 -14 -12 -11 -12 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -12 -13 -13 -8 -2 0 -3 -6 -8 -8 -7 -5 -4 -4 -3 -2 -1 -10 -8 1 9 7 4 2 2 3 7 11 12 8 2 -3 -6 -9 -10 -9 -9 -8 -9 -10 -9 -11 -12 -12 -13 -14 -14 -12 -11 -12 -15 -10 -8 -9 -9 -9 -9 -11 -13 -14 -14 -15 -17 -19 -20 -19 -17 -17 -18 -19 -19 -18 -17 -17 -17 -16 -14 -14 -14 -17 -20 -21 -19 -17 -16 -16 -16 -16 -17 -18 -20 -24 -24 -23 -21 -21 -24 -24 -23 -20 -16 -11 -1 7 8 3 3 -1 -9 -8 4 6 -1 -5 -6 -4 -1 -3 -7 -11 -12 -13 -13 -11 -9 -6 0 9 12 13 11 11 12 12 11 9 10 -9 -9 -8 -8 -7 -6 -6 -6 -6 -5 -4 -4 -5 -6 -8 -9 -9 -11 -10 -9 -9 -9 -11 -12 -13 -14 -15 -14 -10 -7 -5 -4 -3 -2 -3 -5 -8 -9 -10 -10 -9 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -5 -6 -7 -7 -5 -2 0 0 -1 -3 -4 -5 -6 -6 -6 -5 -4 -4 -5 -4 -4 -4 -3 -1 0 0 1 1 -0 -2 -5 -9 -12 -13 -12 -10 -11 -15 -18 -18 -14 -12 -13 -13 -12 -10 -8 -7 -8 -8 -7 -6 -6 -6 -6 -5 -7 -9 -9 -9 -8 -8 -7 -6 -3 -1 -1 -1 -0 1 1 1 0 0 -0 -1 -2 -3 -3 -4 -5 -6 -7 -7 -6 -3 -0 -0 -2 -4 -6 -9 -12 -16 -20 -21 -15 -7 -5 -10 -19 -22 -16 -10 -5 -4 -1 -0 -0 -1 -2 -2 -1 0 0 -0 -0 1 1 0 -0 -0 1 3 6 10 15 17 16 13 9 8 5 1 -4 -9 -13 -17 -21 -23 -23 -20 -13 -9 -9 -12 -15 -15 -15 -16 -15 -11 -4 -0 3 5 8 14 21 25 26 24 19 13 7 2 -3 -7 -10 -10 -5 4 14 18 16 10 3 -3 -6 -8 -8 -7 -4 -2 -2 -3 -5 -8 -10 -11 -12 -13 -14 -15 -17 -18 -18 -18 -17 -14 -12 -10 -12 -14 -14 -12 -12 -13 -13 -12 -11 -11 -11 -11 -12 -12 -12 -11 -11 -12 -11 -7 -0 -0 -3 -5 -7 -7 -6 -4 -3 -2 -3 -2 -7 -11 -9 -1 1 1 -1 -3 -5 -4 1 5 7 4 -1 -5 -8 -10 -11 -12 -12 -12 -13 -12 -12 -13 -14 -15 -16 -14 -12 -9 -8 -14 -11 -8 -7 -8 -10 -12 -14 -16 -17 -17 -18 -20 -21 -21 -20 -19 -18 -17 -16 -16 -16 -15 -15 -15 -15 -13 -12 -13 -16 -19 -21 -20 -20 -19 -20 -19 -17 -17 -18 -20 -23 -23 -21 -20 -21 -24 -24 -23 -20 -16 -12 -4 6 15 15 1 -1 -7 -10 -4 2 0 -5 -9 -8 -3 -2 -5 -9 -11 -11 -11 -9 -6 -3 2 7 13 16 18 20 19 16 13 11 11 -8 -8 -8 -7 -6 -5 -5 -6 -6 -5 -5 -5 -7 -7 -8 -10 -10 -11 -10 -9 -9 -10 -11 -12 -13 -12 -11 -9 -8 -7 -6 -5 -4 -4 -4 -5 -5 -6 -8 -9 -8 -7 -6 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -5 -5 -5 -6 -7 -7 -5 -3 -1 -0 -1 -2 -4 -6 -7 -6 -4 -4 -3 -3 -3 -2 -3 -4 -4 -3 -1 0 -0 -0 -0 -0 -2 -6 -11 -14 -15 -13 -12 -14 -17 -20 -17 -13 -12 -13 -14 -11 -8 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -7 -8 -8 -8 -8 -9 -9 -7 -4 -2 -1 0 1 3 3 3 2 1 1 0 -1 -2 -3 -4 -5 -6 -8 -7 -5 0 4 4 2 -1 -4 -8 -12 -16 -20 -20 -13 -7 -7 -12 -19 -17 -12 -8 -5 -3 -2 -2 -2 -2 -2 -0 1 1 0 -1 0 1 1 0 -1 -1 -0 3 7 13 18 20 19 15 13 12 8 4 -1 -7 -13 -17 -21 -22 -21 -15 -10 -8 -11 -16 -16 -15 -15 -14 -14 -10 -6 -3 -2 -3 -2 3 8 14 18 19 17 13 8 3 -2 -7 -12 -15 -14 -2 11 19 18 10 2 -3 -7 -9 -10 -7 -4 -1 -0 -2 -4 -7 -10 -12 -13 -14 -15 -16 -17 -18 -18 -17 -15 -13 -10 -9 -12 -14 -14 -12 -12 -13 -12 -10 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -4 -0 -0 -3 -7 -8 -8 -6 -5 -4 -4 -5 -7 -11 -13 -10 -4 -2 -2 -3 -6 -8 -8 -6 -2 1 -2 -6 -8 -10 -13 -17 -17 -16 -16 -13 -13 -13 -15 -16 -16 -13 -10 -8 -6 -10 -11 -9 -6 -7 -9 -12 -14 -16 -17 -17 -18 -20 -21 -21 -20 -19 -19 -16 -14 -14 -14 -13 -13 -13 -13 -13 -12 -13 -15 -19 -22 -24 -24 -23 -24 -22 -20 -19 -20 -21 -23 -23 -21 -20 -21 -22 -22 -21 -19 -17 -13 -6 4 16 25 17 0 -7 -6 -13 -5 -1 -4 -10 -12 -7 -3 -4 -8 -10 -10 -9 -7 -4 -1 1 5 9 15 23 26 24 21 17 14 13 -6 -6 -7 -6 -6 -5 -4 -6 -7 -6 -6 -7 -8 -8 -9 -10 -10 -8 -9 -9 -9 -10 -11 -13 -14 -12 -9 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -5 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -6 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -4 -2 -1 -0 -0 -2 -4 -6 -6 -4 -3 -3 -3 -3 -3 -3 -3 -4 -3 -2 -1 -1 -0 0 1 0 -3 -8 -13 -17 -17 -14 -13 -15 -18 -18 -14 -12 -11 -12 -11 -8 -6 -5 -5 -6 -6 -7 -7 -8 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -8 -6 -4 -2 1 4 6 6 4 3 3 2 1 -0 -1 -3 -4 -6 -7 -9 -9 -4 2 7 8 6 2 -4 -8 -11 -16 -20 -19 -14 -10 -9 -14 -15 -14 -10 -6 -4 -3 -3 -2 -3 -3 -2 -0 1 1 0 0 0 1 1 -1 -3 -3 -2 2 9 15 20 23 23 22 20 17 12 7 1 -7 -13 -18 -21 -20 -15 -9 -6 -7 -14 -17 -17 -17 -16 -15 -13 -10 -6 -3 -3 -6 -7 -6 -2 3 7 10 11 10 7 3 -2 -7 -13 -18 -17 -7 7 18 17 9 2 -4 -7 -10 -10 -7 -3 -0 1 -1 -4 -7 -10 -13 -14 -15 -16 -17 -17 -18 -17 -16 -14 -11 -9 -9 -12 -14 -13 -12 -12 -12 -10 -8 -7 -8 -8 -9 -10 -10 -10 -9 -9 -9 -8 -4 -2 -4 -9 -11 -12 -11 -10 -8 -7 -7 -9 -11 -13 -13 -8 -4 -3 -2 -3 -7 -10 -11 -9 -6 -7 -9 -10 -10 -11 -16 -19 -19 -18 -15 -13 -12 -13 -14 -14 -11 -9 -7 -6 -7 -10 -9 -6 -6 -10 -13 -15 -15 -16 -17 -18 -19 -20 -20 -19 -19 -18 -16 -14 -13 -14 -14 -13 -13 -13 -13 -14 -14 -16 -20 -24 -27 -28 -28 -26 -23 -22 -22 -24 -24 -24 -24 -22 -21 -21 -21 -20 -19 -19 -18 -16 -10 0 13 25 25 18 4 -13 -12 -11 -5 -4 -9 -13 -10 -5 -4 -8 -9 -10 -9 -8 -5 -0 3 5 7 10 16 24 26 25 22 18 16 -5 -5 -6 -5 -5 -4 -5 -6 -7 -6 -6 -7 -8 -9 -9 -10 -10 -8 -7 -8 -8 -8 -9 -11 -10 -9 -8 -7 -6 -5 -5 -6 -6 -6 -6 -5 -4 -3 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -5 -4 -3 -1 1 0 -2 -5 -6 -5 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -1 -0 1 1 1 -1 -5 -10 -16 -19 -18 -15 -14 -15 -18 -16 -13 -10 -10 -10 -8 -6 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -8 -8 -9 -10 -10 -10 -8 -5 -2 2 5 7 6 5 5 5 4 3 1 -1 -3 -5 -7 -9 -11 -10 -4 3 7 8 7 4 -1 -6 -11 -16 -19 -19 -15 -11 -12 -14 -14 -11 -6 -5 -4 -3 -2 -3 -4 -4 -3 -1 1 2 1 0 0 0 -0 -2 -5 -6 -4 2 9 15 21 25 28 28 25 21 16 10 1 -7 -14 -19 -19 -16 -10 -5 -3 -9 -17 -20 -20 -19 -16 -14 -13 -10 -6 -2 -4 -7 -9 -9 -9 -6 -2 2 5 6 4 1 -3 -7 -13 -18 -18 -9 5 16 14 7 1 -4 -7 -9 -9 -7 -4 -0 0 -2 -5 -8 -11 -14 -15 -16 -16 -16 -16 -16 -16 -15 -13 -10 -8 -9 -12 -14 -12 -12 -11 -10 -8 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -10 -9 -8 -7 -10 -12 -14 -14 -13 -10 -9 -8 -8 -10 -12 -15 -11 -7 -5 -1 -2 -6 -10 -13 -12 -10 -6 -2 -0 -0 -4 -9 -14 -16 -17 -16 -11 -8 -8 -10 -11 -10 -8 -7 -6 -6 -8 -9 -8 -7 -12 -15 -16 -15 -14 -16 -18 -19 -20 -20 -20 -20 -19 -17 -15 -12 -15 -17 -16 -15 -15 -15 -16 -17 -18 -21 -25 -28 -31 -31 -28 -26 -25 -25 -25 -23 -23 -23 -22 -22 -21 -20 -18 -18 -19 -19 -18 -13 -5 6 17 24 26 20 4 -15 -14 -9 -8 -9 -11 -10 -7 -5 -8 -9 -10 -10 -10 -7 -2 3 8 10 10 8 14 21 27 27 23 20 -5 -6 -6 -5 -4 -4 -4 -5 -6 -6 -7 -8 -10 -11 -10 -9 -10 -12 -9 -7 -7 -8 -8 -8 -8 -9 -9 -10 -9 -8 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -4 -5 -6 -6 -4 -2 -0 0 -1 -4 -5 -6 -4 -3 -3 -3 -3 -5 -6 -5 -4 -3 -2 -1 0 1 2 1 1 -2 -6 -13 -19 -20 -18 -15 -14 -16 -17 -14 -11 -9 -10 -8 -6 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -11 -11 -9 -6 -2 2 5 6 6 6 7 7 6 5 4 2 -1 -4 -8 -10 -12 -8 -2 3 5 7 7 5 2 -3 -9 -13 -16 -16 -14 -14 -15 -14 -11 -6 -5 -5 -4 -2 -2 -3 -5 -5 -5 -2 1 1 1 0 -0 0 -1 -4 -7 -8 -4 1 7 13 19 26 30 30 27 24 18 9 -1 -10 -16 -18 -15 -11 -5 -2 -5 -12 -18 -21 -21 -17 -14 -14 -13 -10 -4 -3 -5 -7 -9 -10 -11 -10 -8 -4 -0 0 0 -1 -4 -8 -13 -17 -16 -10 4 11 9 4 -1 -3 -6 -8 -8 -8 -5 -2 -1 -2 -6 -9 -12 -14 -15 -15 -15 -15 -15 -15 -15 -14 -12 -9 -8 -9 -13 -13 -11 -10 -10 -9 -6 -4 -4 -6 -7 -8 -9 -10 -11 -11 -12 -14 -13 -10 -10 -12 -14 -16 -15 -13 -11 -9 -9 -10 -10 -14 -12 -8 -6 -3 -1 -4 -8 -13 -15 -12 -6 1 4 4 2 -3 -8 -13 -15 -13 -6 -0 0 -5 -9 -9 -8 -7 -7 -7 -7 -9 -12 -11 -14 -17 -18 -17 -14 -16 -17 -20 -21 -21 -21 -20 -20 -19 -16 -14 -18 -20 -19 -17 -17 -18 -20 -21 -20 -20 -23 -27 -30 -31 -30 -29 -28 -27 -25 -22 -22 -21 -21 -22 -21 -19 -18 -18 -20 -20 -18 -14 -9 -2 11 22 29 29 19 2 -7 -10 -11 -9 -8 -8 -6 -5 -7 -9 -10 -10 -10 -9 -4 1 6 10 14 14 10 11 19 27 27 24 -6 -6 -6 -4 -3 -3 -3 -4 -4 -4 -6 -9 -14 -19 -19 -15 -13 -13 -10 -9 -9 -9 -8 -7 -7 -9 -10 -12 -13 -12 -10 -8 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -4 -3 -2 -1 -2 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -4 -6 -6 -5 -4 -2 -2 -2 -3 -4 -5 -4 -3 -2 -2 -3 -6 -8 -7 -6 -3 -2 -0 1 2 2 2 1 0 -2 -8 -15 -20 -20 -17 -14 -14 -16 -15 -12 -9 -9 -9 -7 -6 -5 -5 -6 -6 -7 -7 -7 -9 -9 -9 -9 -9 -9 -9 -8 -9 -10 -11 -12 -11 -9 -6 -3 0 3 4 5 6 7 8 9 9 8 5 2 -3 -9 -12 -10 -5 -0 3 5 6 8 9 9 4 -0 -5 -10 -12 -14 -15 -14 -10 -6 -6 -6 -6 -3 -1 -1 -3 -5 -7 -7 -4 -0 1 1 0 0 0 -2 -5 -9 -9 -6 -1 3 8 15 22 25 26 24 21 15 7 -4 -12 -15 -14 -10 -6 -3 -4 -8 -12 -17 -19 -17 -15 -15 -15 -12 -6 -4 -4 -6 -8 -10 -11 -11 -11 -9 -7 -5 -4 -4 -6 -7 -9 -12 -15 -16 -10 0 5 5 1 -2 -3 -5 -7 -8 -9 -7 -4 -2 -3 -6 -10 -13 -14 -14 -14 -14 -14 -14 -15 -14 -12 -10 -8 -7 -9 -12 -11 -9 -9 -9 -7 -5 -4 -4 -6 -9 -11 -13 -15 -15 -15 -15 -14 -12 -10 -12 -15 -17 -17 -16 -12 -10 -10 -10 -9 -13 -12 -9 -7 -6 -2 -2 -6 -11 -16 -15 -9 -3 0 2 4 2 -3 -9 -14 -14 -10 -5 1 -2 -7 -9 -9 -7 -7 -7 -8 -10 -14 -14 -16 -18 -20 -20 -18 -17 -17 -19 -22 -23 -22 -21 -20 -19 -17 -17 -19 -20 -20 -19 -20 -22 -22 -23 -21 -21 -23 -25 -27 -29 -31 -31 -30 -28 -26 -23 -22 -21 -20 -21 -19 -17 -17 -18 -18 -18 -17 -14 -11 -8 6 18 27 32 27 15 4 -5 -13 -9 -9 -7 -5 -4 -6 -8 -9 -9 -9 -9 -6 -1 3 7 10 15 16 12 7 17 24 27 -6 -6 -5 -4 -2 -2 -2 -4 -4 -5 -7 -9 -14 -19 -20 -19 -15 -13 -11 -10 -11 -11 -9 -6 -6 -6 -8 -11 -14 -15 -14 -11 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -4 -2 -1 -1 -2 -3 -2 -1 -1 -1 -1 -0 0 -0 -2 -4 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -2 -0 -1 -3 -6 -9 -9 -8 -5 -2 0 1 2 2 2 2 1 -0 -3 -10 -17 -21 -20 -16 -13 -15 -15 -13 -10 -8 -9 -9 -8 -6 -5 -6 -6 -6 -6 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -11 -10 -8 -7 -4 -2 1 3 3 5 7 10 13 13 12 9 3 -4 -8 -9 -6 -2 2 3 3 5 8 12 11 9 6 2 -3 -8 -11 -11 -10 -7 -6 -7 -7 -5 -1 1 0 -2 -5 -9 -8 -3 1 2 1 1 2 2 -1 -6 -10 -9 -6 -3 -1 1 6 11 15 18 19 18 12 3 -7 -13 -13 -10 -7 -4 -5 -7 -9 -12 -15 -16 -16 -16 -16 -15 -10 -6 -5 -5 -7 -9 -11 -13 -13 -11 -7 -6 -6 -8 -9 -9 -9 -10 -12 -14 -17 -12 -5 -0 -0 -2 -3 -4 -5 -7 -9 -9 -8 -5 -3 -4 -7 -10 -12 -13 -13 -13 -12 -13 -14 -14 -13 -11 -9 -7 -7 -9 -10 -9 -8 -8 -8 -7 -6 -6 -7 -10 -13 -15 -16 -16 -15 -15 -16 -14 -11 -12 -14 -17 -17 -17 -11 -8 -7 -9 -8 -12 -13 -11 -8 -8 -6 -4 -4 -9 -15 -15 -12 -8 -5 -3 0 2 1 -3 -9 -12 -12 -9 -4 -0 -4 -8 -9 -8 -7 -8 -9 -11 -15 -15 -17 -19 -22 -23 -22 -19 -16 -16 -19 -20 -20 -20 -21 -20 -18 -18 -17 -17 -17 -19 -22 -24 -23 -23 -22 -21 -22 -23 -23 -25 -30 -31 -30 -29 -28 -26 -24 -22 -20 -19 -17 -15 -15 -17 -14 -14 -14 -14 -13 -11 1 12 22 29 28 20 11 1 -8 -12 -11 -9 -7 -4 -4 -5 -7 -8 -8 -8 -7 -4 0 5 8 11 16 20 20 8 15 23 -6 -6 -5 -4 -2 -2 -4 -5 -6 -7 -8 -9 -11 -14 -16 -16 -15 -13 -12 -12 -11 -10 -7 -4 -3 -4 -6 -10 -14 -17 -16 -13 -8 -7 -6 -5 -5 -5 -5 -6 -7 -9 -10 -9 -8 -7 -7 -6 -3 -0 -0 -1 -1 -1 -1 -0 1 2 2 1 0 -1 -2 -4 -5 -6 -6 -7 -7 -7 -6 -3 -1 -0 0 1 0 -2 -5 -8 -10 -10 -7 -3 1 3 3 3 3 2 2 1 -0 -5 -13 -20 -23 -21 -15 -12 -12 -13 -12 -9 -9 -9 -9 -7 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -11 -9 -8 -8 -7 -5 -3 -0 0 -0 2 6 12 15 16 14 11 4 -3 -5 -5 -3 1 1 -0 -1 2 6 8 9 10 9 6 1 -3 -5 -7 -6 -6 -7 -7 -6 -2 2 3 2 -2 -6 -9 -6 -2 3 5 3 3 4 5 2 -6 -10 -9 -5 -3 -5 -6 -4 1 9 14 17 16 11 0 -8 -12 -11 -8 -5 -6 -8 -8 -8 -10 -14 -15 -15 -15 -16 -14 -10 -7 -5 -5 -7 -10 -12 -14 -14 -10 -7 -5 -5 -7 -9 -10 -11 -12 -13 -14 -18 -15 -9 -6 -6 -5 -5 -5 -7 -8 -9 -9 -8 -6 -5 -6 -8 -10 -12 -13 -12 -11 -11 -12 -12 -12 -11 -10 -8 -6 -7 -9 -10 -9 -9 -9 -11 -12 -12 -12 -11 -13 -16 -16 -16 -16 -15 -16 -16 -13 -12 -13 -14 -15 -16 -10 -6 -4 -7 -8 -10 -12 -12 -9 -10 -8 -7 -6 -7 -11 -11 -10 -9 -7 -7 -6 -3 -1 -1 -4 -8 -10 -11 -10 -4 -4 -6 -9 -9 -8 -8 -10 -13 -17 -17 -18 -20 -23 -23 -23 -20 -17 -14 -15 -17 -18 -20 -20 -20 -16 -12 -10 -11 -15 -20 -23 -24 -23 -22 -21 -20 -20 -20 -20 -21 -25 -30 -32 -31 -29 -28 -26 -24 -21 -19 -17 -16 -16 -16 -12 -10 -10 -12 -13 -11 -4 5 14 22 24 20 13 6 -2 -11 -12 -11 -11 -9 -5 -4 -4 -6 -6 -6 -7 -6 -3 2 6 9 13 17 24 22 12 11 -6 -5 -5 -4 -3 -3 -5 -6 -6 -8 -9 -10 -11 -13 -14 -14 -13 -12 -12 -12 -10 -6 -3 -1 -1 -4 -8 -13 -16 -18 -17 -14 -10 -8 -6 -5 -5 -6 -6 -6 -7 -8 -11 -12 -11 -8 -6 -4 -1 1 1 1 1 -0 0 1 3 4 3 3 3 2 1 -1 -3 -6 -7 -9 -9 -9 -8 -5 -2 -0 1 1 1 -1 -3 -5 -8 -10 -10 -8 -3 2 4 5 3 2 2 2 1 -2 -9 -16 -22 -24 -19 -12 -9 -10 -11 -10 -9 -10 -9 -8 -6 -6 -6 -6 -5 -5 -6 -7 -9 -10 -11 -12 -12 -12 -12 -13 -14 -13 -11 -8 -6 -7 -7 -7 -6 -3 -3 -4 -5 -2 4 10 13 15 14 11 4 -1 -2 -1 1 0 -3 -6 -6 -4 -1 2 5 7 8 7 5 3 0 -2 -4 -5 -6 -6 -3 2 4 5 3 -1 -5 -7 -4 1 7 6 3 3 7 9 4 -2 -5 -5 -3 -4 -7 -9 -9 -4 6 14 19 18 9 -1 -8 -11 -10 -8 -8 -9 -9 -7 -6 -9 -12 -13 -14 -17 -18 -15 -11 -7 -4 -5 -7 -11 -14 -16 -14 -10 -6 -3 -3 -5 -8 -10 -12 -12 -10 -15 -17 -16 -12 -11 -10 -9 -10 -10 -9 -10 -11 -10 -9 -8 -8 -9 -10 -11 -12 -13 -13 -10 -10 -11 -11 -11 -10 -9 -7 -7 -10 -13 -13 -13 -13 -15 -16 -16 -15 -14 -14 -16 -16 -17 -16 -16 -15 -15 -15 -13 -12 -12 -12 -13 -11 -7 -4 -4 -6 -8 -11 -12 -10 -10 -10 -9 -8 -7 -7 -8 -10 -11 -9 -8 -8 -8 -6 -3 -2 -4 -7 -11 -14 -10 -8 -8 -10 -13 -12 -11 -12 -16 -19 -20 -20 -21 -23 -22 -21 -20 -17 -15 -15 -16 -17 -19 -20 -19 -15 -12 -11 -13 -18 -21 -22 -23 -22 -22 -21 -21 -20 -20 -19 -18 -21 -26 -29 -31 -31 -30 -28 -26 -24 -21 -19 -18 -17 -15 -12 -9 -8 -9 -13 -14 -11 -4 6 14 18 16 13 8 2 -7 -12 -14 -12 -15 -12 -8 -5 -4 -3 -4 -6 -7 -6 -1 4 7 11 14 18 21 18 11 -5 -5 -5 -4 -4 -4 -4 -4 -5 -7 -9 -12 -16 -17 -17 -16 -14 -12 -10 -10 -8 -4 -1 0 -1 -5 -11 -16 -17 -17 -16 -13 -9 -6 -6 -6 -6 -8 -9 -9 -10 -9 -9 -8 -8 -8 -7 -6 -4 -2 0 1 0 1 1 3 3 4 3 3 3 2 1 0 -1 -4 -7 -9 -9 -10 -9 -8 -5 -2 0 1 1 0 -1 -3 -6 -9 -11 -11 -9 -4 2 5 5 4 3 2 1 -1 -5 -11 -19 -24 -22 -14 -9 -7 -10 -11 -10 -10 -9 -9 -8 -7 -6 -5 -5 -6 -5 -5 -6 -8 -9 -11 -10 -10 -11 -13 -15 -15 -14 -11 -8 -6 -6 -7 -7 -7 -5 -5 -6 -7 -3 2 6 8 11 12 8 4 1 1 2 1 -3 -7 -8 -8 -7 -6 -4 -2 1 3 5 7 7 5 2 -1 -4 -6 -5 0 4 7 6 3 -1 -4 -5 -3 5 7 4 1 2 8 9 7 3 -1 -3 -3 -4 -6 -9 -10 -5 5 15 20 16 6 -3 -10 -13 -12 -10 -11 -11 -9 -4 -5 -8 -11 -14 -18 -20 -19 -14 -9 -5 -4 -5 -9 -13 -16 -16 -14 -10 -5 -1 -2 -4 -8 -11 -12 -8 -11 -15 -18 -15 -14 -13 -14 -14 -14 -13 -13 -14 -14 -13 -14 -14 -15 -14 -12 -14 -17 -17 -13 -12 -13 -13 -13 -14 -14 -12 -11 -13 -16 -18 -18 -18 -18 -18 -17 -16 -15 -15 -16 -17 -17 -17 -16 -16 -15 -16 -15 -12 -9 -9 -9 -9 -8 -8 -6 -6 -8 -11 -12 -11 -11 -11 -11 -10 -10 -9 -10 -11 -14 -14 -11 -9 -8 -8 -8 -5 -2 -3 -7 -14 -14 -13 -12 -15 -18 -17 -16 -15 -17 -20 -22 -22 -21 -22 -21 -20 -19 -18 -18 -16 -15 -15 -16 -18 -19 -18 -17 -16 -16 -18 -20 -21 -22 -22 -23 -23 -23 -22 -21 -19 -18 -20 -23 -27 -30 -33 -33 -32 -31 -29 -25 -21 -19 -18 -15 -12 -10 -8 -8 -11 -13 -13 -9 -1 7 12 13 11 7 4 -3 -11 -16 -14 -19 -18 -14 -9 -5 -3 -2 -3 -6 -7 -3 1 6 9 12 13 15 15 14 -5 -5 -5 -4 -4 -3 -2 -2 -3 -5 -9 -15 -22 -25 -22 -18 -14 -11 -8 -7 -6 -5 -3 -3 -2 -5 -9 -14 -15 -13 -11 -8 -5 -4 -3 -4 -5 -8 -10 -11 -11 -10 -8 -6 -5 -6 -7 -7 -6 -4 -2 -0 0 1 2 3 3 3 2 2 2 1 1 1 0 -2 -4 -6 -8 -9 -9 -9 -7 -4 -2 -0 1 1 0 -1 -4 -6 -9 -11 -11 -9 -4 2 5 6 6 4 2 0 -2 -8 -15 -22 -23 -16 -10 -7 -8 -11 -11 -10 -9 -9 -9 -8 -7 -5 -5 -6 -5 -4 -4 -5 -7 -9 -9 -9 -9 -11 -14 -16 -16 -15 -12 -7 -4 -4 -7 -9 -9 -7 -6 -6 -4 -1 1 2 4 7 8 7 4 3 2 1 -1 -5 -7 -6 -6 -6 -7 -7 -8 -7 -3 2 7 9 7 4 -0 -4 -6 -2 2 6 7 5 2 -1 -5 -6 -1 5 4 0 -3 -1 2 5 6 4 0 -1 -1 -2 -4 -8 -8 -3 4 10 12 7 -1 -8 -13 -15 -13 -13 -14 -12 -5 -2 -3 -7 -12 -19 -22 -20 -17 -12 -7 -4 -4 -7 -11 -15 -17 -16 -13 -9 -4 -1 -1 -4 -9 -14 -10 -10 -13 -16 -18 -15 -14 -13 -13 -14 -15 -17 -18 -18 -17 -17 -18 -19 -19 -18 -19 -22 -22 -20 -19 -18 -17 -18 -19 -20 -19 -18 -17 -17 -18 -19 -19 -19 -18 -17 -16 -16 -16 -17 -18 -19 -19 -18 -17 -16 -16 -16 -15 -13 -8 -8 -9 -11 -13 -11 -9 -11 -13 -14 -12 -11 -12 -12 -11 -11 -11 -12 -13 -15 -16 -15 -13 -11 -10 -9 -8 -5 -2 -3 -10 -14 -16 -16 -18 -20 -21 -19 -18 -17 -18 -20 -20 -19 -19 -20 -21 -21 -20 -19 -16 -13 -12 -13 -16 -18 -19 -19 -18 -17 -18 -19 -20 -21 -22 -23 -24 -23 -23 -22 -20 -20 -21 -23 -27 -31 -34 -36 -36 -34 -31 -27 -24 -21 -19 -16 -14 -12 -11 -10 -11 -13 -13 -12 -7 0 6 8 8 5 5 1 -7 -15 -17 -20 -21 -19 -14 -10 -6 -2 0 -2 -5 -3 0 4 8 10 11 10 10 10 -5 -5 -5 -5 -4 -2 -1 -0 -3 -6 -10 -16 -22 -24 -21 -15 -10 -7 -6 -5 -5 -6 -8 -10 -9 -8 -9 -12 -14 -10 -7 -4 -3 -3 -3 -4 -5 -7 -10 -12 -11 -9 -8 -7 -6 -6 -6 -7 -6 -4 -2 -1 1 1 2 2 2 2 1 0 0 -0 -0 0 1 -0 -2 -3 -6 -7 -8 -8 -8 -7 -4 -2 -0 1 1 -1 -2 -4 -6 -8 -10 -11 -9 -4 2 5 7 6 4 2 -1 -5 -11 -17 -21 -18 -13 -10 -8 -9 -11 -11 -10 -9 -9 -9 -8 -6 -5 -5 -6 -5 -4 -4 -4 -6 -8 -8 -7 -8 -11 -14 -16 -17 -16 -11 -6 -3 -3 -7 -10 -10 -8 -6 -4 -2 -0 0 1 3 5 6 6 4 3 2 1 -1 -3 -4 -4 -4 -4 -6 -9 -12 -12 -9 -3 3 6 7 4 -1 -6 -5 -1 3 5 5 3 1 -3 -6 -5 -0 2 0 -4 -8 -9 -6 -0 4 3 -0 -0 0 0 -2 -4 -4 -0 6 10 10 5 -2 -9 -13 -15 -17 -18 -17 -9 -2 -1 -4 -10 -17 -21 -21 -17 -14 -10 -5 -4 -6 -10 -15 -16 -16 -14 -11 -9 -5 -1 -1 -5 -12 -13 -14 -14 -13 -17 -16 -15 -14 -13 -12 -15 -17 -19 -20 -18 -18 -18 -19 -20 -21 -23 -24 -25 -25 -23 -21 -20 -20 -20 -21 -21 -20 -19 -18 -18 -19 -19 -19 -18 -18 -17 -16 -16 -18 -19 -20 -20 -19 -19 -17 -16 -16 -16 -15 -11 -10 -12 -14 -14 -13 -13 -15 -16 -17 -14 -13 -13 -13 -12 -12 -12 -13 -14 -16 -17 -17 -16 -15 -14 -11 -10 -8 -5 -3 -6 -13 -17 -18 -19 -20 -21 -21 -19 -18 -16 -16 -16 -16 -16 -17 -19 -21 -22 -21 -17 -13 -11 -11 -14 -17 -19 -20 -19 -18 -17 -18 -20 -21 -22 -21 -22 -22 -21 -20 -21 -21 -22 -24 -27 -31 -33 -35 -37 -36 -33 -29 -25 -22 -19 -16 -15 -15 -16 -15 -14 -14 -15 -14 -11 -5 1 4 5 5 6 4 -2 -11 -16 -18 -20 -19 -16 -13 -10 -6 -2 -2 -2 -2 0 4 7 10 10 8 6 5 -6 -6 -4 -3 -2 -1 -0 -1 -4 -7 -11 -15 -18 -19 -14 -10 -7 -7 -8 -9 -8 -8 -9 -11 -11 -10 -10 -11 -10 -8 -5 -4 -4 -4 -5 -5 -6 -7 -8 -10 -11 -11 -11 -10 -7 -6 -6 -6 -6 -5 -3 -1 0 1 1 1 1 0 0 -0 -1 -1 -1 -0 0 -0 -1 -2 -4 -5 -6 -7 -7 -7 -6 -4 -2 -1 -0 -0 -1 -2 -3 -5 -7 -9 -10 -9 -4 1 4 6 6 4 1 -3 -7 -12 -17 -18 -16 -13 -9 -8 -10 -11 -10 -7 -7 -9 -9 -8 -6 -5 -7 -7 -6 -4 -2 -3 -5 -7 -6 -6 -7 -10 -13 -16 -18 -16 -11 -5 -2 -3 -6 -9 -10 -8 -5 -2 0 1 1 3 5 5 4 4 2 1 2 2 2 -0 -1 -1 -1 -2 -6 -11 -13 -13 -10 -6 -1 3 4 3 -3 -5 -4 -0 2 3 3 1 -1 -4 -6 -4 -2 -1 -3 -9 -14 -15 -10 -2 2 -0 -2 -1 2 2 1 0 1 2 7 9 7 2 -5 -10 -15 -18 -20 -21 -15 -6 -1 -1 -5 -14 -19 -20 -17 -15 -12 -8 -5 -6 -9 -13 -15 -15 -13 -12 -12 -10 -5 -2 -1 -6 -12 -17 -18 -15 -16 -16 -16 -15 -15 -13 -14 -17 -21 -23 -21 -19 -19 -19 -20 -21 -23 -23 -24 -26 -23 -21 -20 -20 -20 -21 -21 -21 -21 -19 -19 -18 -19 -19 -18 -18 -18 -17 -17 -18 -18 -20 -20 -18 -17 -14 -13 -15 -17 -17 -15 -14 -14 -15 -15 -15 -15 -16 -18 -18 -15 -14 -14 -14 -13 -13 -13 -14 -15 -17 -18 -18 -18 -17 -16 -14 -14 -12 -10 -11 -11 -14 -16 -17 -19 -20 -21 -20 -19 -17 -14 -13 -13 -15 -16 -17 -18 -20 -23 -24 -20 -15 -12 -12 -14 -17 -20 -22 -20 -19 -17 -17 -19 -21 -22 -22 -22 -22 -22 -21 -21 -22 -23 -25 -27 -29 -31 -33 -35 -37 -35 -32 -28 -23 -19 -17 -17 -18 -20 -21 -19 -17 -17 -17 -13 -8 -3 0 2 4 6 6 2 -5 -11 -13 -15 -16 -16 -14 -12 -9 -7 -6 -4 -2 0 3 7 10 10 8 4 1 -6 -4 -1 1 1 1 -0 -2 -5 -7 -10 -11 -13 -12 -11 -10 -8 -8 -9 -10 -9 -8 -8 -9 -10 -9 -9 -8 -7 -6 -5 -5 -6 -6 -6 -6 -6 -7 -6 -7 -8 -10 -11 -10 -7 -5 -5 -5 -6 -5 -3 -1 -0 1 1 1 1 -0 0 -0 -1 -1 -1 0 0 -0 -1 -2 -3 -4 -5 -5 -5 -6 -6 -5 -4 -2 -1 -1 -0 -1 -2 -3 -4 -6 -8 -9 -8 -4 -0 3 5 6 4 0 -4 -9 -14 -16 -16 -15 -12 -8 -9 -10 -9 -7 -5 -7 -9 -10 -9 -7 -8 -9 -8 -6 -3 -2 -3 -5 -6 -5 -5 -6 -9 -13 -17 -19 -16 -11 -5 0 -0 -4 -8 -10 -7 -3 0 2 3 5 7 6 4 2 0 -1 -0 2 4 3 2 2 2 1 -3 -8 -12 -13 -12 -9 -6 -3 -0 2 1 -2 -4 -2 1 3 4 3 2 -0 -3 -5 -5 -5 -5 -8 -13 -17 -16 -9 -1 -2 -4 -4 -1 3 5 5 4 2 2 5 7 6 1 -6 -12 -16 -19 -22 -20 -12 -6 -3 -3 -8 -14 -17 -17 -16 -15 -11 -8 -7 -8 -12 -14 -13 -12 -12 -13 -13 -11 -7 -3 -3 -9 -16 -19 -18 -16 -17 -16 -15 -15 -15 -15 -17 -20 -22 -23 -21 -20 -20 -20 -21 -20 -20 -20 -24 -22 -19 -18 -19 -21 -21 -22 -22 -21 -20 -20 -19 -19 -19 -19 -19 -19 -18 -17 -16 -14 -17 -17 -15 -14 -11 -11 -13 -17 -18 -17 -17 -16 -15 -15 -16 -16 -17 -18 -18 -16 -15 -16 -16 -15 -14 -14 -14 -16 -18 -18 -19 -18 -18 -16 -16 -16 -15 -13 -12 -12 -13 -14 -16 -19 -20 -20 -18 -17 -16 -14 -13 -13 -14 -17 -18 -18 -20 -22 -23 -19 -15 -13 -14 -14 -17 -21 -22 -20 -20 -18 -18 -19 -20 -22 -23 -23 -23 -24 -22 -23 -24 -25 -26 -26 -27 -28 -30 -33 -35 -34 -31 -29 -26 -23 -21 -20 -21 -22 -24 -23 -21 -19 -19 -16 -11 -8 -6 -2 2 5 6 4 -1 -6 -10 -12 -13 -14 -13 -12 -10 -9 -9 -8 -6 -3 3 9 12 12 9 3 -1 -3 -1 1 2 2 1 -0 -2 -5 -7 -8 -9 -10 -11 -11 -11 -11 -10 -10 -10 -9 -8 -7 -8 -8 -7 -6 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -6 -4 -4 -6 -7 -8 -6 -5 -4 -4 -5 -4 -3 -2 -0 0 1 1 0 -1 -1 -0 -1 -1 -1 1 1 1 0 -1 -2 -4 -4 -4 -4 -4 -4 -5 -4 -4 -3 -2 -0 0 -1 -2 -2 -3 -5 -7 -9 -8 -5 -2 2 6 6 4 -0 -5 -10 -13 -14 -15 -13 -10 -9 -9 -9 -7 -4 -4 -6 -9 -11 -10 -10 -9 -8 -7 -5 -3 -2 -3 -5 -6 -5 -4 -5 -9 -14 -18 -19 -17 -12 -3 2 2 -2 -7 -8 -3 1 3 3 6 9 9 6 2 -1 -4 -4 -2 2 4 4 4 5 4 1 -5 -10 -13 -12 -9 -7 -6 -5 -2 0 -1 -2 -3 -1 1 3 4 4 4 2 -1 -5 -9 -12 -12 -11 -13 -16 -14 -5 -3 -5 -8 -7 -2 4 8 9 6 1 1 4 7 6 0 -6 -12 -16 -20 -21 -18 -13 -8 -5 -5 -8 -12 -16 -18 -18 -15 -12 -8 -7 -11 -13 -13 -12 -12 -13 -14 -14 -13 -10 -7 -9 -14 -18 -19 -17 -17 -17 -16 -16 -16 -16 -16 -17 -18 -19 -19 -21 -22 -20 -20 -18 -17 -18 -20 -21 -19 -16 -16 -19 -22 -23 -23 -21 -19 -22 -21 -19 -19 -19 -19 -19 -18 -18 -17 -15 -14 -14 -14 -14 -13 -13 -14 -18 -18 -18 -18 -17 -16 -16 -17 -18 -18 -18 -17 -17 -17 -18 -18 -17 -14 -14 -15 -17 -18 -18 -18 -18 -17 -16 -16 -16 -16 -15 -14 -13 -13 -14 -15 -17 -18 -17 -16 -15 -16 -16 -15 -14 -14 -18 -19 -20 -21 -20 -19 -17 -14 -13 -14 -16 -18 -18 -17 -16 -20 -21 -19 -18 -18 -21 -23 -23 -24 -25 -24 -25 -25 -25 -26 -26 -26 -26 -28 -30 -31 -29 -26 -26 -28 -27 -25 -24 -24 -24 -24 -24 -23 -21 -19 -18 -15 -14 -12 -7 -1 3 6 4 -1 -4 -7 -8 -10 -12 -12 -11 -10 -8 -8 -8 -8 -6 1 7 12 13 9 2 -2 -0 0 1 2 2 1 -0 -2 -4 -6 -7 -8 -9 -10 -11 -12 -12 -11 -10 -9 -8 -7 -7 -7 -7 -5 -4 -4 -4 -5 -5 -6 -7 -9 -10 -10 -8 -7 -6 -5 -5 -5 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -1 -2 -2 -2 -2 -1 -0 2 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -4 -5 -6 -6 -4 -2 0 1 -0 -1 -2 -3 -5 -6 -7 -8 -8 -6 -1 3 5 3 -1 -6 -10 -12 -13 -13 -10 -9 -10 -11 -10 -6 -4 -3 -4 -7 -10 -10 -10 -9 -7 -6 -4 -3 -3 -4 -6 -6 -5 -4 -6 -12 -16 -18 -20 -19 -12 -2 3 2 -3 -6 -4 1 4 4 5 8 9 8 5 1 -4 -7 -8 -4 0 3 5 7 7 6 0 -6 -11 -13 -9 -7 -6 -7 -6 -3 -0 -0 -1 -2 -2 -0 3 5 7 7 4 -1 -9 -17 -18 -13 -11 -12 -15 -8 -3 -4 -9 -12 -9 -3 5 10 11 4 -0 0 4 8 6 1 -5 -10 -15 -20 -20 -18 -15 -11 -7 -6 -8 -13 -18 -19 -17 -13 -9 -8 -10 -11 -12 -12 -12 -13 -14 -14 -14 -13 -12 -12 -13 -16 -18 -17 -17 -17 -17 -16 -16 -17 -17 -15 -13 -14 -17 -19 -20 -20 -20 -20 -20 -21 -21 -21 -20 -18 -15 -18 -23 -24 -23 -21 -19 -22 -22 -20 -19 -19 -19 -19 -19 -19 -20 -19 -16 -12 -12 -13 -16 -17 -18 -19 -19 -19 -19 -18 -18 -17 -18 -18 -18 -18 -17 -17 -18 -19 -19 -19 -16 -13 -13 -15 -16 -17 -16 -16 -15 -15 -16 -16 -16 -16 -15 -14 -14 -13 -14 -14 -14 -14 -15 -16 -18 -20 -20 -18 -15 -17 -19 -21 -22 -19 -17 -14 -13 -13 -14 -17 -19 -16 -11 -12 -19 -22 -20 -17 -18 -21 -23 -24 -25 -25 -25 -26 -27 -27 -27 -27 -26 -25 -26 -27 -27 -23 -20 -22 -28 -29 -28 -27 -28 -27 -25 -25 -25 -24 -20 -18 -18 -19 -18 -13 -7 -1 4 5 -1 -5 -7 -7 -8 -11 -11 -10 -9 -6 -5 -6 -8 -9 -4 2 7 11 10 2 -4 -0 -0 0 1 1 1 -1 -2 -4 -6 -7 -8 -8 -9 -10 -11 -11 -10 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -5 -5 -5 -6 -7 -9 -11 -12 -11 -9 -8 -9 -7 -6 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 -0 -1 -1 -1 -2 -2 -2 -3 -3 -2 -0 2 3 3 2 2 0 -1 -2 -2 -2 -2 -3 -4 -5 -7 -8 -7 -4 -1 1 1 0 -0 -2 -3 -4 -5 -6 -8 -8 -7 -3 0 2 1 -1 -5 -9 -10 -10 -9 -8 -9 -10 -11 -9 -5 -2 -1 -2 -5 -8 -9 -8 -6 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -9 -13 -16 -19 -22 -18 -9 -1 2 -1 -6 -6 -1 4 5 5 6 7 8 7 5 -1 -6 -10 -11 -7 -1 3 6 8 10 7 0 -7 -11 -9 -6 -5 -7 -9 -7 -2 0 0 -1 -3 -3 -1 3 7 9 9 3 -5 -15 -19 -16 -14 -13 -16 -12 -5 -2 -5 -12 -14 -10 -3 6 12 7 2 -1 1 7 10 7 3 -2 -9 -15 -18 -18 -18 -16 -12 -8 -7 -10 -16 -19 -17 -13 -9 -9 -10 -10 -11 -12 -12 -13 -13 -14 -15 -15 -14 -14 -13 -13 -15 -15 -15 -16 -18 -17 -16 -18 -19 -17 -13 -14 -16 -18 -19 -21 -20 -19 -20 -22 -22 -21 -21 -21 -19 -23 -25 -24 -23 -24 -23 -24 -23 -22 -20 -20 -20 -19 -19 -19 -20 -20 -16 -12 -12 -13 -15 -17 -19 -19 -20 -20 -20 -20 -19 -19 -19 -19 -19 -17 -17 -18 -19 -20 -20 -19 -18 -15 -12 -11 -14 -16 -16 -15 -14 -14 -15 -15 -16 -16 -15 -15 -14 -13 -13 -12 -13 -13 -15 -17 -21 -23 -23 -22 -19 -17 -18 -20 -21 -18 -15 -13 -13 -13 -14 -16 -18 -18 -14 -14 -18 -21 -20 -17 -19 -21 -24 -25 -24 -24 -24 -26 -27 -28 -28 -28 -27 -27 -27 -27 -26 -21 -17 -20 -27 -30 -31 -30 -31 -29 -27 -26 -26 -26 -24 -21 -20 -22 -22 -18 -13 -7 0 4 -0 -6 -9 -8 -8 -10 -11 -11 -9 -5 -3 -4 -7 -10 -9 -5 0 5 8 4 -1 -1 -1 -0 1 1 -0 -1 -3 -4 -7 -8 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -13 -15 -13 -9 -7 -6 -7 -7 -6 -5 -3 -2 -1 -0 1 2 1 0 -0 -1 -2 -3 -3 -3 -3 -1 1 2 3 3 3 1 -0 -1 -2 -2 -2 -3 -4 -6 -8 -9 -8 -6 -3 -0 0 0 -0 -1 -2 -3 -3 -4 -6 -7 -8 -7 -5 -3 -2 -2 -4 -6 -8 -8 -7 -6 -7 -8 -9 -8 -6 -4 -2 -0 -0 -3 -6 -6 -4 -1 -0 -1 -3 -4 -4 -4 -4 -4 -5 -8 -11 -14 -17 -19 -17 -12 -7 -2 -1 -7 -9 -4 3 8 7 6 5 5 6 6 4 -1 -7 -12 -12 -8 -3 1 5 9 11 8 1 -6 -7 -6 -4 -6 -9 -9 -6 -2 0 0 -2 -4 -4 -2 3 7 9 7 0 -9 -15 -16 -15 -16 -19 -18 -10 -3 -1 -6 -12 -12 -8 0 7 7 4 1 1 6 11 13 11 6 -1 -8 -12 -14 -16 -16 -14 -11 -10 -10 -13 -16 -15 -12 -10 -10 -9 -10 -10 -11 -12 -13 -14 -15 -16 -16 -16 -15 -14 -12 -12 -13 -13 -15 -18 -18 -17 -18 -20 -19 -16 -16 -16 -17 -19 -21 -22 -21 -22 -24 -23 -21 -20 -21 -22 -24 -25 -23 -23 -27 -26 -26 -25 -24 -23 -21 -21 -20 -20 -21 -20 -19 -16 -14 -14 -16 -17 -18 -19 -19 -20 -21 -21 -21 -20 -20 -20 -21 -20 -19 -18 -19 -20 -20 -20 -20 -19 -17 -14 -10 -12 -14 -16 -16 -14 -13 -14 -15 -15 -15 -15 -14 -13 -13 -12 -12 -13 -14 -16 -18 -21 -21 -21 -24 -22 -19 -18 -18 -18 -16 -14 -12 -12 -13 -14 -16 -18 -19 -18 -19 -20 -21 -20 -19 -20 -22 -25 -25 -23 -22 -23 -24 -26 -27 -28 -28 -27 -27 -28 -27 -25 -22 -18 -20 -26 -31 -32 -32 -32 -31 -30 -29 -28 -27 -26 -25 -25 -26 -26 -23 -19 -13 -6 1 -0 -5 -10 -11 -9 -9 -10 -10 -8 -5 -3 -3 -5 -9 -11 -11 -8 -3 3 2 1 -3 -2 -2 -1 -1 -2 -3 -4 -6 -9 -9 -8 -7 -5 -3 -4 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -6 -6 -7 -7 -7 -7 -6 -7 -10 -13 -16 -17 -15 -12 -9 -7 -7 -8 -8 -7 -5 -3 -1 -1 0 2 2 2 1 1 -0 -1 -2 -3 -3 -2 -1 -0 1 2 3 3 2 1 1 0 -1 -2 -3 -5 -7 -9 -10 -9 -7 -4 -2 -1 -0 -1 -1 -1 -2 -2 -2 -3 -5 -6 -8 -8 -7 -6 -5 -5 -6 -7 -7 -5 -3 -2 -3 -5 -6 -6 -6 -5 -3 -0 -0 -2 -4 -3 1 4 3 0 -3 -5 -4 -4 -4 -5 -6 -8 -11 -13 -15 -12 -10 -7 -5 -3 -8 -12 -10 -2 8 10 9 6 4 3 4 5 3 -1 -7 -11 -10 -8 -5 -3 1 8 12 11 3 -3 -4 -4 -4 -7 -10 -9 -5 -2 0 -1 -3 -5 -5 -3 2 6 7 4 -3 -10 -14 -16 -18 -21 -23 -18 -9 -1 -0 -5 -8 -8 -4 0 3 3 2 0 2 8 13 15 12 6 -1 -6 -11 -14 -13 -13 -14 -14 -12 -11 -13 -12 -10 -9 -10 -9 -10 -10 -11 -11 -13 -14 -16 -17 -17 -17 -16 -16 -14 -12 -12 -12 -14 -18 -20 -20 -19 -19 -17 -16 -16 -17 -17 -19 -21 -22 -23 -24 -26 -25 -20 -18 -20 -23 -24 -24 -24 -26 -30 -30 -30 -28 -27 -27 -24 -22 -21 -21 -22 -21 -19 -18 -18 -17 -19 -20 -20 -20 -20 -21 -21 -21 -21 -21 -20 -21 -21 -22 -21 -21 -21 -21 -21 -20 -20 -20 -19 -17 -12 -11 -12 -15 -16 -15 -14 -13 -14 -15 -15 -14 -14 -14 -13 -12 -12 -14 -16 -17 -19 -20 -20 -21 -24 -23 -21 -19 -18 -16 -14 -12 -11 -12 -13 -14 -16 -18 -19 -18 -19 -20 -20 -20 -19 -21 -25 -27 -25 -23 -22 -22 -22 -24 -25 -26 -26 -26 -26 -28 -28 -27 -25 -23 -24 -27 -30 -32 -33 -32 -33 -33 -33 -30 -28 -27 -27 -27 -27 -28 -27 -25 -20 -14 -5 -2 -4 -9 -12 -10 -10 -10 -10 -7 -4 -3 -3 -5 -6 -8 -12 -13 -12 -6 -2 -0 -4 -4 -4 -4 -3 -4 -4 -5 -7 -8 -8 -6 -5 -4 -3 -4 -5 -7 -7 -7 -7 -6 -5 -5 -6 -6 -6 -7 -8 -10 -10 -11 -11 -11 -11 -11 -11 -12 -11 -8 -5 -5 -6 -7 -7 -5 -4 -3 -1 -0 1 2 2 2 1 1 0 -0 -1 -2 -1 -1 0 0 0 1 2 2 2 3 3 2 1 -0 -3 -5 -7 -9 -10 -10 -8 -5 -2 -1 -1 -1 -1 -0 -1 -1 -1 -1 -2 -4 -6 -8 -10 -10 -10 -9 -9 -9 -9 -6 -2 0 1 -0 -2 -3 -5 -6 -6 -3 -1 -1 -2 -3 2 6 7 5 0 -4 -5 -4 -4 -4 -6 -7 -9 -11 -12 -9 -6 -5 -5 -4 -8 -13 -14 -9 1 10 12 11 7 3 2 3 4 3 -1 -6 -8 -8 -7 -8 -8 -3 6 14 13 5 -0 -2 -3 -4 -8 -10 -9 -5 -1 -0 -1 -2 -4 -5 -4 -0 3 4 -0 -6 -11 -15 -18 -22 -27 -26 -19 -8 0 -0 -2 -3 -3 -3 -1 1 2 -0 -1 2 7 11 13 10 5 -0 -5 -8 -10 -13 -15 -16 -16 -13 -11 -10 -9 -9 -9 -10 -10 -10 -11 -11 -13 -15 -17 -18 -17 -16 -16 -16 -17 -16 -15 -14 -15 -17 -21 -22 -21 -20 -17 -17 -17 -17 -17 -17 -18 -18 -21 -24 -26 -25 -20 -17 -19 -23 -23 -24 -26 -29 -31 -31 -31 -29 -28 -29 -27 -25 -23 -23 -24 -23 -23 -23 -23 -22 -22 -22 -21 -21 -21 -21 -21 -21 -22 -22 -21 -21 -22 -24 -23 -23 -23 -22 -21 -20 -20 -19 -19 -19 -16 -11 -11 -13 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -13 -12 -12 -15 -18 -19 -18 -21 -23 -25 -25 -24 -23 -21 -18 -15 -12 -11 -11 -12 -12 -13 -15 -17 -18 -17 -17 -18 -18 -17 -18 -21 -25 -27 -26 -24 -24 -22 -20 -22 -23 -24 -24 -24 -25 -27 -28 -28 -26 -24 -25 -27 -28 -29 -31 -31 -33 -35 -36 -34 -31 -29 -29 -29 -29 -29 -31 -31 -28 -24 -15 -8 -5 -7 -11 -10 -9 -9 -9 -7 -4 -2 -1 -2 -4 -5 -6 -9 -15 -15 -10 -5 -5 -4 -5 -5 -4 -5 -5 -6 -6 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -5 -6 -8 -9 -9 -8 -7 -8 -9 -9 -10 -10 -9 -8 -7 -6 -5 -6 -5 -4 -4 -5 -4 -4 -3 -3 -2 -1 1 2 2 3 2 1 1 1 -0 -1 -2 -1 -0 1 0 0 1 1 2 3 4 4 4 4 2 -1 -4 -6 -8 -10 -11 -9 -7 -4 -1 -0 -1 -1 -1 -1 -2 -1 -0 0 -1 -3 -7 -11 -13 -13 -12 -12 -12 -13 -10 -6 -2 0 2 3 1 -1 -3 -6 -7 -4 -2 -2 -3 -0 5 9 9 6 0 -3 -4 -4 -4 -6 -8 -9 -11 -12 -8 -4 -2 -2 -3 -7 -11 -14 -13 -7 3 10 13 12 8 4 3 3 4 3 -0 -3 -5 -6 -7 -11 -11 -6 3 13 12 8 3 0 -1 -4 -8 -10 -9 -5 -3 -1 -1 -1 -3 -5 -4 -2 1 -1 -4 -8 -12 -16 -21 -28 -32 -29 -19 -6 -0 2 2 1 -2 -2 -1 1 0 -2 -1 1 4 7 8 7 5 1 -3 -6 -11 -15 -17 -17 -16 -12 -9 -7 -8 -9 -10 -10 -10 -11 -12 -13 -15 -17 -18 -15 -14 -15 -17 -18 -19 -18 -16 -15 -16 -20 -22 -21 -19 -17 -17 -18 -18 -18 -16 -12 -13 -15 -20 -24 -22 -19 -18 -21 -23 -23 -25 -26 -28 -28 -28 -29 -28 -27 -28 -28 -27 -25 -24 -24 -24 -24 -25 -26 -25 -24 -23 -22 -21 -22 -22 -22 -22 -23 -23 -22 -23 -24 -25 -25 -24 -23 -22 -22 -20 -19 -19 -18 -18 -17 -14 -11 -11 -14 -15 -16 -16 -16 -14 -14 -14 -14 -14 -13 -12 -12 -14 -17 -18 -17 -21 -25 -26 -26 -25 -24 -22 -18 -14 -12 -12 -12 -12 -11 -12 -13 -15 -16 -15 -15 -16 -16 -15 -16 -18 -22 -25 -26 -25 -24 -22 -19 -20 -23 -24 -24 -24 -25 -26 -27 -28 -27 -23 -23 -24 -26 -26 -28 -29 -33 -36 -38 -38 -37 -34 -33 -33 -33 -34 -35 -35 -34 -32 -26 -19 -11 -7 -8 -8 -8 -8 -8 -6 -4 -1 0 -0 -1 -2 -2 -0 1 -13 -15 -14 -4 -4 -4 -5 -4 -4 -4 -5 -5 -5 -4 -4 -5 -6 -7 -6 -6 -6 -5 -4 -4 -5 -8 -11 -14 -13 -10 -8 -8 -9 -9 -9 -8 -7 -7 -6 -4 -3 -4 -4 -4 -5 -6 -4 -2 -3 -3 -2 -0 1 2 3 4 4 3 1 0 -1 -2 -3 -2 -1 -0 0 1 2 2 4 5 6 6 7 7 4 1 -2 -5 -7 -9 -11 -11 -10 -6 -2 -0 0 -0 -1 -1 -2 -1 -0 0 0 -1 -4 -9 -14 -15 -14 -14 -15 -16 -15 -11 -7 -3 1 4 5 5 3 -1 -5 -6 -4 -3 -3 -3 2 7 11 10 6 1 -3 -4 -4 -7 -9 -10 -10 -12 -9 -5 -2 -1 -2 -5 -8 -10 -12 -11 -5 3 9 13 12 9 5 3 3 4 3 0 -2 -3 -4 -8 -13 -14 -10 2 9 11 9 6 3 0 -4 -8 -9 -8 -6 -4 -3 -2 -1 -2 -4 -5 -4 -3 -3 -5 -9 -13 -20 -28 -33 -34 -29 -16 -5 1 5 5 1 -1 -1 0 1 -1 -1 -2 -2 -0 3 5 5 4 1 -1 -6 -13 -17 -18 -17 -14 -11 -8 -8 -9 -10 -11 -11 -11 -12 -14 -15 -17 -19 -15 -14 -15 -17 -19 -20 -19 -17 -16 -15 -16 -18 -19 -17 -17 -17 -18 -18 -19 -18 -14 -13 -13 -16 -21 -20 -18 -19 -24 -23 -24 -25 -25 -25 -25 -26 -26 -27 -27 -29 -28 -26 -26 -25 -24 -25 -26 -27 -26 -26 -25 -24 -23 -22 -23 -23 -23 -23 -23 -24 -24 -24 -25 -25 -25 -24 -23 -22 -21 -20 -19 -18 -18 -17 -18 -17 -14 -11 -12 -14 -16 -16 -15 -14 -13 -14 -14 -13 -13 -12 -13 -14 -15 -18 -18 -20 -24 -24 -24 -25 -25 -24 -19 -15 -13 -13 -13 -13 -12 -12 -11 -11 -12 -12 -14 -16 -15 -13 -14 -16 -19 -21 -24 -22 -22 -20 -19 -18 -21 -23 -24 -24 -25 -26 -27 -27 -27 -24 -20 -19 -21 -23 -25 -29 -33 -36 -40 -42 -37 -36 -42 -42 -41 -41 -41 -41 -41 -40 -36 -30 -23 -13 -9 -8 -7 -7 -7 -5 -3 -1 1 2 2 1 -0 0 6 11 -4 -15 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -4 -5 -6 -9 -13 -16 -15 -12 -11 -11 -12 -12 -11 -11 -9 -9 -8 -6 -3 -3 -4 -5 -7 -8 -7 -3 -2 -3 -3 -1 1 2 4 4 4 4 2 1 -1 -2 -3 -3 -3 -2 -2 0 1 3 4 6 7 7 8 8 6 3 0 -3 -5 -8 -10 -11 -11 -9 -6 -2 0 1 1 -0 -1 -1 -0 -0 -0 1 -0 -4 -11 -15 -16 -16 -17 -19 -18 -14 -10 -6 -3 2 6 7 8 6 1 -2 -3 -3 -2 -3 -2 2 8 12 11 7 2 -2 -4 -7 -8 -9 -8 -9 -10 -9 -5 -2 -1 -4 -6 -6 -7 -9 -9 -5 2 9 12 12 9 6 3 3 3 1 -0 -2 -1 -4 -10 -15 -17 -10 -0 6 9 9 7 4 0 -4 -7 -7 -6 -6 -6 -5 -3 -1 -0 -2 -6 -9 -8 -6 -6 -10 -18 -26 -31 -34 -33 -24 -12 -2 4 5 3 1 -0 0 1 -1 -1 -2 -4 -5 -3 -0 2 4 6 5 1 -7 -14 -18 -17 -15 -13 -11 -9 -10 -11 -12 -13 -13 -13 -14 -15 -18 -20 -20 -18 -17 -17 -18 -18 -18 -17 -16 -15 -14 -16 -17 -16 -17 -18 -19 -19 -19 -19 -19 -19 -19 -20 -21 -20 -19 -20 -25 -23 -23 -24 -25 -25 -25 -25 -26 -27 -28 -30 -28 -27 -26 -27 -26 -26 -25 -26 -25 -25 -25 -24 -24 -23 -24 -24 -23 -24 -23 -25 -25 -25 -24 -25 -25 -24 -23 -21 -20 -19 -18 -18 -17 -17 -17 -18 -17 -13 -11 -13 -15 -16 -15 -14 -13 -13 -14 -13 -13 -13 -13 -14 -15 -19 -21 -22 -23 -22 -22 -24 -26 -26 -23 -19 -16 -15 -15 -14 -14 -13 -13 -13 -12 -13 -15 -16 -15 -12 -13 -15 -16 -19 -20 -19 -18 -18 -19 -20 -21 -22 -24 -26 -27 -27 -27 -28 -26 -25 -19 -15 -15 -18 -22 -28 -34 -39 -43 -39 -14 -14 -38 -32 -25 -24 -23 -18 -7 1 6 -5 -33 -23 -15 -10 -7 -7 -6 -3 -1 1 1 2 3 3 2 0 1 8 15 20 -4 -4 -4 -4 -5 -4 -4 -3 -4 -5 -4 -4 -4 -4 -5 -4 -4 -4 -4 -4 -5 -6 -8 -11 -13 -13 -13 -14 -16 -17 -15 -13 -11 -9 -9 -9 -7 -6 -5 -6 -7 -7 -8 -6 -3 -2 -2 -3 -1 -0 2 4 5 5 5 4 2 1 -1 -2 -3 -3 -3 -3 -1 -0 1 3 5 6 7 7 7 6 5 3 1 -2 -6 -8 -9 -10 -10 -8 -5 -3 0 2 1 -0 -1 -0 -0 -0 0 0 -2 -6 -12 -15 -17 -18 -20 -21 -18 -14 -9 -5 -1 3 6 7 7 6 4 3 3 3 1 -1 -1 2 7 11 11 8 3 -2 -5 -7 -6 -5 -5 -8 -9 -9 -6 -4 -6 -7 -5 -4 -4 -8 -8 -4 2 7 10 10 9 5 3 2 1 -1 -2 -1 -1 -6 -12 -17 -15 -9 -1 5 8 9 7 4 0 -3 -5 -5 -5 -6 -7 -5 -2 1 1 -3 -10 -12 -9 -6 -6 -13 -20 -26 -30 -33 -28 -17 -6 1 3 3 2 1 1 0 -1 -2 -2 -4 -6 -6 -5 -3 -0 5 10 8 1 -8 -16 -18 -17 -15 -12 -10 -11 -12 -13 -14 -14 -14 -14 -15 -17 -19 -21 -21 -19 -18 -18 -17 -17 -17 -17 -16 -15 -15 -15 -16 -17 -19 -20 -20 -20 -20 -20 -20 -21 -21 -22 -22 -23 -23 -25 -23 -23 -24 -25 -26 -26 -26 -26 -27 -30 -30 -29 -28 -28 -28 -28 -27 -26 -25 -25 -25 -26 -26 -26 -26 -25 -24 -24 -25 -25 -25 -25 -24 -23 -23 -24 -24 -23 -22 -20 -19 -18 -17 -17 -16 -16 -17 -18 -18 -13 -13 -14 -16 -15 -15 -13 -13 -13 -14 -14 -14 -14 -15 -17 -19 -20 -22 -23 -22 -22 -23 -25 -26 -26 -23 -20 -18 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -14 -12 -12 -13 -15 -16 -17 -17 -17 -18 -20 -22 -21 -20 -20 -24 -26 -27 -28 -30 -27 -26 -22 -15 -7 -11 -18 -26 -33 -39 -44 -36 5 41 43 41 37 24 14 17 29 34 34 25 5 -17 -18 -13 -8 -5 -5 -2 0 2 1 2 3 4 4 2 -0 1 6 14 -4 -4 -4 -5 -6 -4 -3 -2 -3 -4 -4 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -8 -9 -10 -11 -13 -14 -14 -14 -10 -7 -5 -5 -8 -10 -13 -13 -11 -8 -7 -7 -6 -4 -1 -2 -3 -3 -2 -0 2 4 5 6 6 5 4 3 1 -1 -2 -2 -2 -2 -1 0 2 3 4 6 6 6 5 4 4 4 3 1 -3 -5 -7 -8 -8 -7 -6 -5 -2 -0 1 0 -1 -1 -0 -0 -1 -0 -1 -3 -8 -12 -15 -17 -19 -21 -20 -16 -12 -9 -5 1 4 5 5 5 4 5 7 11 10 7 2 -1 0 5 10 11 8 2 -2 -4 -5 -4 -2 -3 -5 -7 -7 -7 -9 -10 -9 -6 -2 -5 -7 -5 -1 2 5 8 9 8 5 3 1 -2 -4 -4 -3 -4 -6 -11 -13 -10 -6 -1 4 7 7 5 2 -1 -2 -2 -3 -4 -6 -6 -4 -1 1 -1 -7 -12 -13 -11 -8 -8 -12 -19 -25 -29 -27 -19 -9 -0 2 1 1 1 2 1 -1 -2 -2 -3 -5 -7 -8 -8 -7 -2 6 11 8 0 -10 -16 -18 -17 -14 -11 -11 -12 -13 -14 -14 -14 -13 -14 -16 -18 -20 -21 -20 -19 -19 -18 -17 -18 -19 -18 -17 -16 -16 -16 -16 -19 -21 -22 -21 -21 -21 -21 -21 -21 -22 -25 -25 -24 -23 -23 -23 -24 -25 -26 -26 -25 -26 -27 -29 -29 -29 -29 -29 -30 -29 -28 -27 -26 -24 -24 -26 -28 -28 -28 -27 -26 -24 -25 -25 -23 -23 -23 -22 -22 -23 -23 -23 -22 -21 -20 -18 -17 -16 -16 -16 -16 -17 -18 -16 -14 -14 -15 -16 -15 -14 -13 -14 -14 -15 -15 -16 -17 -20 -20 -20 -21 -23 -24 -24 -24 -24 -25 -26 -26 -24 -21 -19 -18 -17 -16 -17 -18 -16 -14 -13 -12 -11 -11 -12 -13 -14 -14 -16 -17 -17 -18 -21 -23 -21 -18 -17 -18 -23 -25 -26 -28 -28 -27 -26 -19 -3 -2 -10 -20 -29 -36 -42 -41 -2 45 46 44 41 38 35 32 35 38 38 36 31 8 -5 -10 -8 -5 -3 -1 1 2 1 1 2 3 4 4 1 -2 -2 0 -4 -4 -5 -5 -6 -4 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -4 -5 -5 -6 -7 -8 -9 -10 -11 -12 -12 -11 -8 -6 -5 -5 -6 -8 -9 -12 -14 -14 -12 -9 -7 -6 -4 -3 -2 -3 -4 -3 -3 -1 0 2 3 5 5 5 5 4 2 1 -0 -1 -1 -1 -0 1 2 3 4 5 5 5 4 3 4 4 4 2 -0 -3 -4 -6 -6 -6 -6 -5 -4 -2 -1 -1 -1 -1 -0 1 0 -0 0 -0 -3 -7 -11 -14 -16 -19 -19 -17 -14 -12 -9 -3 2 4 3 2 1 1 4 11 16 16 11 4 -2 -1 3 8 9 5 -0 -3 -5 -6 -6 -4 -2 -1 -3 -6 -9 -12 -13 -11 -6 -6 -6 -5 -1 1 2 5 7 7 5 3 1 -2 -6 -9 -9 -6 -3 -2 -5 -5 -5 -3 0 4 6 5 3 0 -0 0 1 -0 -2 -5 -5 -4 -3 -2 -5 -9 -13 -17 -16 -8 -7 -10 -17 -24 -26 -21 -12 -2 2 1 -1 -1 0 1 -0 -1 -2 -2 -4 -7 -9 -10 -12 -13 -5 5 11 10 0 -9 -14 -16 -15 -13 -12 -12 -13 -14 -15 -14 -14 -14 -15 -16 -18 -20 -20 -18 -18 -17 -17 -18 -19 -20 -19 -18 -18 -16 -16 -18 -21 -23 -22 -22 -22 -22 -22 -21 -22 -25 -26 -24 -22 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -26 -26 -27 -30 -32 -31 -30 -29 -27 -25 -24 -25 -27 -27 -27 -27 -26 -23 -20 -21 -20 -21 -22 -22 -22 -22 -22 -22 -22 -21 -20 -19 -18 -16 -16 -16 -16 -16 -17 -17 -15 -14 -14 -15 -16 -15 -14 -14 -15 -15 -16 -17 -19 -22 -21 -21 -22 -23 -25 -26 -25 -24 -23 -24 -25 -26 -25 -24 -21 -18 -18 -19 -19 -16 -14 -13 -11 -10 -11 -12 -13 -13 -13 -15 -16 -18 -19 -22 -22 -21 -18 -16 -14 -18 -21 -24 -25 -28 -27 -27 -24 -11 3 0 -9 -21 -31 -38 -43 -30 -0 45 45 44 42 40 37 35 37 37 35 30 21 7 -5 -8 -6 -5 -3 -1 -0 -2 -2 -1 1 3 4 2 -1 -4 -5 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -9 -10 -11 -12 -11 -10 -7 -5 -4 -7 -9 -10 -10 -9 -10 -10 -10 -10 -9 -7 -5 -3 -3 -3 -4 -5 -5 -4 -3 -2 -0 1 2 3 4 4 4 3 2 1 0 -0 0 1 2 3 3 4 4 4 4 3 3 3 3 3 2 -0 -1 -2 -3 -4 -5 -5 -4 -3 -3 -3 -2 -3 -3 -2 0 1 2 2 2 -0 -3 -6 -10 -12 -14 -16 -15 -14 -13 -12 -7 -2 3 3 2 -0 -2 -1 4 13 19 19 13 3 -1 -1 3 7 6 2 -1 -3 -6 -10 -9 -5 -1 1 -1 -5 -10 -14 -14 -10 -8 -7 -5 -2 0 1 3 6 7 6 4 1 -2 -6 -11 -15 -14 -9 -1 2 3 3 2 1 3 5 6 4 1 -0 1 3 4 3 1 -2 -5 -6 -5 -5 -7 -12 -20 -25 -15 -7 -6 -10 -17 -22 -22 -15 -5 1 1 -1 -2 -2 -1 -1 -1 -0 0 -1 -5 -7 -9 -11 -13 -13 -5 5 13 10 4 -3 -9 -13 -13 -13 -14 -15 -16 -16 -16 -15 -14 -14 -15 -17 -18 -19 -18 -18 -17 -17 -18 -20 -22 -23 -23 -22 -18 -16 -17 -19 -22 -23 -23 -23 -24 -24 -22 -22 -24 -26 -24 -23 -24 -24 -25 -25 -25 -25 -26 -26 -26 -26 -25 -25 -27 -30 -34 -33 -30 -30 -30 -28 -26 -25 -25 -24 -24 -26 -26 -23 -20 -19 -19 -20 -22 -22 -22 -22 -22 -21 -20 -20 -20 -19 -18 -16 -16 -15 -15 -15 -16 -16 -16 -16 -15 -15 -16 -16 -15 -14 -15 -15 -16 -18 -20 -23 -23 -24 -25 -25 -25 -25 -25 -24 -23 -22 -23 -24 -26 -26 -23 -21 -20 -20 -19 -16 -14 -13 -12 -11 -12 -13 -13 -15 -15 -14 -15 -16 -19 -22 -22 -21 -20 -18 -14 -14 -17 -22 -24 -26 -27 -27 -25 -29 -4 5 2 -12 -24 -32 -41 -46 -38 30 43 46 46 44 41 37 30 23 19 12 9 2 -8 -13 -12 -10 -8 -5 -3 -3 -5 -5 -4 -1 2 2 1 -2 -2 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -8 -9 -10 -10 -9 -8 -7 -7 -6 -7 -10 -12 -12 -11 -10 -9 -8 -8 -7 -7 -5 -3 -2 -2 -3 -4 -5 -6 -6 -4 -3 -2 -1 0 1 2 3 4 4 4 2 1 1 1 2 3 4 4 5 5 5 4 3 2 2 2 2 0 -1 -1 -1 -1 -3 -4 -5 -3 -2 -1 -3 -3 -4 -4 -5 -4 -1 3 5 5 2 0 -2 -5 -8 -9 -11 -12 -13 -12 -13 -11 -6 -1 3 4 2 -2 -5 -4 3 13 18 18 11 4 0 1 4 5 2 1 -1 -3 -8 -12 -11 -7 -1 2 0 -5 -12 -17 -15 -11 -8 -6 -3 -1 -0 2 5 7 7 4 0 -3 -7 -10 -15 -18 -18 -13 -5 2 8 10 8 5 5 6 6 2 -0 -0 1 4 6 7 3 -2 -6 -7 -6 -6 -11 -20 -30 -24 -14 -7 -6 -12 -18 -20 -16 -8 -1 0 -1 -2 -3 -4 -4 -3 -2 0 1 -2 -4 -6 -8 -12 -16 -16 -9 2 8 9 7 2 -5 -9 -11 -14 -15 -16 -17 -18 -17 -15 -15 -17 -18 -18 -18 -17 -17 -17 -17 -19 -21 -24 -26 -28 -27 -22 -19 -18 -18 -20 -23 -23 -24 -26 -28 -25 -23 -24 -26 -25 -25 -26 -26 -26 -26 -25 -25 -25 -25 -26 -27 -27 -27 -28 -31 -33 -31 -28 -28 -32 -31 -28 -26 -25 -23 -23 -25 -26 -25 -23 -23 -22 -21 -22 -22 -23 -23 -22 -21 -20 -20 -20 -20 -18 -17 -16 -15 -14 -15 -16 -15 -16 -16 -17 -17 -18 -17 -15 -13 -14 -15 -17 -19 -21 -24 -26 -27 -28 -27 -27 -26 -25 -24 -24 -23 -22 -21 -21 -23 -23 -23 -22 -20 -17 -15 -14 -14 -14 -13 -12 -12 -13 -16 -17 -17 -16 -16 -19 -22 -24 -23 -21 -19 -16 -13 -13 -17 -23 -24 -26 -28 -26 -22 -24 -10 6 -2 -15 -26 -37 -47 -54 -17 19 42 48 48 45 39 13 -26 -44 -34 -22 -17 -19 -19 -17 -15 -12 -9 -6 -5 -7 -7 -6 -5 -2 0 1 0 1 -4 -4 -4 -4 -3 -4 -4 -3 -3 -4 -4 -4 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -9 -9 -8 -7 -8 -8 -10 -11 -12 -13 -13 -12 -11 -9 -8 -6 -6 -4 -3 -2 -1 -1 -2 -3 -5 -7 -7 -5 -4 -3 -2 -0 1 1 2 3 4 4 3 2 2 2 3 4 4 5 5 6 6 5 4 2 1 0 -0 -1 -3 -3 -1 -0 -1 -3 -5 -4 -1 1 -0 -2 -4 -6 -8 -9 -7 -1 6 9 7 4 1 -1 -3 -4 -6 -9 -10 -10 -11 -11 -10 -6 0 4 4 2 -2 -7 -5 1 8 13 13 7 4 4 6 6 2 0 0 0 -2 -8 -13 -14 -10 -1 3 -1 -9 -17 -18 -14 -10 -6 -4 -2 -1 0 3 6 6 5 1 -4 -7 -9 -12 -16 -20 -21 -16 -9 1 9 13 10 8 7 7 6 2 -0 -1 0 6 10 7 2 -4 -6 -6 -7 -11 -19 -30 -29 -20 -11 -7 -9 -15 -18 -16 -9 -2 -0 -0 -1 -3 -5 -7 -6 -5 -1 2 2 1 -2 -6 -11 -16 -19 -17 -11 -3 4 9 11 10 4 -2 -9 -13 -15 -16 -17 -17 -16 -16 -18 -19 -19 -18 -17 -17 -18 -18 -19 -20 -23 -27 -31 -32 -27 -24 -22 -21 -20 -22 -23 -25 -28 -33 -29 -25 -24 -26 -25 -26 -27 -28 -28 -27 -26 -25 -25 -24 -25 -26 -26 -27 -28 -30 -29 -27 -26 -28 -31 -31 -30 -28 -26 -25 -23 -24 -26 -26 -26 -27 -26 -23 -21 -22 -23 -24 -23 -21 -20 -20 -20 -20 -18 -17 -16 -15 -14 -14 -15 -15 -15 -15 -17 -18 -18 -16 -14 -13 -14 -15 -17 -19 -22 -26 -28 -29 -29 -29 -29 -28 -26 -24 -25 -24 -23 -21 -19 -21 -22 -22 -22 -19 -16 -14 -13 -14 -15 -15 -14 -13 -14 -16 -19 -19 -18 -17 -18 -21 -24 -25 -24 -22 -19 -15 -12 -12 -19 -22 -25 -27 -28 -21 -18 -17 -16 5 -4 -17 -31 -43 -54 -57 -21 19 45 50 48 42 21 -15 -30 -36 -35 -30 -25 -22 -19 -16 -15 -12 -9 -8 -8 -9 -8 -7 -5 -3 -1 0 1 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -9 -10 -10 -11 -12 -12 -13 -13 -12 -11 -10 -9 -7 -6 -4 -3 -2 -1 -1 -1 -2 -3 -5 -7 -7 -7 -6 -6 -5 -3 -0 1 2 2 2 2 2 2 2 2 3 4 4 4 4 5 6 6 5 3 2 1 0 -1 -3 -4 -3 -1 0 -1 -4 -5 -3 0 2 0 -3 -6 -9 -12 -13 -9 -2 6 10 9 7 3 1 -1 -2 -4 -6 -7 -7 -8 -10 -9 -5 0 4 5 3 -3 -6 -5 -2 1 4 2 2 4 8 11 6 1 -0 1 3 -0 -8 -15 -17 -9 1 2 -4 -14 -19 -17 -12 -7 -5 -3 -2 -1 1 4 5 5 3 -2 -7 -8 -10 -13 -17 -21 -21 -18 -11 -1 10 12 9 7 6 7 5 2 0 0 3 7 8 5 -0 -4 -5 -6 -10 -17 -29 -30 -23 -14 -8 -10 -14 -16 -14 -8 -2 -0 -1 -1 -3 -5 -7 -8 -7 -4 -0 3 3 1 -3 -8 -13 -16 -17 -16 -12 -8 -2 5 11 13 10 2 -6 -10 -12 -14 -17 -18 -17 -18 -19 -20 -20 -19 -20 -19 -19 -19 -19 -22 -27 -32 -34 -31 -29 -27 -25 -23 -23 -24 -26 -28 -34 -30 -26 -24 -25 -24 -25 -27 -29 -29 -29 -27 -26 -24 -24 -24 -25 -26 -27 -28 -30 -28 -26 -25 -26 -29 -30 -30 -29 -27 -27 -25 -25 -25 -25 -27 -28 -26 -23 -20 -21 -23 -24 -24 -22 -21 -20 -20 -19 -18 -17 -16 -15 -15 -14 -15 -15 -15 -14 -15 -17 -17 -15 -13 -13 -13 -16 -20 -21 -23 -27 -30 -30 -30 -30 -30 -30 -28 -25 -25 -24 -23 -22 -20 -21 -21 -21 -20 -18 -16 -14 -13 -13 -15 -16 -16 -15 -15 -17 -19 -19 -19 -18 -17 -18 -22 -25 -26 -24 -22 -18 -14 -10 -14 -19 -23 -25 -27 -22 -16 -13 -14 -17 -8 -9 -20 -35 -48 -53 -45 -17 28 46 48 43 31 7 -14 -26 -29 -27 -23 -20 -18 -17 -16 -15 -12 -10 -10 -10 -10 -9 -7 -5 -3 -2 -1 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -4 -4 -6 -7 -7 -7 -8 -11 -13 -13 -13 -13 -12 -11 -11 -10 -9 -7 -6 -5 -5 -3 -1 -1 -1 -2 -4 -4 -5 -6 -7 -7 -7 -9 -11 -12 -10 -6 -2 1 1 1 0 0 1 2 3 4 4 4 3 2 2 3 4 5 4 3 2 0 -1 -2 -3 -3 -2 1 3 -1 -4 -4 -2 1 0 -1 -3 -6 -10 -14 -14 -11 -5 4 9 11 9 5 1 1 0 -2 -3 -3 -4 -6 -8 -8 -3 2 5 6 3 -1 -3 -3 -3 -4 -6 -8 -5 2 11 11 5 -0 -1 4 6 2 -8 -17 -14 -4 1 -1 -9 -18 -19 -15 -10 -6 -4 -3 -1 -0 2 4 5 5 2 -4 -7 -9 -11 -13 -16 -19 -21 -19 -13 -1 7 8 7 5 5 5 4 3 3 4 5 5 4 2 -1 -4 -6 -10 -16 -24 -27 -23 -16 -9 -10 -15 -17 -14 -7 -2 -0 -1 -2 -3 -4 -6 -7 -8 -7 -4 -1 0 0 -3 -6 -9 -13 -15 -16 -16 -15 -13 -9 -0 9 13 11 4 -2 -6 -10 -15 -18 -19 -19 -20 -21 -21 -22 -23 -23 -21 -18 -17 -21 -26 -31 -33 -33 -32 -31 -29 -28 -26 -25 -25 -26 -30 -28 -25 -23 -23 -23 -24 -26 -28 -29 -30 -29 -27 -25 -24 -24 -25 -26 -26 -26 -28 -27 -26 -25 -25 -27 -29 -30 -30 -29 -27 -25 -24 -25 -25 -27 -25 -22 -20 -18 -19 -21 -23 -24 -23 -22 -21 -20 -18 -18 -17 -17 -16 -16 -15 -14 -14 -14 -13 -13 -14 -15 -14 -13 -13 -14 -16 -20 -22 -25 -28 -29 -28 -29 -29 -30 -30 -29 -26 -24 -23 -22 -22 -22 -21 -20 -19 -18 -17 -15 -13 -12 -13 -13 -15 -17 -18 -17 -16 -17 -18 -19 -19 -17 -17 -20 -23 -26 -25 -24 -22 -17 -12 -11 -14 -19 -22 -24 -22 -17 -12 -10 -16 -17 -15 -14 -22 -37 -45 -46 -35 -6 26 37 38 34 26 3 -14 -23 -25 -24 -21 -19 -18 -18 -16 -14 -12 -11 -10 -11 -10 -9 -7 -5 -3 -2 -5 -5 -5 -5 -4 -4 -3 -2 -2 -3 -3 -4 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -8 -9 -11 -14 -16 -17 -16 -13 -9 -7 -6 -5 -4 -3 -3 -4 -4 -2 -1 -2 -4 -5 -5 -6 -8 -9 -8 -6 -8 -12 -16 -17 -14 -8 -3 0 1 -0 -0 0 2 4 5 5 5 4 2 1 1 2 3 4 3 2 1 -1 -3 -4 -3 -1 1 3 2 -1 -3 -4 -2 -0 -0 -1 -3 -6 -10 -14 -15 -13 -8 0 7 10 8 4 3 2 2 0 1 1 -1 -3 -6 -4 -1 2 4 5 3 1 -0 -1 -2 -6 -11 -14 -11 1 10 10 3 -4 -2 6 8 3 -8 -13 -8 -1 1 -5 -15 -19 -17 -12 -9 -6 -4 -2 -1 1 2 5 6 5 1 -4 -7 -9 -10 -11 -14 -18 -20 -20 -13 -1 4 5 4 3 2 2 4 6 7 6 5 3 1 -0 -3 -7 -11 -15 -19 -22 -20 -16 -11 -11 -15 -17 -16 -9 -2 0 -0 -2 -4 -4 -5 -7 -8 -8 -7 -6 -4 -4 -3 -4 -7 -10 -13 -15 -17 -19 -19 -17 -12 -4 5 10 10 6 1 -4 -9 -15 -19 -21 -22 -23 -24 -25 -26 -26 -24 -18 -15 -19 -24 -29 -31 -33 -33 -32 -32 -32 -29 -26 -25 -26 -28 -26 -24 -23 -24 -24 -23 -24 -25 -26 -30 -30 -29 -28 -26 -25 -26 -25 -25 -24 -25 -25 -25 -23 -23 -24 -26 -28 -29 -30 -27 -25 -25 -25 -26 -30 -26 -21 -18 -17 -17 -19 -22 -24 -23 -22 -21 -20 -18 -17 -17 -17 -17 -16 -16 -14 -13 -13 -13 -12 -13 -13 -13 -13 -13 -14 -16 -19 -22 -26 -28 -28 -26 -26 -28 -28 -28 -27 -26 -23 -22 -22 -22 -22 -21 -20 -18 -17 -17 -16 -14 -13 -13 -13 -14 -17 -19 -19 -17 -16 -17 -19 -19 -18 -18 -19 -21 -24 -25 -26 -24 -20 -15 -12 -11 -12 -16 -19 -19 -17 -13 -9 -14 -16 -17 -18 -17 -25 -34 -40 -38 -28 -4 14 23 23 26 12 -3 -17 -26 -27 -25 -23 -21 -19 -17 -16 -14 -12 -11 -11 -11 -10 -8 -6 -5 -3 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -5 -6 -7 -8 -8 -8 -8 -9 -13 -16 -17 -16 -11 -6 -4 -4 -4 -3 -3 -4 -4 -4 -3 -3 -4 -5 -5 -5 -7 -9 -11 -9 -6 -6 -8 -12 -14 -14 -11 -7 -3 -1 -2 -1 -1 0 2 4 5 5 5 3 3 2 2 2 2 2 2 1 -2 -4 -5 -4 -2 1 3 4 3 0 -2 -2 0 1 -1 -2 -3 -6 -10 -14 -15 -14 -10 -3 4 7 5 3 1 1 1 2 3 4 2 -1 -3 -2 -1 0 1 3 3 3 2 -0 -3 -7 -13 -16 -11 1 8 7 -0 -5 -1 4 6 0 -9 -9 -5 0 -0 -9 -15 -15 -13 -10 -7 -5 -4 -3 -1 0 3 6 7 4 -0 -4 -7 -9 -10 -11 -14 -17 -19 -18 -9 -1 3 3 2 0 -0 1 5 9 9 7 4 1 -0 -4 -8 -13 -17 -18 -17 -16 -14 -13 -14 -16 -17 -15 -9 -2 0 -0 -2 -5 -6 -6 -6 -7 -8 -9 -8 -7 -6 -5 -5 -6 -8 -11 -14 -18 -20 -20 -18 -16 -13 -8 -0 7 9 8 4 -2 -9 -16 -20 -24 -26 -27 -27 -27 -26 -24 -19 -15 -17 -22 -27 -28 -30 -31 -32 -33 -33 -30 -27 -25 -25 -26 -24 -22 -22 -23 -24 -23 -23 -23 -23 -26 -28 -30 -32 -30 -27 -26 -25 -23 -22 -22 -23 -22 -22 -22 -23 -25 -27 -28 -29 -27 -26 -26 -25 -25 -31 -29 -23 -18 -17 -17 -18 -20 -23 -24 -23 -22 -20 -18 -17 -17 -17 -17 -17 -17 -16 -14 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -17 -21 -25 -27 -27 -25 -25 -25 -26 -26 -26 -25 -24 -22 -21 -21 -22 -21 -20 -18 -15 -17 -17 -17 -17 -15 -14 -15 -18 -20 -20 -18 -17 -16 -17 -18 -18 -18 -18 -18 -21 -24 -25 -25 -22 -18 -14 -11 -10 -11 -14 -15 -14 -12 -11 -13 -13 -14 -17 -19 -22 -27 -32 -34 -27 -18 -8 -0 5 8 4 -3 -10 -23 -28 -27 -25 -23 -20 -18 -16 -15 -13 -12 -11 -11 -10 -8 -7 -6 -5 -4 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -9 -8 -8 -9 -11 -11 -11 -11 -9 -8 -7 -6 -6 -5 -4 -5 -6 -5 -4 -3 -4 -4 -4 -5 -8 -11 -13 -12 -8 -7 -7 -10 -13 -14 -12 -8 -6 -4 -3 -2 -2 -1 1 4 5 5 5 5 4 3 2 2 2 1 1 0 -2 -5 -6 -6 -5 -1 3 6 7 5 2 2 2 1 -1 -3 -2 -3 -6 -10 -13 -15 -15 -11 -6 0 3 2 1 -1 -2 -1 2 4 5 4 1 0 -0 -1 -2 -1 1 3 3 1 -0 -2 -6 -11 -13 -7 0 4 3 -3 -5 -2 1 2 -4 -7 -5 -1 1 -6 -11 -12 -11 -9 -7 -5 -5 -5 -4 -3 1 5 8 8 4 0 -3 -6 -9 -9 -11 -13 -17 -18 -14 -7 -1 1 2 1 -0 -1 2 7 10 10 8 3 -0 -5 -12 -18 -22 -20 -16 -13 -12 -12 -15 -18 -19 -17 -10 -3 -0 -1 -2 -5 -7 -7 -7 -7 -6 -7 -7 -7 -8 -8 -7 -7 -8 -9 -14 -18 -21 -21 -18 -15 -16 -15 -12 -5 3 9 10 6 -2 -9 -15 -20 -25 -28 -28 -27 -25 -24 -21 -18 -18 -20 -23 -25 -27 -30 -31 -33 -33 -30 -27 -25 -24 -23 -21 -21 -21 -22 -23 -23 -22 -22 -23 -25 -26 -28 -31 -32 -28 -26 -24 -23 -22 -22 -22 -21 -21 -21 -22 -24 -25 -25 -27 -27 -28 -28 -25 -24 -29 -28 -23 -18 -18 -17 -17 -18 -20 -23 -23 -22 -20 -19 -17 -16 -16 -17 -18 -18 -17 -15 -13 -12 -12 -12 -11 -11 -11 -12 -13 -15 -17 -20 -24 -27 -27 -25 -24 -24 -24 -25 -25 -25 -24 -22 -21 -21 -21 -21 -20 -18 -15 -16 -19 -20 -20 -17 -15 -15 -18 -20 -19 -18 -16 -15 -16 -17 -18 -18 -18 -16 -18 -21 -23 -25 -24 -21 -16 -12 -11 -11 -11 -11 -10 -11 -12 -13 -13 -12 -13 -18 -22 -25 -28 -30 -26 -19 -13 -9 -7 -9 -13 -13 -8 -16 -24 -27 -26 -24 -22 -20 -18 -16 -14 -13 -12 -11 -10 -8 -7 -7 -6 -3 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -7 -7 -6 -7 -7 -9 -9 -9 -8 -7 -6 -6 -7 -8 -8 -8 -7 -4 -3 -3 -3 -4 -6 -9 -12 -14 -13 -11 -9 -9 -10 -13 -15 -12 -10 -7 -6 -4 -3 -2 -1 1 3 4 5 5 5 5 5 4 3 2 1 1 -0 -2 -3 -5 -7 -8 -6 0 7 10 10 8 7 6 3 -0 -3 -4 -3 -3 -5 -9 -12 -15 -15 -13 -8 -2 0 0 -2 -4 -4 -3 1 4 6 5 3 2 1 -2 -4 -4 -1 2 2 1 -0 -1 -3 -7 -8 -6 -3 1 -1 -5 -6 -5 -2 -5 -6 -5 -1 0 -4 -9 -10 -8 -5 -4 -5 -5 -5 -5 -5 -2 2 8 11 9 5 1 -3 -5 -6 -8 -11 -15 -17 -15 -11 -7 -3 -0 2 1 0 -0 3 8 11 11 8 1 -7 -17 -26 -30 -25 -17 -12 -11 -11 -14 -17 -19 -18 -10 -3 -1 -1 -3 -7 -8 -8 -7 -7 -7 -6 -5 -5 -6 -7 -7 -7 -7 -9 -13 -18 -22 -23 -19 -15 -15 -16 -17 -16 -8 1 8 10 5 -1 -6 -12 -20 -27 -29 -28 -26 -25 -24 -22 -20 -19 -20 -23 -27 -29 -30 -30 -31 -29 -26 -23 -22 -21 -19 -19 -21 -22 -23 -23 -23 -23 -23 -25 -25 -25 -26 -28 -26 -25 -24 -23 -22 -22 -22 -21 -22 -22 -22 -22 -23 -23 -25 -26 -29 -30 -26 -24 -28 -28 -23 -19 -18 -18 -17 -17 -18 -21 -22 -21 -19 -19 -18 -17 -16 -16 -18 -19 -18 -17 -14 -13 -12 -11 -11 -11 -11 -11 -12 -14 -18 -22 -26 -28 -28 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -20 -20 -20 -20 -19 -15 -15 -18 -21 -21 -18 -16 -16 -17 -18 -17 -16 -16 -16 -16 -17 -18 -18 -17 -16 -16 -18 -21 -23 -24 -23 -19 -15 -13 -11 -11 -10 -10 -11 -13 -14 -14 -13 -12 -14 -20 -24 -25 -27 -25 -20 -16 -13 -12 -10 -15 -19 -16 -12 -19 -24 -26 -25 -24 -22 -19 -17 -15 -14 -13 -12 -10 -7 -6 -6 -6 -2 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -6 -7 -7 -6 -5 -5 -6 -9 -12 -11 -10 -9 -7 -4 -2 -2 -3 -4 -6 -9 -12 -14 -14 -14 -13 -11 -11 -13 -15 -13 -11 -9 -8 -6 -4 -2 -1 1 2 4 4 3 3 4 5 5 4 3 2 1 -1 -2 -2 -4 -6 -9 -11 -7 2 10 14 14 12 11 8 3 -2 -7 -6 -3 -2 -5 -8 -11 -13 -15 -14 -10 -5 -2 -2 -4 -5 -6 -4 -1 3 5 5 5 3 1 -4 -6 -4 -1 2 1 0 1 2 1 -4 -7 -7 -4 -2 -5 -8 -8 -7 -7 -8 -6 -2 -0 -5 -10 -12 -8 -1 1 -1 -4 -5 -5 -5 -5 -2 2 8 11 9 6 2 0 -2 -5 -8 -12 -15 -15 -12 -9 -7 -5 -1 2 3 1 1 4 8 12 12 4 -8 -21 -32 -38 -31 -21 -13 -11 -11 -11 -14 -16 -17 -12 -5 -2 -2 -4 -7 -8 -8 -7 -7 -7 -7 -6 -5 -4 -5 -6 -6 -7 -9 -12 -17 -21 -24 -21 -17 -15 -15 -17 -20 -19 -11 -2 6 7 4 1 -4 -11 -22 -28 -29 -28 -27 -26 -23 -21 -19 -19 -22 -25 -27 -29 -30 -32 -30 -28 -25 -23 -21 -19 -20 -22 -23 -23 -23 -24 -25 -23 -24 -24 -24 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -23 -22 -22 -23 -23 -23 -24 -26 -29 -32 -29 -25 -28 -29 -24 -20 -19 -18 -17 -17 -17 -19 -20 -20 -18 -19 -18 -17 -17 -16 -17 -18 -19 -18 -16 -13 -12 -11 -10 -10 -11 -11 -12 -14 -18 -23 -27 -28 -27 -25 -24 -24 -24 -23 -22 -23 -23 -23 -21 -19 -19 -19 -19 -19 -15 -14 -16 -18 -18 -19 -19 -18 -17 -16 -15 -15 -16 -17 -17 -17 -17 -17 -17 -17 -17 -18 -20 -22 -23 -23 -21 -18 -16 -12 -10 -10 -11 -13 -14 -15 -15 -16 -14 -14 -17 -20 -23 -24 -23 -20 -16 -14 -14 -12 -13 -18 -27 -15 -16 -21 -27 -26 -25 -23 -21 -19 -17 -17 -15 -13 -10 -6 -5 -5 -6 -3 -3 -4 -3 -3 -3 -3 -4 -4 -4 -3 -4 -5 -5 -5 -6 -5 -5 -5 -5 -6 -6 -6 -6 -5 -6 -6 -6 -5 -4 -3 -5 -8 -12 -14 -12 -10 -8 -5 -3 -1 -1 -3 -5 -6 -8 -11 -13 -13 -13 -13 -13 -14 -15 -15 -12 -10 -9 -8 -6 -4 -2 0 1 1 2 2 1 -1 0 2 3 3 3 3 2 -0 -2 -2 -2 -3 -6 -11 -14 -7 3 13 18 18 17 14 10 3 -6 -9 -8 -4 -2 -4 -7 -10 -12 -14 -14 -11 -7 -4 -4 -4 -5 -6 -6 -3 1 3 5 5 3 -1 -5 -6 -4 -0 1 0 1 3 4 0 -5 -7 -6 -4 -6 -8 -9 -8 -9 -10 -9 -5 -1 -6 -13 -16 -14 -3 4 3 -1 -4 -4 -5 -5 -5 -3 3 9 11 10 7 6 4 0 -5 -10 -12 -12 -11 -9 -8 -9 -6 -2 3 4 3 2 4 8 12 6 -7 -23 -35 -41 -34 -23 -14 -11 -12 -9 -9 -10 -13 -12 -8 -5 -3 -4 -7 -9 -8 -6 -6 -7 -8 -7 -6 -4 -3 -4 -5 -7 -8 -11 -15 -19 -22 -22 -19 -16 -15 -17 -22 -24 -22 -15 -5 2 3 4 2 -2 -13 -23 -28 -29 -28 -27 -24 -21 -19 -19 -21 -23 -26 -29 -31 -32 -31 -29 -28 -26 -23 -21 -20 -20 -20 -21 -22 -24 -25 -23 -24 -24 -24 -25 -25 -25 -24 -23 -23 -25 -26 -26 -25 -25 -25 -24 -23 -24 -25 -25 -26 -29 -34 -33 -27 -29 -31 -27 -23 -20 -18 -17 -17 -16 -17 -19 -20 -19 -19 -19 -18 -18 -17 -17 -18 -18 -17 -16 -14 -12 -11 -10 -10 -11 -12 -14 -15 -18 -23 -25 -26 -26 -25 -25 -25 -24 -23 -21 -21 -21 -21 -20 -19 -19 -19 -18 -17 -15 -14 -15 -16 -18 -20 -21 -20 -18 -16 -15 -15 -16 -17 -17 -16 -16 -16 -17 -18 -18 -19 -20 -21 -22 -23 -22 -20 -18 -14 -11 -10 -12 -13 -14 -15 -16 -17 -16 -16 -16 -18 -21 -22 -21 -19 -16 -14 -14 -13 -12 -14 -22 -23 -20 -20 -25 -27 -26 -24 -22 -20 -19 -18 -17 -14 -10 -6 -4 -4 -6 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -3 -3 -3 -5 -8 -12 -12 -9 -6 -4 -3 -2 -2 -2 -3 -4 -6 -7 -10 -11 -11 -8 -9 -13 -18 -21 -19 -12 -8 -6 -6 -5 -3 -1 1 2 2 3 3 2 -1 -2 -2 -2 -1 -0 1 1 -0 -1 -1 -1 -1 -2 -5 -12 -14 -9 2 14 22 22 21 17 10 3 -5 -10 -10 -6 -3 -4 -6 -9 -11 -13 -13 -11 -8 -5 -4 -4 -5 -7 -7 -4 -1 1 3 3 1 -2 -4 -4 -2 -1 0 1 2 3 2 -2 -5 -7 -5 -6 -8 -10 -9 -8 -10 -9 -7 -3 -6 -14 -21 -21 -12 1 5 2 -2 -4 -4 -4 -6 -7 -4 3 9 12 12 11 9 6 -0 -7 -10 -10 -9 -8 -7 -9 -9 -6 -1 4 6 4 2 3 7 6 -4 -18 -31 -35 -30 -20 -13 -11 -14 -9 -5 -4 -7 -10 -11 -10 -7 -4 -7 -9 -7 -5 -4 -6 -8 -9 -8 -6 -4 -3 -4 -5 -7 -9 -13 -18 -22 -23 -21 -18 -16 -18 -22 -25 -25 -22 -15 -7 -2 2 4 4 -5 -16 -24 -28 -28 -27 -25 -22 -19 -18 -20 -23 -26 -28 -30 -31 -30 -30 -29 -27 -23 -20 -19 -19 -18 -18 -20 -21 -22 -23 -23 -22 -22 -24 -25 -25 -24 -22 -22 -26 -27 -27 -26 -25 -26 -26 -24 -24 -26 -27 -26 -28 -34 -37 -29 -28 -31 -30 -25 -22 -20 -18 -16 -15 -15 -16 -17 -18 -19 -19 -18 -18 -18 -18 -18 -18 -17 -15 -14 -12 -11 -10 -10 -11 -13 -15 -16 -19 -22 -24 -24 -25 -24 -24 -24 -24 -22 -19 -18 -18 -19 -18 -20 -20 -19 -18 -18 -16 -15 -15 -17 -19 -21 -22 -22 -20 -18 -16 -15 -15 -17 -16 -15 -15 -16 -17 -18 -18 -19 -20 -21 -22 -23 -23 -21 -19 -15 -13 -12 -13 -14 -14 -15 -17 -18 -19 -19 -19 -20 -21 -22 -21 -19 -17 -14 -13 -13 -12 -11 -16 -22 -23 -22 -23 -26 -26 -25 -23 -21 -20 -19 -18 -15 -12 -7 -4 -3 -5 -5 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -5 -6 -8 -7 -5 -4 -3 -3 -3 -4 -5 -4 -4 -6 -8 -10 -11 -10 -8 -8 -9 -10 -12 -15 -11 -7 -3 -3 -3 -2 -0 2 3 3 3 3 2 2 1 -1 -3 -4 -4 -2 -2 -1 -1 -0 -1 -1 -0 -1 -6 -13 -15 -10 -0 12 20 24 24 20 13 4 -4 -10 -11 -6 -5 -5 -6 -7 -10 -12 -12 -11 -8 -6 -4 -5 -6 -7 -6 -5 -2 -1 0 1 -1 -2 -4 -2 -0 0 -0 0 2 2 -1 -4 -7 -7 -7 -8 -8 -8 -7 -8 -8 -8 -6 -6 -13 -20 -25 -20 -8 1 4 1 -2 -3 -3 -4 -7 -9 -5 2 10 14 15 14 11 6 -1 -6 -8 -8 -6 -5 -7 -8 -9 -6 1 6 6 4 1 2 4 -1 -11 -23 -28 -25 -16 -9 -8 -12 -10 -4 0 2 -4 -12 -15 -13 -6 -7 -9 -7 -4 -2 -5 -8 -9 -10 -9 -7 -5 -5 -5 -5 -7 -11 -16 -22 -24 -22 -19 -17 -18 -21 -25 -26 -25 -20 -12 -7 -4 -1 1 -1 -8 -17 -25 -27 -27 -25 -22 -19 -18 -19 -22 -25 -28 -28 -28 -28 -28 -27 -25 -22 -20 -20 -20 -19 -20 -20 -19 -19 -22 -22 -22 -22 -22 -24 -26 -25 -23 -22 -24 -26 -26 -26 -24 -25 -25 -25 -25 -27 -28 -28 -28 -32 -35 -28 -26 -30 -33 -26 -23 -21 -18 -17 -16 -14 -14 -14 -16 -18 -18 -18 -18 -18 -18 -18 -17 -16 -15 -14 -13 -12 -11 -10 -12 -14 -16 -17 -18 -20 -22 -23 -23 -22 -23 -23 -22 -21 -18 -16 -15 -16 -18 -21 -21 -20 -18 -18 -17 -16 -16 -18 -20 -21 -22 -21 -21 -20 -17 -15 -15 -15 -15 -15 -15 -16 -18 -18 -18 -19 -21 -22 -23 -24 -23 -21 -17 -15 -14 -13 -13 -14 -14 -15 -16 -18 -21 -21 -20 -21 -22 -22 -21 -20 -20 -16 -13 -12 -12 -11 -13 -16 -20 -24 -23 -25 -25 -24 -23 -21 -21 -20 -18 -16 -14 -10 -6 -4 -5 -6 -7 -6 -6 -5 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -4 -5 -5 -6 -6 -7 -6 -5 -4 -4 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -10 -12 -11 -10 -8 -7 -8 -11 -7 -4 -3 -3 -2 -1 0 2 3 3 3 3 2 2 3 1 -1 -4 -6 -6 -5 -3 -1 1 1 0 0 1 -1 -8 -13 -15 -11 -2 9 19 25 27 22 15 6 -2 -9 -9 -7 -5 -4 -5 -7 -9 -11 -12 -11 -8 -5 -5 -6 -8 -8 -6 -4 -2 -2 -1 -2 -3 -3 -1 2 3 2 0 1 1 -0 -3 -7 -9 -10 -9 -7 -6 -6 -6 -7 -7 -7 -7 -11 -17 -22 -22 -17 -8 -1 2 0 -0 -1 -2 -4 -10 -12 -7 2 13 16 16 15 12 7 -1 -5 -6 -5 -3 -4 -6 -8 -8 -5 1 5 6 3 -1 -1 -3 -8 -16 -23 -23 -17 -9 -5 -6 -6 -3 1 5 1 -8 -15 -16 -11 -8 -8 -7 -4 -3 -5 -7 -9 -10 -10 -10 -9 -8 -6 -5 -6 -9 -13 -17 -21 -21 -19 -17 -18 -22 -25 -27 -26 -23 -16 -10 -7 -7 -8 -6 -6 -10 -18 -25 -27 -26 -23 -20 -19 -19 -21 -24 -27 -27 -26 -25 -24 -23 -23 -22 -21 -20 -20 -21 -21 -21 -19 -18 -20 -22 -24 -24 -22 -22 -24 -26 -26 -24 -24 -25 -26 -25 -24 -24 -24 -25 -26 -28 -29 -29 -30 -33 -29 -24 -24 -29 -35 -27 -23 -21 -19 -18 -17 -15 -14 -13 -15 -17 -18 -18 -18 -18 -18 -18 -16 -15 -13 -13 -13 -12 -12 -11 -13 -15 -16 -16 -17 -19 -21 -21 -21 -21 -21 -21 -19 -18 -16 -15 -15 -15 -18 -20 -21 -20 -18 -18 -17 -16 -16 -19 -21 -21 -21 -21 -20 -19 -18 -16 -16 -14 -15 -16 -16 -16 -18 -18 -18 -19 -21 -22 -23 -24 -23 -20 -17 -15 -14 -13 -13 -13 -14 -15 -16 -18 -20 -21 -20 -19 -19 -20 -20 -21 -21 -18 -14 -12 -12 -11 -11 -13 -16 -21 -23 -24 -24 -24 -23 -22 -22 -21 -19 -17 -16 -13 -9 -6 -6 -6 -6 -6 -5 -5 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -4 -5 -5 -5 -5 -5 -5 -6 -5 -5 -5 -6 -6 -6 -7 -4 -2 -1 -2 -2 -3 -3 -4 -4 -5 -5 -4 -4 -5 -4 -4 -5 -7 -9 -11 -12 -12 -11 -10 -8 -5 -3 -3 -3 -2 -1 0 2 3 3 4 3 2 1 2 2 1 -2 -6 -7 -6 -4 -1 1 2 1 1 2 2 -4 -10 -14 -15 -12 -4 6 16 24 27 24 17 9 -0 -5 -6 -5 -4 -4 -5 -7 -9 -11 -12 -9 -6 -4 -5 -8 -9 -8 -6 -3 -2 -2 -3 -5 -6 -3 2 5 5 2 -0 -1 -2 -2 -5 -9 -11 -10 -7 -5 -5 -5 -4 -5 -6 -7 -10 -14 -18 -20 -20 -16 -11 -5 -0 2 3 2 -1 -7 -15 -16 -9 4 12 16 16 15 12 7 2 -1 -2 -1 -2 -4 -6 -8 -9 -5 1 6 6 0 -4 -6 -7 -12 -20 -23 -22 -18 -10 -3 0 2 4 5 3 -3 -11 -16 -15 -12 -9 -6 -3 -3 -5 -6 -8 -9 -10 -11 -11 -10 -9 -8 -8 -8 -9 -11 -16 -19 -18 -17 -17 -22 -26 -28 -28 -25 -20 -13 -9 -8 -11 -13 -12 -12 -13 -18 -22 -24 -23 -22 -21 -20 -20 -21 -24 -25 -25 -23 -21 -20 -21 -21 -21 -21 -20 -21 -22 -22 -20 -19 -20 -21 -24 -26 -24 -23 -24 -25 -27 -27 -26 -25 -25 -25 -24 -24 -24 -25 -27 -30 -29 -28 -30 -34 -26 -22 -22 -26 -32 -28 -24 -22 -21 -19 -18 -17 -15 -13 -14 -16 -17 -17 -17 -18 -18 -18 -16 -14 -13 -12 -13 -12 -12 -11 -13 -15 -16 -15 -16 -18 -19 -19 -19 -20 -20 -18 -16 -15 -15 -15 -15 -16 -17 -18 -19 -18 -16 -17 -17 -17 -17 -20 -21 -21 -20 -20 -20 -19 -19 -19 -19 -16 -16 -16 -16 -16 -17 -17 -17 -18 -20 -22 -23 -22 -20 -19 -17 -16 -15 -14 -14 -13 -13 -14 -15 -17 -19 -19 -20 -19 -18 -19 -19 -20 -20 -17 -14 -12 -12 -12 -11 -11 -12 -17 -21 -23 -24 -24 -24 -24 -23 -21 -19 -18 -18 -16 -13 -10 -7 -6 -6 -5 -4 -4 -3 -3 -4 -5 -5 -5 -5 -4 -4 -3 -4 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -4 -6 -5 -5 -7 -9 -11 -13 -14 -13 -12 -9 -7 -4 -2 -2 -2 -1 0 2 3 4 6 5 4 1 0 -0 -0 -0 -3 -6 -5 -3 -1 1 2 1 2 3 3 -2 -7 -12 -14 -14 -13 -7 2 13 22 25 24 19 12 4 -0 -2 -2 -3 -4 -5 -6 -9 -11 -9 -6 -3 -3 -6 -9 -9 -8 -5 -3 -3 -4 -6 -8 -8 -2 5 8 7 1 -2 -3 -2 -1 -6 -10 -10 -8 -5 -5 -4 -3 -2 -3 -5 -9 -13 -16 -19 -20 -19 -16 -13 -7 -2 2 4 3 -2 -12 -18 -17 -8 4 11 14 16 17 14 10 7 5 4 2 -0 -3 -5 -8 -8 -5 2 7 4 -3 -7 -9 -11 -17 -23 -28 -29 -24 -9 2 8 9 6 4 -0 -6 -11 -14 -15 -12 -6 -2 -2 -4 -6 -8 -10 -10 -9 -9 -9 -9 -10 -11 -11 -10 -10 -13 -16 -16 -16 -17 -22 -26 -29 -29 -27 -21 -15 -10 -8 -11 -15 -17 -18 -18 -17 -18 -20 -22 -22 -23 -22 -20 -18 -20 -22 -23 -21 -19 -18 -19 -21 -22 -21 -20 -21 -22 -23 -22 -22 -21 -22 -24 -27 -24 -24 -24 -25 -26 -27 -27 -26 -25 -25 -24 -24 -25 -26 -28 -29 -29 -29 -31 -35 -26 -21 -20 -23 -28 -28 -26 -23 -22 -20 -18 -17 -16 -14 -14 -14 -16 -17 -17 -18 -19 -18 -17 -14 -12 -11 -12 -12 -12 -11 -12 -14 -15 -15 -15 -17 -18 -17 -18 -18 -18 -16 -13 -13 -13 -14 -15 -16 -15 -14 -15 -16 -16 -18 -19 -19 -19 -20 -20 -19 -19 -19 -20 -20 -20 -20 -20 -17 -15 -15 -15 -15 -16 -16 -16 -17 -19 -21 -21 -20 -19 -19 -17 -16 -16 -15 -15 -14 -14 -14 -16 -17 -18 -18 -20 -20 -20 -19 -19 -20 -20 -18 -16 -15 -12 -12 -11 -10 -10 -13 -19 -22 -23 -23 -25 -25 -23 -21 -19 -18 -19 -18 -16 -13 -10 -7 -6 -5 -4 -3 -2 -3 -4 -5 -6 -6 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -3 -3 -4 -8 -8 -8 -8 -10 -12 -13 -13 -12 -12 -12 -10 -6 -3 -1 -1 -0 1 2 3 5 7 7 5 4 2 -2 -2 -0 -0 -3 -3 -3 -1 1 2 3 4 6 5 0 -5 -9 -12 -13 -15 -13 -9 -1 9 16 21 22 19 15 10 5 2 -1 -3 -4 -5 -6 -9 -8 -5 -2 -0 -3 -7 -9 -9 -7 -4 -3 -3 -6 -9 -12 -7 0 8 10 6 0 -2 0 4 1 -4 -8 -7 -5 -6 -5 -3 -0 1 -3 -7 -12 -16 -19 -19 -19 -18 -17 -14 -8 -3 2 4 1 -7 -15 -19 -16 -6 3 8 10 12 13 13 14 13 12 8 4 1 -1 -4 -7 -8 -4 3 5 1 -5 -9 -12 -16 -24 -32 -37 -37 -22 -4 9 14 10 5 1 -2 -6 -10 -14 -14 -9 -2 0 -2 -4 -7 -9 -10 -8 -5 -2 -2 -6 -9 -11 -12 -11 -11 -13 -15 -15 -16 -21 -26 -29 -29 -27 -22 -16 -12 -10 -11 -14 -19 -22 -23 -22 -19 -17 -16 -19 -22 -23 -23 -20 -18 -19 -21 -22 -20 -18 -19 -21 -22 -22 -21 -22 -23 -24 -24 -25 -24 -24 -25 -25 -24 -23 -24 -25 -25 -25 -25 -26 -28 -28 -25 -24 -25 -28 -28 -27 -28 -30 -31 -33 -27 -22 -20 -20 -23 -25 -25 -24 -23 -21 -19 -17 -16 -15 -14 -14 -14 -16 -17 -18 -18 -18 -17 -14 -12 -11 -10 -12 -12 -12 -13 -14 -15 -14 -14 -15 -16 -16 -16 -16 -15 -13 -12 -12 -12 -13 -14 -15 -13 -12 -12 -13 -15 -19 -21 -22 -21 -20 -19 -18 -18 -18 -19 -19 -20 -20 -20 -17 -15 -14 -14 -15 -17 -17 -17 -17 -19 -20 -20 -19 -20 -19 -18 -16 -16 -15 -15 -15 -14 -14 -16 -17 -18 -18 -20 -21 -20 -20 -19 -19 -20 -20 -19 -17 -14 -12 -11 -10 -8 -11 -16 -21 -23 -23 -25 -25 -24 -22 -19 -18 -19 -19 -19 -16 -13 -6 -5 -5 -4 -4 -3 -4 -5 -6 -6 -6 -5 -4 -4 -5 -6 -6 -6 -6 -6 -5 -2 -1 -1 -1 -1 -2 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -5 -8 -10 -10 -10 -12 -14 -14 -12 -10 -10 -12 -13 -10 -5 -1 -0 1 2 2 3 5 6 6 5 6 5 2 0 0 1 -1 -1 -2 -1 2 5 6 8 10 10 4 -2 -6 -10 -12 -14 -15 -14 -10 -4 2 8 13 17 18 18 15 10 4 0 -2 -4 -4 -6 -7 -5 -1 2 1 -2 -6 -8 -9 -7 -5 -3 -4 -8 -12 -12 -7 1 8 9 5 3 4 9 9 3 -3 -5 -4 -5 -6 -5 -2 2 -1 -6 -11 -16 -19 -19 -17 -16 -17 -17 -13 -8 -3 1 1 -4 -11 -17 -20 -13 -4 3 6 5 6 9 14 17 18 15 11 8 6 3 -3 -8 -9 -6 -0 1 -2 -8 -14 -20 -26 -33 -39 -42 -35 -17 3 16 13 7 3 0 -2 -5 -11 -14 -12 -5 0 1 -0 -3 -6 -7 -6 -3 1 3 1 -4 -8 -11 -12 -13 -13 -13 -12 -13 -20 -26 -30 -30 -27 -22 -17 -13 -11 -11 -13 -17 -22 -24 -24 -22 -18 -13 -14 -19 -22 -23 -21 -19 -20 -21 -21 -20 -18 -18 -20 -22 -21 -21 -22 -23 -24 -24 -26 -27 -27 -26 -23 -23 -23 -24 -25 -25 -25 -25 -26 -29 -29 -26 -24 -25 -29 -28 -26 -27 -29 -30 -31 -29 -26 -22 -19 -20 -21 -23 -23 -24 -22 -19 -18 -18 -16 -14 -14 -14 -15 -16 -16 -17 -18 -17 -14 -12 -11 -10 -10 -11 -12 -13 -14 -15 -14 -13 -14 -16 -16 -15 -13 -11 -10 -11 -11 -11 -11 -13 -14 -12 -11 -11 -11 -13 -17 -20 -22 -22 -19 -18 -17 -17 -17 -18 -19 -20 -21 -20 -18 -17 -15 -14 -15 -17 -18 -18 -17 -18 -19 -20 -20 -20 -20 -18 -17 -16 -15 -15 -15 -15 -14 -15 -16 -18 -19 -21 -21 -20 -20 -19 -19 -20 -21 -20 -19 -15 -13 -12 -11 -8 -10 -14 -18 -22 -23 -24 -24 -23 -22 -20 -18 -18 -19 -20 -19 -17 -5 -5 -4 -4 -4 -4 -5 -6 -7 -7 -6 -6 -5 -5 -5 -6 -5 -5 -4 -3 -1 0 1 0 -0 -1 -3 -5 -6 -6 -5 -4 -4 -4 -5 -4 -3 -3 -3 -3 -3 -2 -3 -4 -7 -8 -9 -11 -13 -15 -15 -13 -10 -8 -9 -11 -11 -7 -2 1 2 3 4 2 3 3 3 4 7 8 7 6 4 1 0 1 0 -0 1 6 10 13 16 16 11 3 -4 -9 -10 -12 -15 -17 -15 -10 -5 -1 2 6 10 15 19 19 14 7 2 -2 -3 -4 -5 -4 -2 2 3 2 -1 -4 -8 -10 -8 -5 -4 -4 -9 -13 -14 -10 -3 4 6 5 5 9 14 11 5 -2 -2 -2 -5 -6 -5 -0 0 -4 -10 -16 -21 -19 -16 -14 -15 -17 -16 -13 -8 -4 -2 -4 -9 -15 -20 -18 -10 -1 5 3 1 3 8 15 19 18 17 15 13 11 4 -3 -9 -9 -6 -2 -2 -6 -15 -25 -32 -36 -40 -44 -42 -29 -8 11 13 8 4 2 0 -2 -7 -13 -16 -11 -3 1 2 0 -2 -3 -4 -2 1 6 6 3 -2 -7 -11 -13 -14 -13 -11 -11 -17 -25 -30 -30 -27 -22 -16 -12 -11 -11 -12 -15 -18 -21 -22 -23 -20 -15 -13 -16 -20 -22 -22 -21 -20 -20 -20 -20 -18 -17 -17 -19 -19 -21 -22 -23 -23 -24 -28 -29 -29 -27 -23 -22 -23 -23 -24 -24 -24 -25 -27 -30 -30 -28 -26 -25 -28 -28 -27 -26 -24 -25 -27 -30 -30 -25 -20 -19 -19 -20 -21 -22 -22 -20 -19 -19 -17 -15 -14 -14 -15 -15 -16 -16 -17 -16 -14 -13 -11 -10 -9 -10 -11 -13 -15 -15 -14 -13 -15 -17 -16 -14 -11 -10 -10 -10 -11 -11 -11 -11 -12 -12 -11 -10 -11 -12 -14 -17 -19 -19 -18 -17 -17 -17 -17 -17 -18 -19 -21 -21 -20 -18 -17 -14 -15 -16 -18 -18 -18 -19 -19 -19 -20 -20 -20 -19 -18 -17 -16 -16 -16 -15 -14 -14 -15 -16 -18 -21 -21 -20 -20 -18 -19 -20 -21 -21 -20 -17 -14 -13 -11 -9 -9 -11 -15 -20 -22 -22 -22 -23 -24 -22 -20 -18 -18 -19 -20 -19 -4 -4 -4 -4 -4 -5 -7 -8 -8 -8 -6 -5 -5 -4 -4 -4 -2 -1 -1 -0 1 1 1 -1 -2 -3 -4 -6 -7 -6 -6 -5 -5 -5 -5 -5 -3 -2 -2 -2 -2 -3 -2 -3 -5 -6 -8 -10 -12 -14 -13 -12 -10 -8 -8 -8 -8 -5 -2 1 2 3 3 2 1 1 1 2 5 7 8 7 6 4 3 3 2 1 1 3 7 11 16 20 18 11 3 -4 -7 -10 -14 -18 -17 -12 -7 -4 -3 -2 -0 3 9 15 18 15 10 4 -1 -3 -2 -2 -1 0 3 5 5 2 -3 -7 -10 -10 -7 -2 -3 -9 -15 -19 -18 -11 -3 1 1 2 10 14 11 4 -0 0 -2 -5 -7 -3 -0 -3 -9 -17 -22 -20 -16 -12 -12 -16 -17 -15 -11 -7 -5 -5 -8 -13 -20 -21 -16 -6 3 4 1 -1 1 6 12 15 16 17 18 16 11 4 -3 -6 -7 -6 -5 -6 -15 -27 -34 -37 -40 -44 -43 -33 -15 5 9 6 3 2 0 -1 -5 -12 -18 -18 -10 -4 -1 -1 -2 -2 -3 -3 -1 5 9 8 5 -1 -6 -10 -13 -14 -12 -11 -15 -22 -27 -30 -28 -23 -16 -10 -9 -10 -12 -13 -15 -17 -20 -20 -20 -18 -15 -15 -18 -20 -21 -22 -21 -20 -20 -21 -20 -17 -17 -18 -18 -19 -20 -21 -22 -24 -28 -30 -30 -28 -25 -23 -22 -23 -23 -23 -24 -25 -27 -29 -29 -29 -28 -27 -26 -25 -25 -24 -23 -25 -27 -30 -30 -26 -21 -19 -19 -19 -19 -20 -21 -21 -19 -20 -19 -17 -15 -16 -15 -15 -15 -16 -17 -16 -14 -13 -12 -10 -8 -8 -10 -12 -14 -16 -14 -13 -15 -18 -17 -14 -12 -11 -12 -12 -12 -11 -10 -11 -11 -11 -11 -10 -10 -11 -13 -15 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -22 -21 -20 -18 -16 -15 -16 -18 -19 -19 -19 -19 -19 -20 -20 -21 -21 -21 -19 -17 -17 -17 -15 -14 -14 -14 -16 -17 -20 -20 -21 -20 -18 -19 -20 -21 -22 -22 -19 -17 -14 -11 -10 -9 -10 -14 -19 -20 -20 -21 -23 -25 -25 -22 -19 -17 -18 -19 -19 -4 -4 -4 -4 -5 -7 -9 -9 -8 -7 -5 -3 -3 -2 -1 -1 0 1 1 0 1 0 -1 -3 -4 -5 -6 -6 -6 -6 -5 -6 -6 -7 -7 -6 -4 -2 -1 -1 -2 -2 -2 -2 -4 -7 -9 -11 -13 -13 -12 -11 -11 -11 -10 -8 -6 -4 -2 -1 1 2 2 2 2 2 2 3 4 5 6 5 5 3 2 2 2 2 1 1 2 6 11 16 18 16 11 4 -1 -6 -12 -17 -18 -13 -8 -5 -4 -4 -5 -6 -3 2 10 14 15 10 3 -2 -0 1 2 1 1 5 8 9 7 2 -5 -10 -11 -6 1 -2 -9 -17 -23 -21 -13 -6 -3 -4 2 9 12 8 2 2 2 -1 -5 -5 -2 -2 -7 -16 -23 -24 -19 -14 -10 -13 -16 -15 -12 -8 -6 -6 -8 -11 -18 -22 -20 -12 -2 4 3 -0 -2 -1 3 8 12 15 17 19 17 12 5 -0 -4 -7 -7 -8 -14 -26 -33 -38 -40 -43 -41 -32 -16 3 7 4 1 -0 0 -0 -5 -12 -19 -23 -16 -9 -6 -7 -8 -5 -5 -5 -5 1 8 11 11 8 2 -4 -9 -12 -12 -11 -14 -19 -25 -28 -27 -24 -18 -12 -10 -11 -11 -12 -14 -15 -18 -20 -21 -20 -17 -16 -16 -19 -20 -22 -22 -21 -20 -21 -20 -18 -16 -17 -18 -18 -18 -18 -21 -24 -28 -29 -30 -29 -27 -23 -22 -22 -23 -24 -26 -26 -26 -26 -27 -29 -29 -28 -25 -23 -22 -23 -25 -27 -27 -26 -26 -25 -21 -18 -18 -18 -19 -20 -21 -21 -20 -20 -20 -18 -17 -17 -16 -16 -16 -17 -17 -16 -15 -15 -14 -13 -9 -8 -9 -11 -14 -16 -14 -13 -14 -18 -18 -15 -13 -12 -14 -15 -14 -12 -10 -11 -11 -11 -11 -10 -10 -11 -12 -14 -15 -16 -16 -16 -17 -17 -17 -17 -18 -18 -20 -22 -23 -22 -19 -17 -15 -16 -17 -19 -20 -20 -20 -20 -21 -21 -21 -22 -22 -20 -19 -18 -17 -16 -15 -14 -15 -16 -18 -18 -20 -21 -20 -19 -19 -20 -21 -22 -23 -21 -19 -16 -12 -11 -9 -9 -13 -18 -20 -21 -22 -24 -26 -27 -25 -20 -17 -17 -17 -18 -4 -4 -4 -5 -7 -8 -9 -7 -5 -3 -2 -1 -1 -1 -0 0 1 0 -0 -0 -1 -2 -3 -5 -6 -6 -6 -6 -6 -5 -6 -7 -8 -8 -8 -7 -5 -3 -2 -2 -2 -2 -2 -3 -5 -8 -10 -13 -14 -14 -12 -9 -8 -9 -11 -9 -6 -4 -2 -2 -1 0 1 2 2 3 3 4 5 5 6 6 5 3 2 2 2 2 3 1 1 2 5 10 13 14 13 9 4 -0 -7 -14 -17 -13 -9 -6 -4 -4 -6 -9 -10 -8 -3 5 11 13 8 1 1 4 5 4 1 2 6 12 16 14 6 -4 -10 -10 -1 2 -1 -11 -21 -22 -17 -11 -7 -7 -5 2 7 9 5 4 4 3 -1 -5 -3 -2 -5 -14 -23 -27 -24 -18 -11 -11 -13 -14 -12 -9 -7 -7 -8 -11 -16 -21 -22 -18 -9 0 3 2 -1 -3 -1 2 5 8 12 18 20 19 13 7 1 -4 -7 -10 -15 -24 -30 -35 -37 -39 -36 -29 -17 -2 4 3 -0 -2 -2 -1 -4 -10 -18 -23 -19 -12 -8 -10 -12 -10 -9 -8 -9 -7 0 8 13 15 11 3 -3 -7 -8 -9 -12 -17 -22 -25 -25 -23 -20 -16 -11 -8 -8 -9 -12 -16 -19 -22 -24 -22 -17 -15 -16 -18 -19 -21 -22 -21 -19 -19 -19 -18 -16 -16 -18 -19 -19 -19 -20 -23 -27 -29 -29 -28 -27 -24 -22 -21 -22 -25 -27 -27 -25 -25 -25 -26 -28 -29 -27 -23 -21 -23 -26 -28 -27 -26 -26 -24 -22 -19 -18 -18 -19 -19 -20 -21 -22 -20 -20 -18 -17 -18 -17 -16 -17 -17 -17 -15 -17 -18 -18 -16 -11 -9 -9 -10 -13 -16 -14 -12 -12 -17 -17 -15 -13 -13 -15 -15 -14 -13 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -13 -15 -15 -16 -16 -17 -17 -17 -18 -18 -18 -21 -23 -23 -20 -18 -16 -16 -17 -19 -20 -20 -20 -21 -21 -21 -21 -22 -22 -20 -19 -19 -18 -16 -15 -15 -15 -16 -17 -18 -20 -21 -20 -19 -19 -20 -20 -22 -23 -23 -21 -18 -15 -12 -9 -9 -12 -17 -18 -20 -22 -24 -25 -27 -26 -23 -19 -17 -16 -17 -4 -4 -5 -7 -8 -8 -6 -2 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -6 -5 -3 -2 -2 -2 -3 -4 -5 -7 -9 -12 -13 -14 -13 -11 -9 -8 -8 -9 -9 -7 -5 -3 -3 -2 -1 0 1 2 2 3 5 6 6 7 7 6 5 3 3 3 3 3 2 1 1 2 5 8 10 11 10 7 3 -2 -8 -11 -11 -9 -7 -5 -3 -5 -8 -11 -12 -11 -6 2 8 9 4 2 4 7 7 3 1 2 8 17 23 19 9 -2 -9 -4 1 1 -4 -14 -18 -15 -11 -8 -8 -8 -4 1 6 7 6 6 5 3 -2 -2 -2 -4 -11 -21 -28 -28 -23 -14 -10 -10 -11 -10 -7 -6 -7 -9 -11 -14 -18 -21 -21 -15 -5 0 2 2 1 -1 -2 -1 1 4 12 20 23 21 13 7 2 -4 -10 -16 -20 -23 -25 -29 -31 -30 -27 -19 -8 -0 1 -0 -2 -3 -3 -6 -10 -17 -22 -20 -15 -10 -9 -10 -10 -9 -9 -11 -13 -10 -3 6 15 16 11 5 1 -1 -4 -8 -13 -19 -22 -22 -20 -19 -18 -15 -10 -7 -8 -11 -16 -19 -23 -26 -25 -19 -16 -16 -18 -19 -20 -21 -20 -17 -16 -17 -17 -16 -15 -17 -19 -20 -19 -19 -21 -24 -27 -28 -27 -25 -23 -22 -21 -22 -24 -26 -27 -27 -26 -25 -25 -27 -29 -29 -25 -23 -24 -28 -29 -28 -28 -28 -26 -24 -21 -18 -17 -18 -19 -19 -20 -22 -21 -20 -19 -18 -19 -17 -17 -17 -17 -17 -15 -17 -19 -19 -16 -12 -10 -9 -10 -12 -14 -14 -12 -10 -14 -15 -14 -13 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -19 -22 -23 -21 -19 -17 -16 -17 -19 -20 -20 -20 -21 -20 -20 -20 -21 -22 -21 -21 -20 -18 -17 -16 -16 -15 -16 -17 -17 -19 -21 -20 -20 -21 -20 -20 -21 -23 -23 -22 -20 -18 -13 -9 -8 -10 -16 -17 -17 -18 -19 -21 -25 -26 -24 -22 -18 -17 -16 -4 -4 -6 -8 -8 -5 -1 2 1 0 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -7 -6 -5 -4 -3 -3 -3 -4 -5 -6 -7 -8 -10 -12 -13 -12 -10 -9 -10 -10 -10 -9 -8 -7 -6 -4 -2 -2 -1 -1 0 1 1 2 3 5 6 7 8 8 7 6 5 4 4 4 4 3 2 2 3 5 7 8 9 7 4 1 -2 -4 -6 -7 -6 -4 -2 -4 -6 -9 -12 -13 -11 -6 -0 4 4 3 4 6 8 6 2 -0 2 10 22 27 22 12 1 -3 -1 1 -1 -6 -11 -10 -8 -6 -6 -7 -7 -5 0 6 7 7 6 5 2 1 -1 -3 -9 -19 -26 -29 -26 -19 -12 -10 -9 -9 -7 -5 -5 -7 -9 -11 -16 -20 -22 -18 -10 -4 1 3 5 2 -1 -2 -3 -2 4 14 23 27 21 14 8 1 -8 -16 -16 -14 -14 -17 -22 -24 -24 -20 -13 -5 -1 -1 -2 -2 -4 -7 -12 -17 -20 -19 -16 -12 -9 -9 -9 -8 -9 -10 -13 -13 -13 -9 1 11 13 12 10 9 6 -1 -9 -16 -19 -18 -17 -17 -19 -18 -15 -12 -9 -9 -13 -19 -24 -27 -24 -19 -16 -16 -18 -19 -19 -20 -19 -15 -14 -14 -15 -15 -15 -17 -19 -20 -20 -19 -20 -22 -25 -26 -26 -24 -22 -21 -21 -21 -23 -24 -25 -28 -28 -27 -26 -26 -28 -30 -29 -27 -27 -28 -30 -30 -29 -29 -28 -27 -24 -21 -19 -18 -18 -18 -19 -21 -21 -20 -19 -18 -19 -18 -17 -16 -17 -17 -15 -16 -17 -18 -16 -14 -13 -11 -11 -12 -13 -13 -11 -9 -11 -12 -12 -12 -14 -13 -11 -10 -10 -10 -10 -10 -10 -10 -10 -12 -13 -13 -11 -11 -12 -14 -15 -16 -16 -16 -17 -17 -17 -17 -18 -20 -22 -21 -20 -18 -17 -17 -18 -19 -20 -20 -20 -19 -19 -19 -20 -21 -21 -21 -21 -19 -18 -18 -16 -15 -15 -17 -17 -18 -20 -20 -21 -21 -21 -20 -21 -22 -22 -22 -21 -20 -16 -11 -8 -9 -14 -16 -17 -16 -16 -19 -23 -26 -25 -24 -21 -19 -18 -4 -6 -7 -6 -4 -2 1 1 0 -1 -1 -2 -3 -3 -2 -2 -1 -1 -2 -3 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -7 -9 -11 -12 -12 -11 -11 -10 -11 -12 -12 -10 -8 -6 -6 -5 -2 -2 -2 -1 -1 -0 0 1 2 3 4 6 7 8 9 9 8 7 6 7 6 5 4 3 4 5 6 7 7 5 2 0 -1 -1 -1 -2 -2 -1 1 -2 -4 -7 -9 -11 -11 -10 -8 -6 -2 1 3 4 6 8 5 1 -2 -0 11 23 28 24 14 5 1 0 2 2 -2 -3 -2 -1 -1 -3 -6 -6 -4 1 5 6 7 6 5 4 2 -1 -7 -16 -23 -27 -26 -21 -15 -11 -9 -8 -7 -5 -4 -5 -6 -10 -14 -18 -21 -21 -14 -7 -2 1 5 4 1 -1 -3 -4 -2 8 20 31 29 22 16 8 -2 -11 -11 -9 -7 -9 -14 -18 -21 -20 -16 -9 -5 -3 -3 -3 -5 -10 -15 -18 -19 -17 -16 -13 -11 -9 -8 -8 -8 -8 -10 -12 -14 -16 -14 -5 5 12 15 15 13 8 -1 -9 -13 -13 -14 -16 -19 -20 -19 -17 -14 -10 -12 -17 -22 -25 -21 -18 -17 -17 -18 -19 -20 -20 -19 -16 -15 -15 -15 -14 -15 -17 -19 -19 -19 -18 -18 -20 -22 -24 -25 -23 -21 -21 -21 -21 -21 -21 -21 -24 -26 -27 -27 -26 -27 -29 -31 -31 -30 -28 -29 -30 -30 -30 -29 -29 -28 -26 -24 -20 -18 -18 -19 -20 -21 -22 -22 -20 -20 -18 -17 -16 -16 -16 -15 -16 -16 -16 -16 -17 -17 -15 -13 -14 -14 -13 -10 -8 -10 -11 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -11 -11 -13 -14 -14 -11 -10 -11 -12 -14 -15 -16 -16 -16 -16 -16 -16 -17 -19 -21 -22 -22 -20 -17 -17 -18 -19 -20 -20 -20 -19 -19 -18 -19 -20 -20 -20 -21 -20 -19 -19 -17 -16 -15 -17 -17 -17 -18 -19 -20 -20 -21 -20 -21 -21 -22 -22 -23 -23 -19 -14 -9 -9 -13 -16 -18 -17 -16 -18 -22 -24 -25 -27 -25 -22 -20 -6 -6 -5 -3 -2 -1 0 0 -0 -1 -1 -3 -3 -3 -2 -1 -0 -1 -3 -5 -6 -6 -7 -7 -8 -8 -8 -9 -8 -8 -7 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -8 -9 -11 -12 -13 -14 -16 -16 -15 -15 -14 -11 -7 -5 -5 -5 -3 -2 -2 -2 -2 -1 -0 0 1 1 2 3 4 6 8 9 9 9 9 8 7 6 5 5 5 5 5 5 5 3 -0 -2 -2 -1 -1 -1 2 4 6 3 -1 -4 -6 -8 -9 -10 -12 -14 -13 -5 1 3 3 5 6 4 1 -3 -1 10 21 28 25 15 7 3 4 8 7 6 5 6 5 2 -1 -4 -6 -5 -1 2 5 7 7 6 5 2 -4 -12 -19 -23 -24 -21 -17 -13 -10 -8 -7 -6 -4 -3 -4 -7 -12 -17 -21 -22 -17 -10 -6 -2 1 4 4 2 -1 -3 -4 0 11 26 33 32 29 22 12 -0 -7 -9 -8 -5 -9 -15 -19 -20 -18 -13 -9 -6 -6 -6 -9 -14 -17 -18 -17 -15 -14 -13 -11 -9 -8 -8 -8 -9 -10 -13 -16 -19 -20 -17 -10 -2 6 11 14 14 10 3 -3 -7 -11 -15 -19 -21 -22 -21 -20 -15 -12 -14 -18 -21 -19 -17 -16 -16 -17 -19 -20 -20 -18 -18 -16 -16 -15 -14 -15 -16 -18 -18 -17 -15 -16 -18 -21 -22 -23 -22 -21 -20 -20 -20 -20 -20 -20 -21 -24 -25 -26 -26 -26 -27 -29 -31 -31 -28 -28 -29 -30 -30 -30 -30 -30 -29 -28 -23 -20 -20 -20 -20 -22 -24 -25 -22 -21 -19 -17 -16 -16 -15 -16 -16 -16 -15 -17 -20 -21 -18 -15 -15 -15 -13 -9 -7 -10 -12 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -15 -16 -14 -11 -10 -10 -11 -13 -14 -15 -16 -15 -15 -16 -16 -17 -19 -21 -23 -23 -22 -18 -18 -19 -20 -21 -21 -20 -20 -19 -18 -18 -19 -20 -20 -20 -20 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -21 -21 -22 -23 -23 -23 -23 -21 -17 -11 -9 -12 -16 -19 -19 -17 -19 -21 -23 -24 -27 -27 -25 -24 -6 -5 -3 -2 -1 -1 -0 -0 -0 -0 -1 -3 -3 -3 -2 -1 -0 -2 -3 -5 -6 -6 -7 -7 -8 -8 -9 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -10 -12 -13 -14 -16 -20 -29 -29 -25 -18 -11 -6 -5 -4 -4 -4 -4 -4 -3 -3 -1 -1 -0 0 0 1 2 3 5 6 8 9 10 10 9 9 7 6 5 6 7 6 5 2 -0 -3 -3 -3 -2 -3 -3 -0 4 7 6 3 -1 -3 -5 -7 -8 -12 -18 -25 -16 -4 4 3 1 4 5 5 3 -0 0 7 18 27 23 15 7 5 10 13 14 13 13 11 8 5 1 -3 -7 -7 -4 0 4 6 7 7 5 1 -7 -14 -20 -22 -20 -17 -14 -12 -9 -8 -8 -6 -4 -1 -3 -8 -14 -20 -22 -18 -13 -8 -5 -2 2 6 6 4 -1 -4 -4 1 13 28 34 35 31 26 16 7 -1 -5 -4 -6 -11 -16 -18 -19 -16 -12 -9 -9 -11 -15 -19 -20 -18 -15 -13 -12 -11 -10 -8 -7 -7 -8 -10 -12 -15 -19 -22 -24 -24 -20 -15 -8 -1 6 12 14 12 9 3 -4 -10 -15 -20 -23 -24 -23 -19 -14 -12 -12 -15 -17 -16 -14 -14 -16 -19 -20 -19 -17 -17 -16 -16 -16 -15 -15 -16 -17 -17 -15 -13 -14 -16 -19 -21 -21 -21 -20 -21 -21 -20 -20 -20 -19 -20 -22 -23 -25 -26 -26 -26 -27 -29 -30 -28 -27 -27 -29 -30 -30 -30 -30 -31 -30 -25 -22 -21 -22 -21 -24 -27 -27 -23 -21 -18 -17 -17 -16 -16 -16 -16 -16 -15 -19 -22 -21 -18 -16 -16 -15 -12 -9 -7 -9 -12 -16 -17 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -16 -17 -17 -15 -12 -11 -10 -11 -12 -13 -14 -15 -15 -14 -14 -16 -17 -19 -22 -23 -24 -22 -19 -19 -18 -19 -20 -21 -20 -20 -19 -18 -18 -19 -19 -19 -20 -20 -20 -19 -18 -18 -17 -17 -17 -17 -16 -17 -17 -19 -20 -21 -22 -22 -23 -23 -23 -22 -21 -18 -13 -11 -12 -15 -19 -20 -18 -19 -20 -21 -23 -26 -27 -26 -27 -5 -3 -2 -1 -1 -1 -0 -0 0 -0 -1 -2 -3 -3 -2 -2 -1 -2 -3 -4 -5 -6 -6 -7 -7 -8 -8 -8 -7 -7 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -9 -10 -11 -12 -11 -10 -13 -23 -38 -42 -37 -27 -17 -10 -7 -5 -4 -4 -5 -4 -4 -3 -2 -1 -1 -1 -0 -0 1 2 4 6 8 9 10 11 11 11 9 7 5 6 8 8 5 1 -4 -6 -6 -5 -3 -2 -3 -3 -1 3 5 4 2 -0 -2 -5 -7 -11 -18 -28 -27 -15 -1 5 1 1 2 5 6 4 2 2 7 14 18 15 9 5 8 12 15 17 19 18 14 10 7 4 -2 -7 -9 -7 -2 3 5 6 7 5 -1 -8 -14 -18 -19 -17 -15 -12 -10 -9 -10 -9 -7 -2 1 -2 -9 -16 -21 -19 -15 -10 -7 -5 -1 4 9 10 5 0 -4 -4 1 15 27 35 38 36 28 20 11 1 -5 -5 -6 -8 -12 -17 -16 -14 -12 -13 -17 -22 -25 -24 -20 -14 -11 -9 -9 -9 -7 -5 -5 -8 -11 -15 -19 -22 -25 -28 -28 -25 -22 -19 -15 -8 1 9 13 13 10 3 -4 -9 -14 -19 -22 -22 -20 -16 -11 -9 -10 -13 -13 -12 -12 -15 -18 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -16 -15 -15 -15 -16 -19 -21 -21 -20 -20 -22 -22 -21 -20 -20 -20 -21 -21 -22 -24 -26 -26 -26 -27 -28 -30 -28 -28 -28 -29 -29 -28 -29 -30 -30 -30 -27 -24 -22 -23 -23 -27 -29 -28 -24 -20 -18 -16 -17 -17 -17 -16 -15 -15 -17 -21 -22 -19 -17 -16 -15 -14 -12 -9 -7 -8 -10 -15 -17 -15 -15 -16 -16 -17 -17 -17 -18 -18 -17 -17 -17 -17 -16 -14 -12 -11 -11 -12 -13 -14 -15 -15 -13 -13 -14 -17 -20 -22 -24 -25 -23 -21 -20 -19 -17 -18 -20 -20 -20 -19 -19 -18 -19 -19 -19 -19 -20 -20 -19 -19 -18 -18 -17 -16 -16 -17 -17 -17 -18 -20 -21 -22 -22 -22 -22 -23 -23 -22 -20 -15 -12 -11 -13 -17 -18 -19 -19 -19 -20 -22 -25 -26 -27 -28 -4 -3 -2 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -10 -10 -11 -10 -8 -8 -12 -21 -38 -48 -47 -36 -21 -14 -10 -6 -4 -4 -5 -4 -4 -3 -2 -2 -2 -2 -1 -1 0 1 3 5 7 8 10 11 12 12 10 8 6 6 7 8 6 2 -5 -7 -7 -6 -4 -2 -1 -2 -2 -2 1 3 4 3 1 -3 -6 -9 -15 -24 -30 -23 -10 2 2 0 0 2 5 5 3 1 2 5 7 7 5 4 6 9 12 16 20 22 19 14 10 8 4 -2 -8 -11 -9 -2 1 3 4 5 3 -2 -8 -14 -17 -17 -15 -12 -9 -8 -10 -11 -11 -7 -1 2 -1 -8 -16 -17 -15 -11 -8 -7 -5 0 7 12 11 6 -0 -5 -6 1 12 24 34 38 33 26 18 8 -3 -6 -5 -4 -5 -9 -11 -12 -12 -15 -21 -26 -28 -27 -23 -17 -11 -7 -5 -6 -5 -5 -4 -6 -11 -16 -21 -25 -28 -30 -29 -27 -25 -23 -23 -20 -12 -1 6 10 11 9 5 -1 -7 -13 -18 -20 -19 -16 -13 -9 -7 -9 -10 -10 -10 -13 -17 -18 -18 -18 -16 -15 -15 -15 -15 -14 -14 -14 -14 -15 -16 -16 -16 -16 -17 -18 -18 -20 -22 -23 -23 -22 -22 -21 -22 -21 -22 -23 -25 -26 -26 -27 -28 -29 -29 -30 -31 -31 -30 -29 -29 -30 -30 -30 -28 -26 -24 -24 -25 -28 -30 -27 -24 -20 -18 -17 -17 -17 -17 -16 -15 -16 -18 -21 -20 -18 -17 -17 -16 -13 -11 -9 -7 -6 -8 -13 -16 -15 -15 -17 -17 -17 -17 -17 -18 -18 -17 -17 -17 -17 -17 -15 -13 -12 -12 -12 -13 -14 -14 -15 -14 -13 -13 -14 -18 -22 -25 -27 -25 -23 -22 -20 -17 -17 -19 -20 -20 -20 -19 -19 -20 -20 -19 -20 -20 -20 -20 -20 -19 -18 -17 -16 -16 -17 -17 -17 -17 -18 -20 -21 -22 -22 -23 -23 -24 -23 -20 -16 -12 -10 -11 -15 -17 -19 -19 -19 -20 -22 -24 -25 -27 -28 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -9 -10 -10 -10 -8 -7 -9 -14 -26 -41 -46 -38 -21 -12 -9 -7 -4 -4 -5 -5 -4 -3 -2 -3 -3 -2 -2 -1 -0 1 2 4 5 7 9 10 12 12 11 10 8 6 6 6 5 2 -4 -7 -7 -6 -5 -3 -0 1 -1 -3 -2 -0 2 3 2 -2 -5 -8 -11 -16 -24 -25 -18 -6 -0 -0 -0 0 3 4 2 1 1 2 2 2 1 1 3 6 9 12 18 23 23 20 15 11 8 3 -4 -11 -12 -5 -2 -0 -1 -0 2 2 -1 -8 -14 -15 -14 -12 -10 -8 -9 -10 -12 -13 -9 -2 2 -0 -9 -13 -14 -12 -9 -6 -6 -4 2 11 14 11 5 -2 -6 -7 -2 8 19 27 28 27 22 14 3 -4 -5 -4 -2 -2 -5 -7 -8 -11 -18 -23 -25 -24 -23 -19 -14 -8 -4 -4 -5 -4 -4 -4 -9 -16 -21 -26 -28 -29 -29 -28 -26 -25 -25 -25 -20 -9 -2 1 4 7 8 6 -1 -8 -14 -16 -18 -17 -14 -10 -7 -7 -7 -8 -10 -12 -16 -18 -18 -18 -16 -14 -14 -15 -15 -13 -12 -12 -13 -15 -16 -16 -16 -14 -14 -16 -18 -20 -23 -23 -23 -23 -23 -23 -23 -22 -22 -23 -24 -25 -26 -26 -27 -28 -29 -31 -33 -33 -33 -32 -31 -30 -29 -30 -29 -28 -28 -30 -28 -29 -29 -26 -23 -21 -20 -19 -18 -17 -17 -17 -16 -17 -19 -20 -21 -21 -20 -19 -16 -13 -10 -9 -7 -6 -6 -11 -16 -16 -17 -18 -18 -17 -17 -18 -19 -18 -17 -16 -16 -17 -17 -16 -15 -13 -12 -12 -13 -14 -14 -15 -14 -13 -12 -12 -16 -20 -24 -26 -26 -24 -24 -22 -18 -17 -17 -18 -20 -21 -21 -20 -21 -21 -19 -20 -20 -20 -20 -20 -20 -19 -18 -17 -16 -17 -18 -18 -17 -17 -18 -20 -22 -23 -24 -24 -25 -24 -22 -18 -14 -11 -10 -13 -17 -19 -19 -19 -20 -22 -23 -24 -25 -26 -4 -3 -2 -2 -1 -2 -2 -2 -3 -3 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -6 -7 -7 -6 -5 -5 -5 -5 -5 -6 -7 -8 -8 -7 -7 -7 -9 -9 -8 -7 -5 -5 -9 -21 -29 -26 -14 -8 -7 -6 -4 -3 -4 -4 -4 -3 -3 -3 -3 -3 -2 -0 1 1 1 2 2 4 6 9 11 12 12 11 10 7 5 4 4 2 -3 -6 -7 -6 -5 -3 0 2 1 -2 -4 -4 -3 -0 1 -1 -4 -6 -8 -10 -16 -22 -22 -16 -7 -2 -0 1 2 2 1 0 -0 1 1 0 -1 -1 1 4 6 10 15 21 25 25 21 16 12 8 1 -6 -11 -7 -3 -2 -5 -6 -4 -0 1 -2 -9 -13 -13 -11 -9 -8 -8 -9 -11 -14 -16 -12 -6 -1 -4 -9 -11 -11 -8 -5 -5 -5 -3 5 13 14 10 3 -4 -8 -8 -4 2 8 16 21 23 18 9 1 -4 -5 -4 -2 -3 -4 -5 -6 -12 -16 -18 -20 -21 -20 -16 -11 -5 -4 -5 -5 -4 -4 -8 -14 -20 -24 -26 -27 -27 -27 -27 -26 -25 -25 -22 -13 -7 -6 -5 -2 3 7 3 -2 -8 -12 -15 -15 -14 -12 -9 -7 -6 -7 -10 -13 -16 -17 -18 -17 -15 -14 -14 -15 -14 -13 -13 -12 -13 -14 -16 -17 -16 -13 -13 -15 -17 -20 -22 -23 -22 -22 -23 -24 -24 -23 -23 -23 -23 -23 -25 -26 -27 -27 -29 -32 -35 -34 -35 -35 -34 -32 -29 -30 -29 -29 -31 -35 -33 -30 -27 -23 -22 -22 -22 -22 -20 -18 -18 -18 -18 -18 -20 -21 -21 -22 -21 -20 -17 -13 -11 -10 -7 -5 -4 -9 -16 -18 -19 -19 -18 -17 -17 -19 -20 -18 -16 -16 -17 -17 -18 -18 -17 -14 -13 -13 -13 -14 -15 -16 -16 -14 -12 -11 -15 -19 -22 -24 -23 -23 -24 -23 -20 -18 -17 -17 -19 -21 -22 -22 -21 -21 -19 -19 -19 -19 -20 -20 -20 -19 -18 -18 -18 -17 -18 -19 -18 -18 -18 -19 -21 -23 -24 -25 -26 -26 -23 -21 -18 -14 -11 -12 -16 -19 -20 -19 -20 -21 -22 -23 -23 -23 -4 -3 -2 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -3 -4 -4 -4 -3 -3 -3 -4 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -6 -5 -5 -5 -5 -5 -6 -7 -8 -8 -6 -6 -6 -7 -8 -8 -7 -5 -2 -1 -7 -12 -12 -7 -6 -6 -4 -3 -2 -3 -2 -2 -2 -3 -3 -3 -2 -1 1 2 2 2 1 0 1 2 5 8 10 12 13 12 10 7 5 3 1 -3 -7 -8 -7 -5 -2 0 2 2 -1 -5 -6 -6 -5 -3 -2 -2 -4 -6 -8 -11 -17 -22 -22 -15 -7 -1 1 2 1 -1 -2 -2 -1 1 1 0 -0 -0 1 3 6 10 17 24 29 29 24 19 14 8 1 -6 -5 -3 -3 -6 -9 -9 -6 -2 0 -4 -9 -11 -9 -6 -6 -7 -8 -10 -12 -16 -17 -13 -7 -5 -7 -9 -9 -6 -2 -2 -3 -5 -1 7 13 14 9 1 -5 -8 -8 -7 -5 2 10 16 18 13 6 -0 -4 -6 -4 -4 -5 -5 -4 -7 -10 -13 -15 -17 -17 -15 -11 -7 -4 -4 -4 -5 -6 -9 -13 -17 -22 -24 -24 -25 -25 -26 -26 -25 -25 -23 -16 -8 -8 -9 -9 -5 0 2 -0 -4 -7 -10 -12 -13 -13 -12 -9 -7 -6 -8 -12 -15 -16 -16 -15 -15 -15 -15 -16 -16 -15 -14 -13 -13 -14 -16 -17 -17 -14 -13 -15 -17 -19 -22 -24 -24 -24 -24 -25 -25 -25 -26 -26 -22 -22 -24 -26 -26 -26 -29 -32 -35 -35 -36 -37 -36 -35 -31 -31 -29 -29 -32 -36 -35 -32 -28 -25 -24 -23 -24 -26 -22 -19 -18 -19 -19 -19 -21 -21 -21 -22 -21 -19 -17 -14 -12 -11 -9 -5 -3 -6 -15 -19 -19 -19 -18 -17 -18 -19 -19 -18 -17 -17 -17 -17 -19 -20 -20 -17 -15 -14 -14 -15 -16 -17 -18 -16 -13 -11 -13 -17 -20 -22 -20 -22 -23 -22 -21 -20 -17 -16 -18 -20 -22 -22 -22 -21 -20 -19 -19 -19 -20 -19 -19 -19 -19 -19 -18 -17 -17 -18 -19 -18 -18 -19 -20 -22 -24 -25 -26 -26 -25 -24 -21 -18 -13 -12 -15 -19 -20 -20 -20 -21 -21 -22 -22 -22 -3 -2 -2 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -4 -5 -6 -7 -7 -7 -5 -4 -4 -4 -4 -5 -6 -7 -8 -7 -6 -6 -6 -6 -6 -8 -8 -8 -6 -6 -9 -11 -10 -8 -7 -5 -4 -3 -2 -2 -1 -1 -1 -2 -2 -2 -1 -0 1 2 3 2 1 0 -1 -1 0 3 6 8 10 12 12 10 8 6 3 -2 -8 -10 -9 -6 -2 1 3 2 -1 -5 -7 -8 -8 -6 -4 -3 -3 -5 -7 -9 -13 -18 -22 -20 -13 -5 0 2 0 -2 -4 -4 -3 -2 0 2 1 0 0 1 2 4 10 19 29 35 35 29 23 16 9 1 -1 -2 -3 -7 -10 -12 -11 -7 -2 -3 -7 -9 -9 -4 -1 -2 -5 -8 -10 -15 -18 -17 -12 -8 -8 -8 -8 -5 1 2 -0 -3 -3 2 7 10 9 7 2 -3 -6 -6 -7 -7 -2 4 10 11 8 4 -1 -4 -5 -7 -8 -8 -6 -7 -8 -10 -12 -14 -15 -14 -12 -8 -5 -4 -4 -5 -8 -11 -13 -16 -20 -22 -22 -22 -22 -23 -24 -25 -26 -24 -19 -11 -8 -8 -9 -10 -8 -5 -3 -3 -4 -6 -8 -11 -14 -16 -14 -10 -7 -6 -10 -13 -15 -15 -13 -13 -15 -17 -18 -18 -18 -16 -15 -13 -14 -16 -17 -17 -15 -14 -15 -17 -19 -22 -24 -24 -24 -25 -25 -25 -27 -29 -29 -25 -23 -24 -27 -27 -26 -27 -30 -32 -34 -35 -36 -37 -37 -33 -32 -30 -29 -31 -34 -34 -31 -28 -29 -28 -25 -24 -26 -23 -21 -20 -20 -20 -19 -21 -21 -21 -22 -22 -20 -18 -15 -13 -12 -10 -6 -2 -3 -12 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -18 -20 -21 -22 -20 -18 -16 -15 -15 -16 -19 -20 -18 -15 -11 -11 -14 -18 -20 -19 -21 -22 -21 -20 -19 -17 -16 -17 -19 -21 -22 -22 -22 -22 -20 -19 -19 -19 -19 -19 -19 -19 -19 -18 -17 -16 -17 -18 -18 -18 -18 -19 -22 -24 -25 -26 -27 -26 -26 -24 -21 -17 -14 -15 -18 -21 -20 -20 -20 -21 -22 -21 -21 -3 -3 -3 -4 -5 -5 -4 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -4 -4 -4 -4 -2 -1 -1 -2 -3 -5 -6 -8 -8 -7 -6 -4 -4 -4 -4 -5 -7 -7 -7 -7 -7 -8 -8 -8 -9 -10 -11 -12 -12 -11 -11 -11 -12 -13 -11 -8 -5 -4 -2 -0 0 0 -1 -1 -1 -0 -0 0 1 2 3 3 3 2 1 -1 -1 -0 2 4 6 8 10 10 10 10 7 1 -6 -10 -11 -9 -4 1 2 2 -1 -5 -7 -8 -7 -6 -4 -2 -2 -4 -6 -9 -12 -15 -19 -21 -17 -11 -3 2 1 -2 -4 -5 -4 -4 -2 1 2 2 1 0 0 -0 1 9 21 34 42 41 35 27 19 10 6 2 -3 -7 -9 -11 -13 -12 -7 -4 -7 -9 -10 -6 1 3 1 -3 -8 -12 -17 -19 -16 -12 -10 -9 -7 -4 3 5 3 -0 -1 2 4 5 6 7 3 -1 -4 -4 -5 -7 -6 -3 1 2 2 1 -1 -2 -3 -5 -9 -10 -8 -8 -8 -9 -10 -12 -14 -14 -12 -10 -7 -5 -4 -4 -7 -12 -15 -17 -19 -21 -21 -20 -19 -19 -20 -22 -24 -24 -21 -14 -10 -8 -9 -9 -10 -10 -8 -5 -3 -4 -5 -8 -13 -17 -18 -14 -9 -6 -9 -12 -14 -14 -12 -12 -14 -17 -18 -19 -19 -18 -16 -14 -14 -15 -17 -18 -17 -15 -16 -17 -19 -22 -23 -24 -24 -24 -25 -27 -28 -29 -29 -27 -25 -24 -25 -25 -25 -25 -26 -28 -30 -31 -33 -36 -36 -34 -33 -31 -29 -29 -31 -31 -29 -26 -29 -28 -26 -24 -24 -24 -23 -22 -23 -23 -20 -20 -20 -21 -23 -23 -22 -19 -15 -13 -12 -10 -8 -5 -3 -8 -14 -17 -18 -18 -18 -18 -17 -17 -18 -19 -18 -18 -18 -19 -21 -22 -22 -20 -19 -17 -16 -17 -18 -19 -18 -16 -12 -10 -12 -16 -19 -19 -20 -22 -21 -20 -19 -17 -16 -16 -18 -20 -21 -21 -21 -22 -21 -20 -19 -19 -19 -19 -20 -19 -19 -18 -17 -16 -16 -18 -18 -18 -18 -18 -21 -23 -24 -26 -28 -28 -28 -26 -23 -20 -17 -15 -17 -21 -21 -20 -20 -22 -22 -21 -20 -4 -5 -5 -6 -5 -5 -4 -2 -1 -1 -1 -1 -2 -3 -4 -5 -4 -4 -3 -3 -3 -2 -1 -1 -2 -3 -5 -7 -8 -8 -8 -7 -5 -4 -4 -4 -5 -7 -7 -6 -6 -8 -11 -13 -13 -13 -13 -11 -8 -7 -8 -10 -12 -14 -15 -14 -11 -8 -5 -2 -0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 1 0 -0 0 1 2 4 5 6 7 9 9 6 -0 -6 -10 -12 -7 -2 -0 -1 -2 -4 -6 -7 -7 -6 -4 -3 -2 -2 -3 -7 -11 -14 -17 -19 -17 -14 -10 -4 -0 -0 -2 -2 -1 -3 -3 -1 1 3 2 1 0 -1 -3 -2 6 20 37 45 45 39 30 22 15 7 0 -5 -7 -9 -11 -13 -11 -7 -7 -10 -12 -11 -2 5 8 5 -1 -8 -14 -18 -19 -16 -13 -11 -9 -6 2 6 6 2 0 2 3 3 3 3 2 0 -1 -2 -2 -4 -5 -5 -3 -1 -1 -3 -5 -5 -4 -5 -7 -10 -10 -9 -9 -9 -10 -12 -13 -14 -14 -12 -10 -8 -5 -3 -6 -12 -16 -18 -19 -21 -21 -19 -17 -16 -17 -19 -21 -23 -22 -17 -12 -10 -9 -9 -9 -9 -10 -9 -8 -7 -6 -6 -11 -17 -19 -17 -13 -8 -9 -12 -13 -13 -12 -11 -13 -15 -17 -18 -19 -19 -19 -16 -15 -17 -19 -20 -19 -18 -18 -19 -20 -21 -21 -22 -23 -23 -25 -27 -29 -29 -28 -26 -25 -23 -23 -23 -24 -24 -23 -24 -25 -26 -29 -32 -34 -34 -33 -31 -28 -28 -28 -27 -26 -25 -27 -26 -25 -24 -24 -23 -23 -23 -23 -22 -20 -19 -20 -21 -22 -23 -21 -19 -16 -14 -13 -11 -9 -7 -3 -6 -10 -13 -15 -17 -18 -18 -17 -18 -19 -19 -19 -18 -19 -19 -20 -21 -22 -22 -20 -18 -17 -18 -18 -17 -16 -16 -13 -10 -11 -15 -18 -18 -20 -22 -22 -21 -20 -19 -18 -16 -16 -18 -20 -20 -20 -21 -21 -20 -19 -19 -19 -19 -20 -20 -20 -19 -18 -17 -17 -18 -19 -18 -18 -18 -20 -21 -23 -25 -28 -29 -29 -27 -24 -23 -19 -16 -15 -20 -21 -21 -20 -23 -23 -21 -20 -6 -6 -6 -6 -5 -4 -3 -2 -2 -1 -1 -2 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -6 -7 -7 -7 -6 -6 -6 -4 -4 -4 -5 -5 -5 -5 -6 -7 -10 -12 -14 -14 -12 -9 -7 -7 -7 -7 -9 -12 -14 -14 -13 -11 -7 -3 -2 -1 0 1 1 1 1 2 2 2 1 1 1 2 2 3 2 1 -0 0 1 1 1 1 0 1 4 7 8 5 -1 -7 -11 -9 -5 -4 -4 -4 -3 -3 -5 -6 -6 -4 -3 -2 -2 -2 -5 -9 -12 -15 -17 -16 -16 -15 -12 -6 -1 1 1 1 -0 -2 -2 -0 2 3 2 2 2 -1 -4 -3 3 15 31 40 44 41 34 25 15 5 -2 -5 -6 -9 -12 -13 -9 -7 -9 -13 -17 -11 1 11 14 8 -1 -10 -16 -18 -19 -16 -13 -11 -9 -2 5 7 6 2 2 3 3 2 0 0 -0 -1 -2 -1 -2 -4 -5 -5 -3 -1 -1 -2 -4 -6 -6 -7 -9 -10 -10 -10 -10 -10 -11 -13 -15 -15 -14 -12 -10 -7 -5 -6 -11 -16 -19 -20 -21 -21 -19 -17 -14 -14 -15 -18 -20 -22 -19 -14 -10 -9 -9 -9 -9 -9 -10 -11 -11 -9 -8 -9 -15 -18 -18 -14 -10 -11 -12 -13 -13 -12 -11 -12 -14 -17 -17 -18 -20 -21 -18 -17 -19 -21 -22 -21 -20 -20 -19 -19 -20 -20 -21 -23 -23 -24 -27 -29 -29 -28 -25 -23 -23 -23 -23 -22 -22 -22 -22 -22 -23 -26 -30 -32 -34 -33 -31 -27 -27 -25 -24 -23 -25 -25 -23 -23 -24 -24 -23 -23 -23 -22 -20 -19 -19 -20 -21 -21 -20 -19 -18 -17 -16 -15 -13 -10 -8 -4 -4 -8 -12 -14 -16 -18 -17 -17 -19 -19 -20 -20 -18 -19 -19 -19 -20 -21 -22 -21 -20 -19 -19 -18 -17 -15 -15 -13 -11 -10 -13 -17 -18 -20 -22 -23 -22 -21 -20 -19 -16 -16 -18 -20 -21 -19 -19 -20 -20 -19 -19 -19 -19 -20 -21 -21 -19 -18 -17 -18 -19 -19 -19 -19 -19 -19 -20 -23 -25 -27 -28 -28 -26 -24 -24 -21 -17 -14 -18 -21 -22 -21 -22 -23 -22 -21 -7 -7 -6 -5 -4 -3 -3 -3 -2 -2 -2 -1 -2 -3 -3 -2 -2 -2 -2 -1 -2 -3 -4 -3 -3 -5 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -6 -9 -11 -13 -13 -10 -8 -6 -5 -4 -4 -6 -9 -11 -11 -12 -12 -10 -6 -4 -3 -2 0 2 1 1 1 1 2 2 2 1 1 1 2 2 1 -0 0 1 2 1 -0 -2 -3 -2 2 5 7 4 -1 -6 -6 -5 -6 -7 -6 -3 -2 -3 -5 -5 -4 -3 -2 -1 -1 -3 -7 -11 -14 -16 -15 -15 -17 -19 -14 -6 1 5 4 3 1 -1 -1 2 3 3 2 3 1 -2 -4 -5 -2 6 17 28 35 37 31 22 11 3 -1 -3 -5 -8 -12 -11 -8 -8 -11 -18 -18 -9 4 15 15 7 -2 -10 -15 -20 -20 -16 -12 -12 -7 0 7 9 6 3 3 3 2 0 -1 -1 -2 -2 -1 -1 -2 -4 -6 -6 -3 1 4 3 -1 -4 -5 -6 -9 -11 -12 -11 -12 -13 -15 -17 -17 -15 -13 -11 -9 -7 -7 -10 -15 -20 -21 -21 -21 -20 -18 -14 -13 -13 -15 -18 -21 -20 -16 -12 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -11 -13 -15 -15 -13 -11 -11 -11 -12 -12 -12 -11 -11 -13 -15 -15 -16 -19 -20 -19 -18 -20 -22 -22 -22 -21 -20 -20 -19 -19 -20 -21 -22 -23 -24 -26 -28 -30 -29 -25 -23 -22 -24 -23 -22 -21 -22 -23 -22 -23 -25 -30 -32 -36 -36 -34 -30 -25 -23 -22 -22 -24 -23 -21 -20 -22 -23 -23 -23 -22 -22 -20 -18 -18 -19 -20 -20 -19 -18 -17 -19 -19 -17 -15 -12 -8 -5 -4 -8 -13 -14 -16 -17 -16 -17 -19 -19 -20 -20 -19 -19 -19 -18 -18 -20 -21 -21 -20 -19 -19 -18 -17 -16 -16 -14 -11 -10 -11 -15 -18 -20 -22 -23 -22 -22 -21 -20 -17 -16 -17 -19 -20 -19 -18 -18 -20 -20 -19 -18 -19 -20 -21 -22 -20 -19 -18 -18 -18 -19 -19 -19 -19 -19 -19 -22 -24 -26 -27 -26 -25 -24 -25 -23 -19 -15 -16 -20 -22 -21 -21 -22 -22 -21 -8 -7 -5 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -3 -4 -5 -6 -6 -7 -7 -7 -6 -5 -4 -4 -5 -6 -6 -6 -5 -5 -6 -9 -10 -11 -9 -6 -5 -5 -4 -3 -3 -4 -6 -7 -7 -9 -11 -10 -8 -6 -6 -4 -1 2 2 1 -1 -2 -0 1 2 1 0 -1 -0 1 1 0 0 1 3 4 2 -1 -3 -4 -2 -0 4 5 3 -0 -2 -4 -6 -8 -9 -6 -4 -4 -5 -4 -3 -2 -1 -0 0 -2 -5 -9 -14 -15 -14 -14 -17 -23 -23 -14 -2 6 7 6 3 1 0 1 3 3 3 4 4 2 -0 -3 -6 -7 -4 4 15 26 29 25 16 7 2 -0 -3 -6 -10 -11 -9 -8 -9 -16 -21 -18 -8 6 14 11 5 -4 -12 -19 -20 -18 -14 -12 -9 -3 4 11 10 6 4 4 5 3 1 -0 -1 -2 -2 -1 -1 -3 -6 -9 -7 -1 7 10 6 2 -1 -2 -5 -9 -12 -13 -13 -14 -16 -18 -18 -16 -13 -11 -9 -9 -10 -12 -16 -20 -22 -21 -21 -22 -21 -16 -12 -11 -12 -16 -20 -20 -18 -15 -11 -11 -10 -9 -9 -8 -9 -9 -9 -10 -12 -12 -13 -12 -11 -11 -11 -12 -12 -13 -12 -12 -11 -12 -12 -13 -15 -17 -19 -17 -17 -19 -21 -21 -21 -21 -21 -20 -19 -21 -22 -22 -23 -23 -23 -24 -25 -28 -28 -26 -24 -22 -23 -23 -22 -22 -23 -24 -24 -24 -25 -28 -31 -36 -39 -39 -34 -25 -20 -19 -20 -20 -20 -19 -19 -20 -21 -22 -23 -22 -21 -19 -18 -17 -17 -18 -20 -20 -19 -19 -20 -21 -20 -18 -15 -10 -6 -5 -8 -15 -16 -17 -18 -17 -16 -18 -19 -19 -19 -18 -18 -18 -17 -19 -20 -20 -21 -20 -19 -18 -17 -17 -18 -18 -16 -14 -11 -11 -14 -17 -20 -22 -22 -23 -22 -21 -20 -18 -17 -16 -17 -19 -19 -18 -18 -19 -20 -19 -18 -18 -19 -21 -21 -21 -20 -19 -18 -18 -18 -19 -19 -19 -18 -18 -21 -22 -24 -25 -24 -24 -24 -25 -25 -21 -17 -16 -18 -20 -20 -20 -21 -21 -21 -7 -5 -4 -3 -3 -4 -3 -2 0 1 1 0 -1 -2 -4 -4 -4 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -6 -7 -6 -5 -5 -7 -7 -7 -7 -8 -10 -10 -9 -7 -3 -3 -4 -4 -4 -3 -3 -3 -3 -5 -7 -8 -9 -7 -6 -7 -6 -4 0 2 1 -1 -3 -2 0 1 1 -0 -1 -2 -1 0 1 1 1 3 5 6 3 -0 -2 -3 -4 -2 0 2 2 -0 -2 -5 -7 -10 -9 -8 -8 -8 -4 -1 -0 -0 0 1 1 -2 -7 -13 -15 -13 -13 -17 -25 -28 -21 -9 4 9 8 6 4 2 2 2 3 3 4 5 6 4 2 -3 -8 -12 -12 -4 9 18 21 17 11 6 2 -0 -3 -7 -10 -9 -8 -8 -12 -20 -22 -17 -5 7 11 8 1 -8 -17 -20 -19 -15 -11 -9 -5 1 9 12 9 7 6 7 6 4 2 -0 -2 -2 -1 -1 -2 -6 -11 -12 -7 3 12 12 8 4 2 1 -4 -9 -13 -15 -14 -15 -16 -18 -17 -14 -10 -8 -8 -10 -14 -18 -22 -25 -24 -23 -23 -24 -21 -14 -10 -9 -13 -16 -19 -19 -17 -13 -12 -11 -10 -9 -8 -8 -8 -9 -10 -11 -13 -13 -12 -11 -11 -11 -12 -13 -13 -13 -12 -11 -11 -10 -11 -14 -17 -18 -16 -16 -18 -19 -19 -20 -22 -23 -22 -21 -22 -22 -22 -22 -22 -22 -22 -22 -24 -26 -26 -24 -23 -23 -23 -23 -23 -24 -24 -25 -25 -25 -25 -29 -34 -38 -41 -37 -27 -21 -19 -19 -19 -19 -19 -18 -19 -20 -22 -22 -21 -21 -19 -18 -17 -17 -17 -19 -20 -21 -21 -22 -23 -23 -22 -19 -14 -8 -6 -7 -14 -17 -18 -18 -17 -16 -17 -18 -18 -19 -18 -18 -17 -17 -20 -20 -20 -20 -21 -19 -17 -16 -17 -19 -19 -18 -17 -14 -12 -14 -17 -19 -20 -21 -22 -22 -21 -20 -20 -18 -17 -16 -19 -19 -19 -18 -19 -20 -18 -17 -18 -19 -20 -20 -21 -21 -20 -19 -18 -19 -18 -18 -18 -18 -18 -19 -20 -22 -22 -22 -23 -24 -25 -25 -23 -18 -17 -18 -18 -18 -19 -20 -20 -20 -6 -5 -4 -4 -3 -2 -1 1 2 1 0 -1 -2 -3 -5 -5 -5 -3 -4 -4 -5 -5 -7 -8 -8 -8 -8 -7 -5 -2 -0 -2 -9 -12 -10 -5 -4 -6 -6 -7 -9 -12 -11 -10 -8 -6 -5 -4 -4 -4 -4 -3 -2 -1 -1 -4 -6 -6 -6 -6 -5 -7 -7 -5 -2 1 2 1 -1 -2 -0 0 0 -0 -2 -4 -3 -2 1 2 1 1 3 6 6 4 0 -2 -3 -4 -3 -1 2 1 -1 -4 -6 -9 -10 -13 -15 -14 -7 -1 2 1 1 2 2 -0 -5 -11 -14 -13 -13 -16 -23 -29 -26 -16 -3 8 9 8 5 4 3 2 1 2 3 5 7 8 7 3 -3 -9 -14 -13 -5 5 11 13 11 7 4 1 -1 -4 -7 -9 -8 -8 -9 -15 -20 -20 -15 -2 7 9 5 -4 -14 -19 -19 -17 -12 -7 -6 -3 2 9 11 10 9 8 7 6 5 2 -1 -1 -0 0 -2 -6 -12 -16 -15 -6 6 11 11 8 6 5 2 -4 -10 -13 -14 -13 -14 -15 -16 -14 -11 -8 -6 -10 -15 -21 -26 -29 -29 -26 -24 -25 -27 -21 -13 -8 -9 -12 -15 -18 -18 -15 -12 -11 -10 -10 -9 -9 -9 -9 -9 -11 -12 -13 -13 -13 -12 -12 -13 -14 -13 -13 -12 -11 -9 -8 -11 -14 -16 -15 -16 -16 -16 -17 -17 -19 -22 -24 -23 -22 -22 -22 -22 -22 -23 -22 -22 -22 -23 -25 -25 -24 -23 -23 -23 -24 -24 -24 -24 -25 -25 -25 -24 -26 -30 -35 -40 -36 -29 -23 -21 -20 -21 -20 -19 -18 -19 -19 -20 -20 -20 -19 -20 -20 -19 -18 -16 -18 -19 -21 -23 -23 -24 -25 -25 -23 -18 -12 -7 -6 -12 -16 -18 -18 -17 -16 -16 -16 -17 -18 -18 -18 -17 -18 -19 -20 -20 -20 -21 -20 -18 -17 -17 -19 -19 -19 -18 -17 -14 -14 -16 -18 -19 -21 -21 -21 -20 -21 -21 -20 -18 -16 -18 -19 -19 -18 -18 -18 -17 -17 -17 -18 -20 -20 -21 -21 -21 -20 -19 -19 -18 -18 -18 -18 -18 -18 -19 -20 -20 -20 -21 -23 -24 -25 -24 -20 -19 -19 -19 -18 -19 -19 -20 -20 -7 -6 -4 -2 -1 0 2 2 1 -0 -1 -2 -3 -3 -4 -5 -5 -4 -4 -4 -4 -6 -8 -10 -11 -10 -9 -7 -4 -0 1 -3 -11 -14 -12 -7 -5 -5 -4 -5 -9 -13 -11 -8 -6 -7 -9 -8 -6 -4 -3 -1 -0 0 -0 -2 -5 -6 -7 -7 -6 -5 -5 -5 -4 -2 -0 1 2 1 1 -0 -1 -3 -4 -6 -7 -7 -5 -1 1 1 2 4 8 8 6 1 -4 -6 -4 -2 0 -0 -1 -3 -4 -7 -11 -15 -18 -19 -14 -5 1 3 2 3 3 1 -3 -8 -12 -13 -13 -15 -20 -26 -26 -21 -10 3 8 8 6 6 4 2 0 -1 1 4 8 10 10 8 3 -2 -8 -11 -9 -3 3 7 8 6 3 2 0 -2 -5 -7 -8 -8 -7 -11 -16 -20 -19 -10 1 7 6 -1 -9 -14 -17 -17 -13 -7 -4 -4 -4 2 7 11 13 13 11 9 8 6 3 -0 -1 -1 -2 -6 -12 -18 -19 -15 -4 5 9 9 7 6 5 1 -5 -10 -12 -12 -12 -13 -13 -13 -11 -9 -7 -10 -16 -22 -28 -32 -32 -28 -24 -24 -28 -26 -18 -9 -5 -4 -6 -11 -15 -15 -12 -11 -11 -10 -9 -9 -9 -10 -10 -11 -12 -12 -13 -14 -13 -14 -14 -13 -13 -13 -13 -12 -10 -9 -10 -12 -14 -13 -15 -16 -16 -17 -18 -19 -22 -24 -23 -21 -20 -21 -22 -23 -23 -22 -22 -23 -24 -25 -25 -24 -23 -24 -23 -24 -24 -24 -24 -24 -25 -25 -24 -24 -28 -33 -37 -34 -29 -26 -24 -23 -22 -21 -20 -19 -18 -18 -19 -19 -19 -18 -20 -21 -22 -20 -17 -17 -18 -20 -21 -22 -24 -25 -27 -25 -23 -18 -12 -5 -9 -15 -18 -18 -17 -16 -15 -15 -15 -17 -18 -17 -17 -19 -19 -19 -19 -19 -20 -20 -19 -18 -17 -19 -19 -19 -19 -18 -16 -15 -15 -17 -18 -20 -21 -21 -20 -21 -21 -20 -19 -17 -17 -19 -19 -17 -17 -17 -16 -16 -17 -18 -20 -20 -20 -21 -22 -21 -20 -20 -19 -18 -18 -18 -17 -18 -19 -19 -19 -19 -20 -22 -24 -24 -24 -21 -21 -20 -20 -19 -20 -20 -19 -19 -7 -6 -3 0 2 2 2 2 0 -1 -2 -3 -3 -3 -4 -4 -5 -4 -4 -4 -4 -4 -7 -10 -11 -11 -10 -7 -2 0 -1 -6 -10 -10 -9 -9 -9 -8 -5 -4 -6 -9 -6 -4 -3 -6 -12 -12 -9 -4 -1 -0 0 1 1 -0 -3 -5 -6 -6 -6 -5 -4 -4 -3 -2 -1 1 2 1 1 0 -1 -2 -4 -5 -7 -9 -10 -8 -5 -1 1 1 4 6 7 4 -0 -2 -1 1 1 0 -1 -2 -4 -6 -9 -12 -16 -19 -19 -11 -3 2 3 3 3 1 -2 -6 -11 -13 -14 -16 -19 -21 -23 -22 -15 -4 3 5 5 6 7 5 1 -1 -2 1 5 9 11 11 7 3 -1 -5 -7 -5 -2 2 4 4 2 1 1 -0 -3 -6 -8 -8 -7 -9 -12 -16 -19 -14 -5 3 5 1 -6 -10 -13 -15 -14 -8 -4 -3 -5 -4 1 8 14 18 16 14 12 10 6 1 -2 -3 -4 -7 -11 -16 -19 -17 -9 -1 5 8 8 7 6 4 -1 -6 -8 -10 -11 -11 -11 -11 -11 -11 -10 -13 -18 -24 -29 -33 -32 -28 -23 -21 -26 -27 -22 -12 -4 0 3 0 -7 -13 -13 -12 -12 -11 -11 -10 -10 -11 -12 -12 -12 -12 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -10 -8 -9 -10 -12 -13 -15 -17 -18 -19 -19 -19 -20 -22 -23 -21 -21 -21 -21 -23 -22 -22 -23 -24 -24 -24 -24 -24 -24 -23 -23 -23 -23 -25 -25 -24 -25 -25 -24 -24 -27 -31 -34 -32 -30 -28 -26 -25 -23 -23 -22 -21 -19 -18 -18 -19 -20 -18 -20 -21 -22 -22 -20 -19 -20 -21 -20 -21 -23 -26 -27 -26 -25 -21 -15 -8 -10 -14 -17 -18 -18 -17 -16 -15 -15 -17 -18 -17 -17 -19 -19 -19 -19 -19 -20 -21 -20 -19 -18 -18 -19 -19 -19 -18 -17 -16 -15 -17 -16 -18 -19 -20 -19 -20 -21 -21 -19 -16 -16 -18 -18 -16 -15 -15 -15 -16 -16 -18 -19 -20 -20 -22 -22 -21 -20 -20 -19 -19 -18 -18 -17 -18 -18 -19 -19 -19 -20 -21 -22 -24 -24 -24 -23 -22 -20 -20 -20 -20 -20 -19 -6 -3 0 3 3 2 2 1 -0 -1 -2 -2 -3 -4 -4 -4 -5 -5 -4 -3 -2 -2 -5 -7 -9 -10 -10 -6 -2 -2 -4 -7 -6 -5 -7 -10 -12 -10 -7 -5 -5 -7 -5 -3 -3 -6 -9 -7 -4 -2 -0 -1 -2 -1 0 1 -1 -3 -5 -5 -5 -5 -4 -2 -2 -1 -0 1 2 2 1 -0 -1 -3 -4 -5 -5 -7 -9 -11 -10 -7 -3 -0 1 1 1 2 0 -0 2 5 5 4 2 -0 -3 -5 -7 -9 -12 -16 -20 -17 -8 -0 3 4 3 1 -3 -6 -9 -12 -15 -18 -19 -18 -19 -20 -17 -8 -1 2 3 4 5 5 4 1 -2 -2 0 4 7 9 9 7 5 2 -2 -4 -3 0 2 2 1 -0 -0 -0 -2 -5 -7 -8 -7 -8 -10 -13 -16 -15 -10 -3 2 0 -5 -8 -10 -12 -14 -10 -6 -3 -4 -5 -4 1 8 16 19 19 18 15 11 5 0 -3 -6 -9 -11 -13 -15 -15 -9 -2 5 9 10 10 8 5 1 -3 -4 -6 -8 -9 -9 -10 -10 -12 -13 -16 -21 -27 -32 -33 -32 -28 -23 -18 -22 -25 -22 -15 -9 -7 -2 2 0 -8 -11 -12 -11 -11 -10 -10 -10 -11 -13 -14 -13 -13 -14 -14 -13 -14 -14 -15 -14 -14 -14 -13 -11 -9 -9 -10 -10 -12 -14 -16 -17 -18 -18 -18 -19 -21 -23 -24 -24 -23 -22 -24 -23 -22 -23 -23 -23 -23 -23 -23 -24 -24 -23 -23 -24 -25 -25 -25 -24 -25 -24 -25 -27 -29 -30 -31 -31 -30 -29 -27 -25 -24 -24 -22 -20 -19 -19 -19 -19 -19 -19 -19 -20 -22 -22 -22 -23 -25 -22 -21 -23 -26 -26 -26 -25 -23 -17 -11 -10 -12 -15 -17 -16 -17 -17 -16 -15 -17 -18 -18 -18 -18 -19 -19 -19 -19 -20 -21 -21 -20 -19 -18 -18 -19 -19 -18 -18 -17 -16 -16 -15 -16 -18 -19 -19 -20 -20 -21 -20 -17 -16 -16 -18 -16 -14 -14 -14 -15 -16 -18 -19 -20 -20 -22 -21 -21 -20 -20 -20 -19 -19 -18 -18 -18 -18 -19 -19 -20 -20 -20 -21 -23 -25 -25 -25 -23 -21 -20 -20 -20 -21 -20 -4 -0 3 4 3 2 1 1 1 0 -0 -1 -4 -6 -6 -6 -5 -4 -3 -2 -2 -2 -3 -5 -6 -7 -7 -4 -2 -4 -6 -7 -4 -4 -5 -8 -8 -6 -6 -7 -7 -6 -4 -3 -4 -5 -5 -2 -0 0 0 -1 -2 -3 -1 0 -1 -3 -5 -5 -5 -4 -3 -2 -2 -1 -0 1 2 3 2 0 -1 -2 -3 -3 -3 -4 -5 -8 -9 -9 -6 -2 -1 -2 -3 -3 -3 -2 2 6 9 9 7 3 -2 -5 -6 -6 -8 -11 -18 -18 -12 -5 1 4 4 1 -3 -7 -8 -11 -15 -18 -18 -15 -15 -16 -17 -11 -5 -0 1 1 2 4 4 3 1 -1 -2 -1 1 3 5 6 7 7 3 -1 -2 -0 2 3 2 0 -1 -1 -3 -5 -7 -8 -7 -7 -9 -10 -13 -13 -12 -9 -4 -2 -4 -7 -8 -10 -11 -10 -7 -4 -3 -5 -6 -5 -1 8 15 19 20 19 16 10 4 -1 -5 -9 -11 -13 -14 -15 -11 -4 4 10 11 11 9 6 2 -1 -2 -3 -4 -6 -8 -8 -9 -11 -15 -19 -25 -32 -36 -36 -33 -29 -23 -16 -16 -19 -19 -17 -14 -13 -9 -2 4 0 -5 -9 -11 -11 -11 -10 -10 -10 -12 -13 -13 -13 -14 -14 -14 -14 -15 -15 -15 -14 -14 -14 -12 -11 -11 -11 -9 -9 -11 -14 -16 -18 -18 -18 -19 -21 -23 -25 -25 -25 -25 -25 -24 -23 -22 -21 -22 -23 -23 -23 -24 -24 -24 -25 -25 -26 -25 -25 -25 -25 -25 -26 -26 -26 -25 -29 -32 -33 -31 -28 -27 -26 -25 -23 -21 -20 -20 -20 -19 -18 -18 -18 -18 -20 -21 -22 -25 -27 -24 -23 -24 -26 -26 -25 -25 -23 -19 -14 -11 -10 -11 -16 -15 -16 -17 -18 -17 -17 -18 -19 -19 -18 -18 -18 -18 -18 -19 -20 -21 -20 -19 -19 -19 -18 -18 -18 -18 -18 -18 -16 -14 -15 -16 -18 -18 -19 -20 -21 -20 -19 -17 -16 -18 -17 -13 -12 -12 -14 -16 -17 -18 -19 -21 -20 -20 -21 -21 -20 -21 -20 -20 -19 -18 -17 -18 -18 -19 -20 -21 -21 -21 -23 -25 -27 -27 -26 -21 -20 -20 -20 -21 -20 -2 1 3 3 3 2 2 2 2 1 -0 -2 -5 -7 -7 -5 -4 -4 -3 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -4 -6 -7 -5 -4 -5 -5 -5 -5 -6 -8 -7 -5 -3 -3 -4 -5 -2 -0 1 1 -0 -1 -1 -2 -1 -0 -1 -3 -5 -5 -4 -3 -2 -2 -2 -2 -1 1 2 3 2 1 -0 -1 -2 -2 -2 -2 -1 -2 -4 -6 -6 -4 -2 -2 -4 -5 -5 -5 -2 3 9 13 11 7 0 -4 -5 -4 -4 -6 -12 -16 -14 -9 -3 2 3 1 -4 -8 -9 -11 -14 -17 -16 -13 -12 -13 -16 -13 -8 -3 -0 0 0 1 3 4 3 1 -1 -2 -1 -1 -0 1 4 7 5 2 0 -0 2 4 4 2 0 -1 -3 -5 -6 -7 -6 -7 -8 -10 -10 -11 -12 -11 -9 -5 -5 -5 -7 -8 -9 -9 -8 -6 -3 -4 -5 -7 -7 -3 6 13 17 19 18 15 10 4 -1 -5 -9 -12 -14 -15 -14 -8 -1 6 10 12 12 9 3 -0 -1 -1 -1 -3 -5 -6 -7 -11 -15 -21 -27 -35 -40 -39 -36 -31 -25 -18 -13 -13 -15 -17 -16 -15 -13 -8 -3 -0 -1 -4 -8 -10 -11 -11 -10 -10 -12 -12 -12 -12 -13 -15 -16 -16 -15 -13 -15 -15 -14 -14 -14 -12 -12 -12 -10 -8 -8 -10 -14 -17 -19 -20 -20 -19 -21 -23 -25 -26 -26 -26 -26 -25 -23 -21 -22 -24 -24 -24 -24 -25 -25 -26 -26 -26 -26 -25 -25 -26 -26 -26 -25 -25 -25 -29 -32 -34 -32 -30 -29 -28 -27 -23 -21 -20 -20 -20 -19 -18 -17 -17 -18 -19 -19 -21 -23 -26 -25 -25 -26 -26 -25 -25 -24 -24 -20 -16 -11 -8 -7 -13 -15 -17 -19 -20 -18 -18 -19 -19 -19 -18 -18 -18 -17 -17 -18 -19 -20 -20 -19 -19 -18 -18 -18 -18 -19 -19 -18 -16 -15 -15 -16 -17 -18 -19 -21 -20 -20 -18 -17 -17 -17 -16 -14 -11 -11 -13 -16 -17 -18 -19 -20 -19 -20 -20 -21 -21 -21 -22 -21 -19 -18 -17 -17 -17 -19 -20 -21 -22 -21 -22 -25 -27 -28 -28 -23 -21 -20 -20 -20 -19 -0 3 4 3 3 2 2 2 1 -0 -2 -3 -5 -7 -6 -5 -4 -4 -3 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -5 -4 -4 -4 -5 -6 -7 -7 -5 -3 -3 -3 -4 -2 -2 -1 -0 1 2 1 -1 -1 -0 -2 -4 -5 -5 -4 -2 -1 -1 -1 -2 -1 -0 1 2 2 1 -0 -0 -1 -1 -1 -1 -1 -0 -0 -1 -3 -4 -3 -3 -3 -3 -4 -5 -5 -1 6 14 14 10 3 -3 -5 -4 -2 -1 -6 -11 -13 -12 -8 -2 1 0 -4 -9 -10 -11 -13 -16 -15 -11 -9 -10 -13 -14 -10 -6 -2 -0 -1 -1 -0 1 3 2 0 -1 -2 -2 -2 -2 -1 1 3 3 2 1 1 3 4 3 2 0 -2 -5 -6 -6 -5 -5 -7 -9 -10 -9 -10 -11 -11 -8 -6 -5 -6 -7 -8 -9 -9 -8 -6 -4 -4 -6 -9 -9 -4 3 9 13 16 16 14 10 6 2 -3 -8 -12 -14 -14 -12 -7 -1 5 10 12 11 7 3 1 1 1 0 -2 -4 -7 -11 -15 -21 -27 -33 -40 -42 -41 -36 -30 -21 -13 -11 -13 -17 -17 -16 -14 -13 -12 -7 -3 -3 -5 -8 -10 -11 -11 -11 -11 -11 -10 -11 -13 -15 -17 -17 -15 -11 -14 -15 -14 -14 -13 -12 -12 -12 -11 -9 -8 -8 -11 -14 -18 -21 -21 -20 -20 -23 -25 -27 -28 -27 -26 -25 -24 -23 -23 -24 -24 -24 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -25 -24 -24 -24 -25 -27 -30 -33 -34 -32 -31 -30 -28 -24 -21 -20 -20 -20 -19 -18 -17 -17 -17 -19 -20 -20 -22 -25 -26 -27 -27 -26 -25 -24 -23 -22 -20 -18 -13 -8 -6 -11 -15 -18 -20 -21 -20 -19 -19 -20 -19 -19 -19 -18 -17 -17 -18 -19 -20 -20 -19 -18 -18 -19 -19 -19 -19 -19 -19 -18 -17 -16 -16 -16 -17 -19 -20 -20 -18 -17 -17 -16 -16 -16 -14 -12 -10 -11 -14 -17 -18 -19 -19 -19 -19 -20 -21 -21 -21 -21 -21 -20 -18 -17 -17 -17 -18 -19 -20 -21 -20 -21 -23 -26 -28 -27 -24 -21 -20 -20 -19 -20 2 3 4 3 3 3 2 1 -0 -2 -3 -4 -4 -5 -5 -4 -3 -3 -3 -5 -8 -9 -8 -5 -5 -5 -6 -6 -6 -5 -5 -6 -7 -5 -4 -4 -4 -5 -6 -6 -6 -5 -2 -2 -2 -3 -4 -5 -4 -1 5 7 3 -0 -2 -0 -2 -4 -5 -5 -4 -2 -0 0 -0 -1 -0 -0 0 2 2 1 0 -0 0 0 -0 -1 -2 -2 -1 0 0 -1 -3 -4 -3 -1 0 -1 -3 -3 3 12 15 13 7 -0 -3 -3 -1 1 -0 -7 -11 -13 -11 -7 -2 -1 -4 -9 -12 -12 -13 -14 -14 -11 -8 -7 -10 -12 -11 -8 -5 -2 -1 -1 -2 -1 0 1 0 -1 -2 -3 -3 -3 -3 -3 -2 -1 0 0 1 2 3 3 2 2 -0 -3 -6 -6 -4 -4 -5 -8 -9 -9 -9 -10 -11 -10 -7 -5 -4 -5 -7 -8 -9 -9 -8 -6 -5 -5 -8 -10 -9 -5 -1 4 7 9 11 11 11 8 4 -2 -7 -10 -12 -12 -10 -6 -2 3 9 12 11 8 5 3 4 4 2 -1 -5 -10 -15 -21 -26 -31 -36 -42 -45 -43 -35 -23 -15 -12 -13 -16 -18 -17 -16 -14 -14 -12 -9 -6 -4 -5 -8 -10 -12 -13 -11 -8 -8 -10 -12 -15 -17 -16 -13 -11 -13 -14 -14 -14 -13 -12 -11 -11 -11 -10 -10 -9 -9 -11 -16 -19 -21 -21 -21 -23 -26 -28 -30 -29 -28 -26 -24 -23 -23 -24 -24 -24 -22 -23 -24 -26 -26 -26 -26 -26 -25 -24 -24 -23 -23 -23 -24 -25 -28 -32 -34 -34 -32 -29 -28 -25 -22 -20 -20 -19 -19 -18 -17 -17 -17 -19 -20 -20 -21 -25 -27 -27 -26 -25 -24 -23 -22 -20 -18 -18 -15 -11 -9 -10 -14 -18 -20 -21 -20 -21 -20 -20 -18 -18 -19 -19 -19 -19 -19 -20 -20 -21 -20 -19 -18 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -18 -19 -18 -16 -16 -16 -16 -15 -15 -14 -13 -10 -10 -13 -16 -18 -19 -18 -18 -19 -19 -19 -20 -20 -21 -21 -19 -18 -18 -18 -18 -17 -18 -18 -19 -19 -20 -22 -25 -27 -26 -23 -21 -20 -20 -19 -20 2 2 2 2 2 2 1 -0 -1 -2 -3 -3 -4 -4 -4 -3 -2 -2 -3 -7 -10 -12 -10 -6 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -6 -5 -3 -1 -1 -2 -4 -7 -8 -6 0 8 9 4 0 -1 -1 -3 -5 -5 -5 -3 -2 -0 0 -0 0 0 -0 -1 1 3 3 2 1 0 1 0 -1 -3 -3 -3 -2 -0 0 -2 -5 -6 -3 3 4 2 1 4 11 14 14 9 4 0 -1 -0 1 2 -2 -7 -11 -12 -9 -4 -2 -4 -8 -12 -12 -11 -12 -14 -12 -8 -6 -7 -10 -10 -10 -8 -5 -1 -1 -2 -3 -2 -1 -0 -1 -2 -4 -4 -3 -2 -4 -5 -4 -3 -2 -0 1 1 1 2 2 2 -1 -4 -6 -4 -3 -5 -7 -9 -9 -8 -8 -10 -11 -9 -7 -4 -3 -5 -7 -8 -9 -9 -7 -6 -5 -6 -9 -11 -10 -7 -3 -4 -3 -0 4 9 10 8 4 -1 -5 -8 -9 -9 -8 -8 -4 2 8 11 10 8 6 7 8 6 3 -2 -8 -14 -20 -25 -30 -34 -42 -47 -44 -31 -17 -12 -12 -13 -14 -16 -18 -17 -16 -14 -13 -11 -8 -4 -3 -6 -9 -12 -14 -11 -7 -6 -8 -12 -14 -15 -15 -13 -13 -14 -14 -15 -14 -14 -13 -12 -11 -11 -12 -13 -13 -11 -10 -13 -17 -20 -21 -22 -24 -27 -29 -30 -31 -30 -27 -24 -23 -23 -24 -24 -23 -22 -23 -24 -26 -26 -26 -26 -25 -24 -23 -22 -22 -23 -23 -23 -24 -26 -30 -33 -34 -32 -29 -27 -24 -21 -20 -19 -18 -18 -18 -17 -16 -16 -18 -19 -21 -21 -25 -26 -26 -25 -25 -24 -23 -22 -20 -18 -18 -17 -15 -13 -11 -14 -17 -18 -19 -21 -22 -22 -20 -19 -19 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -18 -18 -17 -17 -17 -18 -18 -18 -18 -17 -17 -17 -16 -15 -15 -15 -16 -15 -15 -14 -14 -11 -10 -12 -15 -17 -18 -18 -18 -17 -17 -18 -19 -20 -20 -20 -19 -19 -19 -19 -18 -17 -17 -17 -18 -18 -19 -20 -22 -24 -24 -22 -21 -20 -19 -18 -19 2 2 2 1 1 1 -0 -1 -1 -1 -2 -3 -4 -3 -3 -2 -1 -1 -3 -7 -11 -13 -10 -6 -5 -5 -6 -6 -4 -4 -5 -5 -4 -5 -7 -7 -6 -5 -5 -5 -4 -1 1 -1 -3 -7 -10 -11 -6 2 8 7 4 1 -1 -2 -4 -5 -5 -5 -3 -2 -1 0 0 0 -0 -2 -3 -2 2 4 4 3 1 1 0 -0 -3 -5 -5 -5 -3 -1 -2 -5 -7 -6 -1 4 6 7 8 12 14 13 10 7 5 3 2 1 1 -0 -4 -7 -9 -7 -5 -3 -4 -6 -9 -10 -10 -11 -14 -13 -10 -6 -5 -7 -8 -9 -10 -9 -4 -0 1 -1 -3 -3 -2 -2 -2 -4 -5 -4 -1 -1 -4 -6 -6 -4 -3 -1 -0 -0 -0 1 2 1 -2 -4 -4 -3 -4 -7 -10 -9 -8 -7 -8 -10 -11 -9 -6 -2 -2 -4 -6 -8 -9 -8 -7 -6 -6 -8 -11 -13 -12 -8 -6 -6 -5 -3 2 7 9 7 3 -1 -4 -5 -6 -6 -8 -7 -4 1 5 8 9 9 9 10 9 7 3 -3 -10 -17 -24 -29 -34 -39 -41 -36 -23 -13 -11 -12 -12 -13 -15 -17 -18 -17 -14 -13 -11 -9 -6 -4 -5 -7 -10 -14 -12 -8 -5 -6 -11 -13 -14 -14 -12 -13 -14 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -14 -11 -11 -13 -16 -18 -20 -21 -24 -26 -28 -30 -31 -30 -28 -25 -24 -24 -24 -23 -22 -22 -24 -25 -26 -26 -25 -25 -24 -22 -20 -21 -22 -23 -24 -23 -23 -26 -28 -31 -33 -32 -29 -25 -23 -21 -20 -18 -17 -17 -17 -17 -16 -15 -16 -18 -21 -20 -23 -24 -24 -23 -24 -23 -22 -22 -21 -17 -16 -17 -16 -14 -12 -13 -16 -17 -19 -22 -24 -23 -21 -20 -20 -21 -21 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -19 -18 -18 -16 -16 -16 -17 -18 -18 -18 -17 -16 -16 -15 -15 -14 -15 -15 -14 -14 -14 -14 -12 -10 -11 -14 -17 -17 -18 -18 -17 -16 -17 -18 -19 -19 -19 -18 -18 -18 -19 -18 -17 -17 -17 -17 -17 -18 -19 -20 -21 -22 -22 -20 -20 -19 -18 -19 2 1 0 -0 -0 -0 -0 -0 0 -0 -2 -3 -4 -2 -1 -0 -1 -2 -4 -7 -9 -10 -9 -6 -5 -5 -6 -7 -5 -5 -4 -4 -3 -4 -6 -7 -6 -5 -5 -5 -3 0 0 -2 -5 -8 -10 -10 -5 3 8 5 2 0 -1 -2 -4 -5 -5 -4 -3 -2 -1 0 1 0 -1 -3 -5 -4 -1 2 3 4 3 1 0 -1 -2 -5 -7 -8 -9 -7 -4 -4 -5 -6 -3 1 5 8 11 13 15 14 12 9 8 7 5 3 1 -2 -5 -7 -6 -4 -3 -3 -3 -4 -6 -8 -9 -10 -13 -14 -12 -7 -4 -5 -6 -7 -9 -10 -8 -3 1 1 -1 -4 -4 -4 -3 -4 -6 -5 -3 -0 -3 -5 -7 -7 -5 -3 -2 -2 -2 -1 1 2 1 -2 -2 -3 -4 -7 -10 -10 -9 -7 -6 -8 -11 -11 -9 -4 -2 -2 -4 -6 -8 -8 -8 -8 -6 -7 -11 -14 -15 -13 -10 -8 -7 -7 -5 0 5 8 8 3 -0 -2 -2 -2 -4 -6 -7 -5 -1 3 7 9 10 10 10 9 7 4 -3 -11 -20 -27 -32 -34 -32 -27 -18 -13 -11 -11 -11 -12 -14 -16 -18 -18 -15 -13 -11 -11 -10 -8 -6 -6 -8 -12 -13 -10 -7 -5 -9 -13 -14 -14 -13 -14 -14 -15 -15 -14 -14 -14 -15 -15 -15 -14 -14 -14 -13 -12 -12 -13 -14 -17 -20 -23 -25 -27 -28 -29 -30 -28 -27 -26 -25 -25 -24 -22 -23 -24 -25 -26 -26 -24 -22 -20 -18 -18 -19 -21 -24 -24 -23 -24 -26 -27 -30 -32 -32 -29 -26 -24 -22 -21 -18 -18 -17 -17 -17 -17 -16 -16 -18 -20 -19 -20 -21 -21 -22 -22 -21 -21 -21 -21 -18 -16 -15 -15 -13 -13 -14 -15 -16 -19 -22 -24 -24 -22 -21 -21 -21 -21 -21 -20 -20 -19 -19 -20 -20 -21 -20 -19 -19 -19 -18 -17 -16 -16 -16 -16 -18 -18 -17 -16 -16 -15 -15 -14 -14 -14 -14 -13 -13 -14 -14 -11 -11 -12 -15 -16 -17 -17 -17 -15 -15 -17 -18 -19 -20 -18 -17 -17 -19 -19 -18 -18 -18 -17 -17 -18 -19 -18 -19 -21 -21 -19 -19 -19 -19 -19 1 -0 -2 -2 -2 -1 1 2 2 1 -1 -3 -3 -2 1 1 -1 -3 -5 -6 -7 -7 -6 -5 -5 -4 -4 -7 -8 -6 -4 -3 -3 -4 -5 -5 -5 -4 -5 -4 -3 -1 -1 -4 -6 -6 -6 -4 -1 3 5 3 1 -0 -1 -2 -4 -4 -4 -4 -3 -2 -1 -0 1 -0 -2 -4 -4 -4 -3 -1 0 2 3 2 1 -1 -2 -4 -7 -11 -15 -16 -10 -5 -2 -1 -1 0 4 8 10 12 13 13 13 11 10 10 9 7 4 -0 -5 -8 -9 -5 -2 -0 -1 -2 -3 -5 -7 -9 -12 -14 -13 -10 -5 -4 -5 -5 -7 -9 -9 -6 -2 1 -0 -3 -5 -5 -5 -5 -6 -6 -5 -2 -1 -3 -5 -7 -7 -5 -4 -3 -3 -3 -1 0 1 0 -1 -2 -3 -5 -9 -12 -11 -8 -4 -5 -8 -11 -12 -8 -3 -1 -2 -4 -6 -8 -9 -9 -8 -7 -9 -12 -15 -17 -16 -13 -9 -7 -8 -7 -4 1 7 7 5 2 1 1 -0 -3 -5 -6 -5 -2 2 7 10 8 7 7 8 8 5 -2 -11 -20 -25 -26 -24 -21 -18 -15 -12 -10 -10 -11 -13 -15 -17 -17 -16 -13 -11 -9 -9 -8 -8 -8 -8 -9 -11 -13 -11 -5 -4 -9 -14 -16 -16 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -13 -12 -11 -12 -15 -19 -22 -25 -26 -27 -28 -28 -29 -28 -27 -26 -25 -24 -24 -24 -24 -25 -26 -26 -23 -20 -18 -17 -17 -18 -20 -22 -24 -24 -24 -26 -26 -28 -31 -31 -30 -28 -26 -24 -22 -20 -19 -19 -19 -19 -19 -20 -19 -17 -19 -17 -18 -20 -20 -21 -20 -19 -18 -19 -21 -19 -17 -15 -14 -13 -13 -14 -15 -17 -19 -21 -22 -23 -22 -22 -21 -21 -21 -21 -20 -19 -19 -18 -19 -20 -20 -20 -19 -19 -19 -19 -19 -18 -17 -16 -16 -17 -17 -17 -16 -16 -16 -15 -15 -15 -14 -14 -14 -13 -14 -15 -13 -11 -11 -13 -15 -16 -17 -17 -15 -15 -15 -17 -19 -20 -19 -17 -16 -18 -19 -19 -18 -17 -17 -17 -18 -19 -18 -19 -20 -20 -18 -18 -19 -20 -20 -2 -3 -3 -3 -3 -0 2 3 2 1 -0 -1 -1 -1 -0 -0 -2 -3 -4 -4 -5 -5 -5 -4 -3 -3 -4 -7 -7 -5 -3 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 0 1 2 1 -0 -2 -3 -4 -4 -4 -4 -3 -2 -1 0 0 -1 -3 -4 -3 -3 -2 -2 -2 -1 2 2 1 -0 -1 -3 -7 -12 -17 -20 -15 -8 -1 2 2 2 5 7 9 9 10 10 12 12 11 12 13 13 9 4 -2 -8 -12 -9 -3 2 2 0 -1 -2 -5 -8 -12 -15 -14 -11 -7 -5 -4 -4 -5 -7 -8 -7 -5 -2 -1 -2 -4 -5 -5 -6 -7 -7 -6 -3 -2 -2 -3 -5 -7 -6 -5 -4 -4 -4 -3 -2 -1 1 -0 -1 -1 -3 -9 -13 -13 -10 -4 -2 -5 -9 -12 -11 -6 -2 -1 -2 -4 -6 -8 -9 -9 -8 -9 -10 -13 -17 -21 -19 -15 -9 -7 -9 -10 -8 -2 3 6 7 6 6 4 0 -3 -4 -5 -4 -1 3 7 7 5 3 4 6 10 10 4 -8 -14 -16 -17 -17 -17 -15 -12 -9 -8 -9 -12 -13 -14 -15 -15 -12 -10 -8 -9 -9 -9 -9 -8 -8 -11 -14 -15 -14 -11 -10 -11 -15 -17 -16 -16 -15 -15 -15 -15 -15 -14 -15 -16 -16 -16 -16 -15 -14 -12 -11 -12 -15 -19 -22 -25 -26 -26 -27 -28 -29 -28 -28 -27 -26 -24 -24 -24 -25 -25 -25 -24 -21 -19 -18 -18 -18 -18 -19 -21 -22 -23 -23 -25 -26 -28 -29 -30 -30 -29 -27 -25 -22 -21 -21 -21 -22 -22 -24 -25 -23 -19 -19 -18 -18 -19 -19 -19 -19 -18 -16 -17 -19 -20 -18 -16 -16 -15 -15 -14 -14 -16 -18 -19 -20 -22 -22 -22 -21 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -19 -19 -19 -20 -20 -19 -19 -18 -18 -16 -16 -16 -16 -17 -17 -16 -16 -16 -15 -15 -15 -14 -14 -14 -15 -15 -13 -11 -12 -13 -15 -17 -17 -16 -15 -15 -16 -18 -19 -19 -18 -16 -18 -19 -19 -18 -17 -17 -17 -18 -18 -17 -18 -19 -18 -17 -17 -18 -19 -20 -5 -5 -4 -3 -1 1 3 3 2 2 1 0 -1 -2 -1 -1 -1 -2 -2 -3 -4 -5 -5 -4 -3 -3 -5 -6 -6 -4 -2 -1 -1 -3 -4 -4 -5 -5 -4 -4 -4 -5 -3 -0 2 2 0 -1 -1 -1 -0 1 0 -1 -2 -3 -4 -4 -4 -3 -3 -2 -0 1 -0 -2 -3 -3 -2 -1 -1 -2 -3 -3 -0 1 1 0 -1 -3 -7 -11 -15 -18 -16 -10 -4 0 2 5 7 8 9 9 8 7 8 10 9 10 14 18 16 9 2 -4 -12 -12 -5 2 5 3 2 0 -3 -7 -12 -15 -15 -13 -8 -5 -4 -4 -4 -5 -5 -6 -6 -5 -3 -3 -4 -4 -5 -7 -7 -7 -6 -4 -3 -2 -2 -3 -5 -6 -6 -5 -4 -4 -4 -4 -2 -1 0 1 1 -2 -8 -13 -15 -12 -6 -2 -3 -6 -11 -12 -8 -4 -1 -0 -2 -4 -6 -8 -8 -9 -9 -10 -11 -15 -22 -25 -23 -15 -9 -8 -11 -13 -11 -6 0 5 8 9 8 5 1 -2 -3 -4 -2 0 4 5 4 0 -2 -3 2 6 8 2 -2 -5 -7 -9 -12 -14 -12 -8 -5 -6 -8 -10 -12 -12 -12 -11 -9 -8 -9 -10 -10 -9 -9 -10 -12 -14 -16 -16 -15 -13 -11 -12 -15 -17 -16 -15 -15 -17 -17 -16 -15 -16 -17 -17 -17 -16 -15 -14 -13 -12 -12 -15 -18 -21 -24 -25 -26 -27 -28 -29 -29 -28 -28 -26 -24 -24 -25 -25 -25 -23 -22 -21 -20 -19 -19 -19 -19 -19 -20 -21 -21 -22 -24 -26 -27 -28 -29 -30 -28 -26 -24 -23 -23 -23 -24 -25 -25 -27 -28 -26 -23 -22 -20 -19 -17 -16 -16 -17 -17 -16 -15 -17 -18 -18 -17 -18 -18 -17 -15 -14 -16 -17 -18 -18 -21 -21 -21 -20 -20 -21 -20 -20 -19 -20 -21 -21 -20 -20 -20 -19 -19 -20 -20 -20 -20 -20 -19 -18 -16 -16 -16 -17 -18 -17 -17 -16 -15 -14 -15 -15 -15 -15 -16 -16 -14 -11 -11 -12 -14 -16 -16 -16 -15 -15 -15 -17 -19 -20 -19 -16 -16 -19 -20 -19 -17 -17 -18 -18 -17 -17 -18 -19 -18 -17 -17 -18 -18 -18 -8 -7 -5 -3 -0 1 2 3 2 2 2 0 -2 -3 -3 -2 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -5 -6 -4 -2 -1 -1 -1 -3 -4 -5 -5 -5 -5 -5 -6 -5 -0 4 5 3 -2 -3 -2 -1 -0 -0 -1 -2 -4 -4 -4 -4 -3 -2 -2 -1 0 1 -0 -2 -3 -2 -1 -1 -1 -2 -2 -3 -2 -1 -0 -1 -4 -6 -8 -9 -11 -12 -11 -9 -6 -3 1 4 7 9 10 10 8 6 5 5 2 4 11 20 21 15 8 0 -8 -12 -7 1 6 6 4 2 -1 -6 -11 -15 -16 -14 -9 -5 -3 -3 -4 -4 -3 -3 -4 -5 -5 -5 -5 -4 -4 -6 -7 -6 -4 -4 -3 -3 -3 -3 -4 -5 -5 -5 -4 -3 -4 -4 -4 -2 -0 1 2 0 -6 -13 -16 -15 -9 -3 -2 -4 -8 -11 -10 -7 -4 -0 0 -1 -3 -6 -7 -8 -9 -10 -10 -13 -21 -28 -31 -25 -15 -9 -9 -12 -14 -13 -9 -3 2 7 9 8 5 2 -0 -2 -2 -1 1 3 2 -0 -4 -7 -7 -6 -3 -2 -1 -3 -6 -8 -9 -12 -12 -8 -2 -2 -4 -7 -9 -10 -10 -10 -9 -9 -10 -9 -9 -8 -9 -11 -13 -15 -16 -17 -16 -15 -13 -14 -15 -15 -15 -15 -16 -17 -17 -17 -17 -18 -18 -18 -17 -14 -15 -15 -14 -13 -14 -16 -18 -20 -22 -24 -26 -28 -29 -29 -30 -29 -29 -28 -26 -26 -25 -25 -25 -24 -23 -22 -21 -20 -21 -21 -20 -20 -21 -21 -20 -21 -23 -25 -26 -27 -28 -31 -28 -26 -25 -26 -25 -25 -26 -27 -26 -28 -28 -27 -25 -22 -21 -19 -16 -15 -14 -15 -16 -15 -15 -16 -16 -17 -18 -21 -21 -19 -17 -15 -16 -17 -17 -18 -20 -20 -20 -20 -20 -21 -21 -21 -20 -21 -22 -22 -22 -21 -21 -21 -20 -19 -21 -20 -20 -20 -19 -18 -17 -17 -18 -19 -19 -18 -17 -16 -15 -14 -14 -14 -15 -16 -16 -16 -15 -12 -11 -11 -13 -15 -15 -16 -15 -15 -14 -16 -18 -19 -18 -15 -15 -17 -19 -20 -18 -17 -17 -17 -17 -17 -18 -19 -20 -19 -18 -17 -17 -17 -9 -8 -5 -3 -1 1 3 3 2 1 -0 -1 -3 -4 -4 -2 -1 -1 -2 -3 -4 -5 -6 -6 -5 -5 -5 -4 -2 -2 -2 -2 -2 -4 -5 -5 -5 -5 -7 -7 -6 -2 4 7 5 1 -3 -4 -3 -1 -1 -1 -2 -3 -4 -4 -3 -3 -3 -2 -1 -1 0 1 0 -1 -2 -1 -1 -0 -1 -2 -2 -2 -2 -3 -3 -5 -8 -10 -11 -10 -9 -7 -6 -6 -5 -4 -0 2 5 7 9 10 10 8 5 -0 -8 -8 0 15 23 19 13 6 -2 -9 -7 -1 5 7 6 4 1 -4 -11 -15 -16 -15 -11 -6 -3 -2 -4 -5 -2 -0 -0 -3 -6 -8 -8 -6 -4 -6 -7 -6 -4 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -3 -3 -4 -4 -3 -1 1 2 1 -4 -11 -16 -17 -12 -5 -2 -2 -5 -9 -10 -9 -7 -5 -1 0 -1 -3 -5 -6 -7 -8 -10 -13 -20 -28 -33 -34 -24 -14 -9 -10 -12 -13 -12 -11 -8 -1 4 7 8 6 4 2 1 0 -0 -0 -0 -0 -1 -5 -10 -13 -14 -10 -6 -6 -9 -14 -14 -14 -11 -7 -1 0 -0 -3 -5 -8 -8 -8 -8 -8 -8 -8 -8 -8 -10 -12 -14 -16 -17 -17 -15 -14 -15 -18 -17 -14 -12 -12 -15 -16 -16 -16 -17 -18 -19 -18 -16 -15 -17 -18 -17 -16 -17 -18 -19 -20 -21 -24 -27 -30 -30 -30 -30 -30 -29 -29 -28 -28 -27 -26 -27 -26 -24 -23 -21 -21 -22 -22 -22 -21 -21 -20 -20 -20 -23 -24 -25 -26 -28 -32 -30 -28 -28 -30 -28 -27 -26 -27 -27 -27 -26 -24 -22 -20 -19 -18 -16 -15 -14 -14 -14 -15 -15 -16 -16 -17 -18 -22 -22 -21 -19 -16 -16 -17 -17 -18 -20 -21 -20 -20 -20 -21 -22 -22 -21 -21 -22 -23 -23 -22 -22 -22 -21 -19 -20 -20 -20 -19 -19 -19 -18 -18 -19 -20 -20 -19 -18 -16 -15 -14 -14 -14 -15 -15 -15 -15 -14 -13 -11 -11 -12 -14 -15 -15 -15 -14 -13 -15 -17 -18 -17 -14 -14 -15 -17 -18 -19 -18 -17 -16 -16 -17 -18 -20 -21 -20 -18 -17 -16 -16 -10 -7 -4 -1 2 4 4 2 1 -1 -2 -3 -4 -4 -4 -2 -1 -1 -1 -2 -4 -5 -7 -7 -6 -4 -3 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -6 -8 -8 -3 3 7 5 1 -2 -4 -4 -3 -3 -2 -2 -3 -3 -3 -2 -1 -1 -2 -2 -2 -1 -0 0 0 0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -4 -7 -9 -12 -12 -10 -8 -7 -6 -6 -6 -4 -2 1 3 5 6 7 9 10 9 6 -2 -16 -21 -13 5 17 18 15 9 1 -6 -5 -1 3 6 6 5 2 -3 -10 -15 -17 -17 -13 -6 -2 -1 -2 -5 -3 1 3 2 -3 -8 -10 -10 -7 -6 -6 -6 -4 -2 -1 -2 -3 -5 -5 -5 -5 -5 -5 -3 -2 -2 -3 -4 -3 -1 1 2 -2 -8 -14 -17 -14 -9 -4 -2 -2 -6 -7 -8 -9 -9 -6 -2 1 1 -1 -2 -4 -7 -10 -14 -20 -26 -32 -36 -32 -23 -14 -9 -9 -9 -10 -11 -12 -10 -5 -0 4 6 6 6 5 4 2 -1 -2 -1 -0 -4 -10 -15 -18 -15 -11 -10 -14 -20 -21 -17 -11 -6 -3 -2 -1 -1 -3 -5 -5 -5 -5 -4 -5 -7 -8 -10 -11 -13 -15 -18 -19 -15 -13 -13 -17 -20 -21 -17 -12 -9 -11 -12 -14 -15 -17 -18 -18 -18 -18 -17 -19 -20 -20 -19 -20 -21 -21 -21 -20 -24 -28 -30 -31 -30 -30 -30 -30 -30 -29 -29 -28 -28 -28 -27 -24 -22 -21 -22 -23 -24 -24 -24 -22 -21 -20 -21 -23 -25 -26 -27 -27 -32 -32 -31 -31 -31 -29 -27 -26 -27 -27 -24 -22 -19 -17 -17 -17 -17 -17 -16 -14 -14 -13 -14 -16 -16 -17 -18 -19 -21 -23 -23 -21 -18 -17 -17 -17 -18 -20 -20 -20 -20 -21 -21 -22 -22 -22 -22 -22 -23 -23 -22 -22 -22 -22 -21 -20 -20 -19 -19 -20 -20 -19 -19 -19 -19 -20 -19 -17 -16 -16 -14 -14 -14 -15 -15 -16 -16 -15 -14 -11 -10 -11 -14 -14 -15 -15 -14 -14 -15 -16 -17 -17 -15 -14 -14 -15 -16 -17 -17 -16 -16 -16 -17 -19 -20 -21 -21 -20 -19 -17 -16 -9 -4 1 4 5 4 3 1 -1 -3 -4 -4 -4 -5 -4 -2 -2 -1 -2 -3 -4 -6 -8 -8 -5 -2 -0 0 -1 -3 -4 -4 -4 -5 -5 -6 -6 -7 -8 -5 2 8 7 2 -2 -5 -4 -2 -3 -4 -4 -2 -2 -3 -2 -1 1 0 -2 -3 -3 -2 -1 0 0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -6 -9 -11 -11 -9 -7 -7 -7 -7 -6 -4 -3 -2 -1 2 5 7 7 8 10 10 7 -2 -18 -26 -21 -3 14 17 14 9 1 -5 -4 1 5 6 5 5 3 -1 -8 -13 -17 -18 -16 -8 -2 1 1 -3 -3 -1 3 4 1 -4 -9 -12 -11 -8 -7 -6 -5 -3 -1 -1 -2 -5 -7 -7 -6 -5 -4 -3 -1 -0 -1 -3 -3 -2 -0 1 -1 -5 -11 -15 -15 -11 -7 -4 -1 -2 -4 -6 -9 -11 -11 -7 -1 3 3 2 -1 -4 -8 -13 -19 -25 -30 -35 -37 -31 -22 -12 -9 -10 -10 -9 -9 -9 -9 -8 -5 -1 4 6 7 6 5 1 -1 -2 -1 -4 -8 -12 -16 -16 -13 -13 -17 -24 -25 -19 -12 -5 -4 -4 -3 -3 -2 -3 -3 -3 -3 -3 -4 -6 -9 -12 -13 -14 -16 -19 -20 -15 -12 -13 -18 -22 -22 -19 -15 -10 -7 -8 -10 -13 -17 -18 -18 -18 -17 -17 -19 -21 -21 -21 -21 -23 -23 -23 -21 -23 -26 -29 -31 -31 -31 -30 -30 -30 -29 -29 -29 -29 -28 -27 -24 -22 -22 -25 -27 -27 -26 -26 -24 -21 -20 -21 -25 -27 -27 -27 -27 -30 -32 -32 -31 -28 -28 -27 -26 -27 -26 -22 -17 -15 -15 -16 -17 -17 -18 -16 -15 -14 -14 -14 -16 -17 -18 -19 -19 -20 -22 -23 -22 -19 -18 -18 -17 -17 -19 -20 -20 -21 -21 -22 -22 -22 -22 -23 -23 -23 -23 -22 -22 -22 -22 -22 -21 -20 -19 -18 -20 -20 -19 -19 -18 -19 -19 -19 -18 -17 -16 -15 -15 -15 -16 -16 -16 -16 -16 -16 -12 -9 -8 -11 -13 -14 -15 -14 -14 -14 -15 -16 -17 -15 -13 -12 -13 -14 -15 -16 -16 -16 -16 -17 -19 -20 -21 -21 -22 -21 -19 -17 -4 3 7 7 4 2 1 -0 -2 -4 -5 -5 -5 -4 -3 -3 -2 -2 -2 -3 -6 -8 -9 -8 -4 -1 1 -0 -3 -4 -5 -4 -4 -5 -6 -7 -8 -9 -6 0 5 6 3 -1 -4 -5 -3 -2 -3 -4 -4 -3 -3 -3 -2 1 2 1 -2 -3 -2 -1 -0 1 1 0 -0 -0 -0 -0 0 -1 -2 -4 -5 -7 -8 -9 -8 -5 -5 -5 -6 -6 -4 -3 -2 -2 -3 -1 3 6 7 8 10 10 7 0 -14 -24 -22 -7 10 15 14 8 -1 -6 -4 2 7 7 4 3 2 1 -5 -10 -15 -18 -18 -11 -3 1 2 0 -2 -2 0 4 4 -0 -5 -9 -10 -9 -8 -7 -6 -4 -2 -0 -1 -4 -7 -9 -9 -7 -4 -2 -1 0 0 -1 -3 -3 -1 1 1 -3 -8 -13 -13 -13 -11 -7 -3 -1 -2 -4 -7 -10 -12 -11 -7 -1 3 4 3 0 -4 -10 -17 -23 -28 -33 -38 -38 -31 -18 -11 -10 -11 -10 -7 -6 -6 -7 -8 -9 -6 -2 1 4 5 3 1 -1 -0 -2 -4 -8 -13 -16 -16 -16 -18 -22 -23 -20 -14 -7 -3 -3 -4 -5 -5 -5 -3 -2 -1 -2 -3 -5 -9 -13 -16 -17 -18 -20 -21 -17 -14 -14 -17 -22 -21 -19 -17 -14 -8 -6 -7 -10 -14 -16 -17 -17 -16 -16 -19 -21 -22 -22 -23 -24 -25 -26 -25 -23 -23 -26 -30 -31 -30 -29 -29 -28 -28 -29 -29 -29 -28 -26 -24 -23 -24 -27 -29 -29 -28 -28 -27 -24 -21 -21 -26 -28 -28 -28 -28 -29 -31 -32 -30 -24 -24 -26 -27 -27 -26 -21 -17 -14 -14 -15 -17 -18 -18 -17 -16 -16 -15 -14 -15 -17 -20 -21 -20 -20 -21 -22 -23 -21 -20 -19 -17 -16 -18 -19 -20 -21 -21 -22 -22 -22 -22 -23 -23 -22 -22 -22 -22 -22 -22 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -17 -16 -16 -16 -16 -17 -17 -16 -16 -16 -14 -10 -7 -9 -11 -13 -14 -14 -13 -12 -13 -16 -17 -14 -13 -12 -13 -14 -15 -15 -15 -16 -17 -18 -18 -19 -21 -22 -23 -24 -21 -19 4 10 9 5 0 -1 0 -1 -3 -5 -6 -6 -4 -4 -5 -5 -3 -2 -2 -4 -7 -9 -10 -8 -4 -2 -1 -2 -4 -5 -4 -4 -4 -5 -6 -9 -10 -8 -2 3 5 4 1 -3 -5 -6 -4 -2 -3 -5 -5 -4 -4 -3 -1 1 1 -1 -2 -3 -2 -0 1 2 1 -0 -0 -0 0 0 0 -2 -5 -9 -9 -6 -5 -4 -4 -3 -3 -4 -4 -4 -3 -2 -1 -1 -3 -2 -0 3 6 8 9 10 8 3 -9 -19 -20 -9 6 13 13 8 -2 -8 -5 2 7 7 4 2 1 0 -3 -8 -13 -17 -18 -12 -6 0 3 4 2 -0 -0 2 3 1 -2 -5 -7 -7 -7 -6 -6 -5 -4 -3 -2 -4 -7 -9 -10 -10 -7 -4 -2 0 1 -0 -2 -2 -2 0 2 0 -4 -10 -12 -13 -13 -11 -8 -3 -2 -2 -5 -7 -10 -13 -13 -10 -2 3 5 4 0 -5 -12 -18 -24 -30 -37 -41 -38 -25 -13 -10 -11 -12 -9 -5 -3 -3 -5 -10 -11 -10 -7 -3 0 1 1 1 2 1 -1 -3 -8 -15 -19 -19 -19 -18 -19 -18 -15 -10 -3 -1 -2 -5 -7 -6 -4 -2 -0 -1 -3 -5 -9 -13 -16 -18 -19 -20 -18 -17 -16 -16 -16 -20 -20 -18 -17 -17 -14 -10 -8 -8 -12 -14 -15 -15 -15 -16 -19 -21 -23 -23 -23 -25 -27 -28 -27 -24 -23 -24 -28 -29 -28 -27 -26 -25 -26 -27 -28 -28 -27 -26 -25 -25 -26 -28 -29 -29 -29 -28 -28 -27 -25 -22 -25 -27 -29 -29 -29 -29 -30 -31 -29 -23 -21 -21 -25 -26 -25 -21 -17 -15 -14 -15 -17 -19 -19 -18 -17 -17 -16 -15 -15 -17 -20 -22 -22 -21 -20 -21 -22 -22 -21 -18 -16 -16 -17 -18 -19 -21 -21 -21 -21 -22 -22 -23 -22 -22 -22 -22 -21 -21 -21 -20 -21 -22 -22 -20 -19 -19 -19 -19 -19 -19 -19 -18 -19 -19 -18 -16 -16 -17 -17 -17 -17 -15 -15 -15 -15 -13 -9 -9 -10 -12 -13 -14 -13 -12 -12 -14 -15 -14 -12 -12 -13 -14 -15 -16 -15 -17 -18 -18 -19 -20 -21 -22 -24 -25 -24 -22 10 11 6 0 -2 -1 0 -1 -3 -6 -6 -5 -5 -6 -8 -6 -3 -0 -1 -3 -7 -10 -11 -8 -5 -3 -2 -3 -5 -5 -4 -4 -4 -6 -8 -9 -10 -6 1 4 4 2 -0 -4 -6 -7 -4 -3 -3 -5 -6 -5 -4 -3 -1 -0 -1 -2 -3 -2 -1 0 1 1 0 -1 -1 1 2 1 -0 -4 -10 -15 -13 -6 -1 -0 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -1 -2 -2 -1 1 5 8 10 9 5 -4 -13 -16 -9 2 9 11 7 -2 -8 -6 1 7 7 4 1 -0 -2 -3 -6 -10 -15 -17 -13 -8 -3 2 5 5 3 1 0 1 0 -1 -2 -2 -3 -4 -4 -5 -5 -6 -5 -4 -5 -7 -8 -10 -11 -10 -7 -4 -1 0 0 -1 -2 -2 -1 1 2 -0 -6 -10 -11 -12 -12 -11 -7 -4 -3 -3 -5 -8 -11 -14 -15 -11 -4 1 4 3 0 -5 -11 -18 -25 -34 -40 -41 -32 -17 -10 -10 -13 -13 -8 -3 -0 0 -4 -8 -10 -10 -7 -5 -4 -2 -1 1 1 1 -0 -4 -13 -19 -21 -19 -15 -13 -13 -13 -12 -6 -2 -1 -2 -6 -6 -5 -3 -3 -3 -4 -5 -8 -11 -15 -19 -20 -20 -17 -15 -15 -15 -15 -17 -18 -17 -16 -16 -17 -16 -13 -10 -12 -14 -14 -14 -15 -16 -19 -21 -23 -23 -24 -26 -29 -29 -28 -27 -24 -22 -23 -23 -23 -23 -23 -22 -23 -24 -25 -26 -26 -26 -25 -26 -27 -29 -29 -29 -28 -28 -28 -27 -25 -22 -25 -27 -29 -30 -30 -29 -29 -30 -30 -26 -20 -17 -19 -23 -23 -20 -17 -15 -15 -16 -18 -19 -19 -18 -17 -17 -17 -16 -16 -17 -19 -23 -23 -22 -21 -20 -20 -21 -21 -18 -15 -15 -16 -17 -19 -21 -21 -21 -21 -22 -22 -22 -22 -22 -22 -21 -21 -20 -21 -20 -21 -22 -22 -22 -21 -19 -18 -20 -20 -20 -19 -18 -17 -18 -18 -17 -16 -16 -17 -17 -17 -16 -15 -15 -15 -15 -12 -11 -10 -10 -12 -14 -13 -12 -12 -13 -13 -13 -13 -12 -13 -15 -15 -15 -16 -17 -18 -18 -19 -20 -20 -21 -22 -24 -24 -23 10 7 2 -2 -2 -0 -0 -1 -2 -3 -4 -4 -6 -8 -10 -6 -2 0 -1 -4 -7 -10 -11 -8 -5 -4 -3 -4 -5 -4 -4 -4 -6 -7 -9 -9 -8 -3 2 3 3 2 -1 -5 -8 -9 -6 -4 -4 -5 -5 -5 -3 -2 -2 -2 -4 -3 -3 -1 -0 0 0 -0 -2 -3 -1 1 2 1 -1 -7 -14 -19 -16 -5 1 2 -1 -2 -1 -1 -1 0 1 0 -0 -1 -1 -1 -2 -3 -3 1 6 10 10 6 -0 -8 -12 -8 -1 6 8 6 -2 -7 -6 -1 5 6 4 1 -1 -4 -5 -6 -9 -12 -15 -13 -10 -6 -2 3 6 6 4 1 -1 -2 -2 -1 0 1 0 -1 -2 -4 -6 -7 -7 -7 -8 -9 -10 -10 -10 -9 -7 -4 -1 0 0 -0 -1 -1 0 2 3 -1 -8 -11 -11 -10 -10 -10 -8 -5 -3 -4 -5 -8 -12 -16 -16 -12 -7 -2 2 2 -2 -6 -12 -19 -28 -37 -41 -37 -24 -13 -9 -11 -14 -11 -6 -1 1 1 -2 -5 -7 -7 -7 -6 -5 -4 -3 -3 -2 -1 -3 -9 -15 -19 -18 -14 -10 -9 -10 -12 -10 -5 -2 -0 -3 -5 -6 -6 -6 -5 -5 -5 -7 -10 -15 -19 -21 -20 -17 -15 -15 -16 -15 -16 -17 -18 -18 -16 -16 -17 -17 -15 -14 -14 -14 -13 -14 -16 -18 -20 -23 -23 -25 -27 -30 -31 -29 -27 -24 -20 -18 -19 -20 -22 -23 -22 -22 -22 -23 -24 -26 -26 -27 -27 -28 -29 -29 -28 -28 -28 -28 -27 -25 -23 -24 -26 -28 -29 -29 -29 -29 -29 -30 -28 -22 -16 -14 -19 -21 -20 -17 -16 -16 -17 -17 -18 -19 -18 -19 -20 -18 -17 -17 -18 -20 -23 -23 -23 -22 -21 -20 -21 -22 -20 -17 -15 -15 -17 -18 -19 -20 -20 -20 -22 -22 -22 -21 -22 -21 -21 -20 -20 -20 -20 -21 -22 -22 -22 -21 -20 -19 -21 -21 -20 -19 -18 -17 -18 -19 -18 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -15 -13 -11 -9 -11 -13 -13 -13 -12 -13 -13 -13 -12 -11 -12 -13 -14 -14 -15 -16 -17 -18 -19 -20 -20 -21 -21 -22 -22 -22 9 5 0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -6 -7 -8 -4 -2 -2 -3 -5 -7 -9 -10 -9 -6 -5 -4 -4 -5 -4 -4 -6 -8 -9 -10 -9 -6 -1 2 2 1 1 -2 -7 -11 -11 -8 -5 -4 -4 -4 -3 -2 -2 -3 -4 -4 -3 -2 -0 0 0 -1 -2 -3 -3 -2 -0 0 -0 -4 -11 -18 -21 -15 -4 2 2 -1 -1 -0 -1 -1 0 2 3 2 -0 -1 -2 -3 -5 -6 -3 3 8 10 8 4 -2 -7 -7 -1 4 6 4 -1 -5 -5 -2 2 5 4 2 -1 -5 -7 -7 -8 -10 -13 -13 -11 -7 -4 0 5 8 8 3 -1 -4 -4 -3 -0 2 3 3 1 -2 -4 -6 -8 -9 -10 -11 -10 -9 -9 -10 -9 -7 -4 -1 1 1 0 -1 -1 1 3 2 -4 -9 -10 -9 -9 -11 -10 -7 -4 -3 -4 -6 -9 -14 -17 -16 -12 -7 -4 -3 -3 -4 -7 -13 -22 -31 -37 -37 -30 -20 -11 -9 -12 -11 -8 -5 -2 1 1 0 -2 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -8 -12 -16 -17 -14 -9 -6 -6 -9 -10 -8 -5 -2 -3 -6 -7 -8 -7 -6 -5 -5 -6 -10 -14 -18 -20 -20 -19 -17 -17 -17 -16 -15 -17 -19 -20 -18 -17 -15 -14 -15 -17 -16 -14 -13 -14 -15 -17 -19 -21 -23 -25 -28 -31 -31 -29 -27 -23 -19 -16 -17 -18 -20 -22 -23 -23 -23 -23 -26 -28 -29 -29 -29 -28 -29 -28 -28 -27 -27 -27 -27 -25 -24 -24 -25 -26 -28 -27 -27 -28 -28 -28 -26 -23 -20 -15 -17 -20 -20 -17 -16 -16 -16 -17 -17 -17 -18 -19 -21 -21 -20 -19 -19 -22 -24 -24 -24 -24 -23 -22 -23 -23 -22 -20 -16 -15 -15 -16 -17 -19 -20 -20 -21 -21 -21 -21 -21 -21 -20 -20 -20 -20 -19 -20 -21 -21 -22 -21 -21 -20 -21 -21 -21 -20 -19 -18 -19 -19 -18 -17 -17 -17 -17 -17 -17 -16 -16 -17 -18 -17 -15 -12 -9 -10 -12 -13 -14 -13 -13 -13 -12 -11 -11 -11 -11 -12 -13 -14 -15 -16 -18 -20 -21 -21 -22 -21 -20 -19 -20 8 3 0 -0 0 -1 -2 -1 -1 -1 -2 -3 -4 -5 -5 -4 -3 -4 -5 -5 -6 -7 -9 -11 -10 -7 -5 -5 -4 -4 -5 -7 -9 -11 -10 -8 -4 -0 1 1 0 -1 -4 -9 -12 -12 -9 -5 -5 -4 -3 -1 -2 -3 -4 -4 -3 -2 -0 1 1 0 -1 -3 -3 -3 -2 -2 -2 -2 -7 -15 -20 -20 -12 -1 2 1 -1 -0 0 -0 -1 -1 2 3 3 1 -2 -4 -7 -9 -10 -6 2 8 12 10 7 2 -3 -3 1 3 4 2 -1 -4 -4 -3 -1 3 4 3 -1 -5 -8 -8 -9 -10 -13 -14 -12 -8 -5 -2 2 7 10 8 2 -3 -6 -5 -2 2 4 5 4 1 -2 -4 -7 -9 -12 -14 -13 -11 -8 -8 -9 -9 -7 -4 -0 1 1 -1 -2 -1 1 2 -2 -6 -8 -8 -8 -10 -11 -10 -7 -4 -4 -5 -8 -12 -16 -17 -15 -11 -8 -8 -7 -7 -6 -10 -16 -23 -30 -33 -33 -27 -18 -10 -9 -9 -9 -9 -6 -2 0 2 2 -0 -2 -3 -5 -7 -8 -8 -9 -9 -10 -11 -12 -14 -15 -14 -10 -7 -5 -5 -7 -7 -7 -5 -5 -7 -8 -9 -8 -5 -3 -3 -6 -11 -14 -16 -17 -19 -19 -19 -18 -18 -16 -16 -17 -19 -20 -20 -19 -16 -14 -15 -17 -18 -17 -16 -16 -17 -17 -18 -20 -22 -25 -28 -30 -30 -28 -25 -22 -18 -17 -16 -17 -19 -22 -24 -24 -24 -25 -28 -30 -31 -30 -29 -29 -29 -28 -27 -26 -26 -27 -26 -26 -25 -24 -25 -25 -26 -26 -26 -26 -26 -25 -23 -21 -21 -19 -20 -21 -20 -18 -17 -17 -16 -16 -16 -16 -17 -18 -20 -21 -22 -21 -19 -21 -23 -23 -23 -24 -24 -24 -25 -26 -25 -23 -19 -16 -15 -15 -16 -18 -20 -21 -20 -21 -21 -21 -21 -20 -20 -20 -20 -19 -19 -20 -21 -21 -22 -22 -21 -21 -21 -21 -22 -21 -20 -20 -20 -19 -17 -17 -17 -17 -18 -17 -17 -17 -17 -17 -19 -18 -16 -14 -11 -10 -10 -12 -14 -15 -13 -12 -12 -12 -12 -11 -10 -11 -13 -14 -15 -17 -18 -20 -21 -21 -22 -21 -19 -18 -19 6 1 0 1 0 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -5 -5 -4 -4 -5 -8 -11 -11 -10 -8 -6 -5 -5 -7 -8 -10 -11 -10 -7 -3 0 1 1 -0 -2 -6 -10 -12 -11 -8 -5 -4 -4 -3 -2 -2 -3 -4 -3 -2 -1 -0 1 1 0 -1 -2 -2 -2 -3 -3 -3 -4 -10 -18 -21 -18 -7 0 1 0 -1 -1 -1 -1 -1 -1 1 2 2 1 -2 -6 -11 -15 -15 -7 3 10 13 12 9 5 2 1 3 4 3 1 -1 -2 -3 -4 -3 -1 2 3 0 -5 -8 -8 -8 -9 -12 -15 -14 -11 -6 -2 0 4 9 12 7 1 -4 -6 -4 -1 3 5 5 3 1 -1 -3 -6 -10 -15 -17 -15 -9 -6 -7 -8 -10 -7 -3 1 3 1 -2 -2 -1 0 -1 -4 -6 -8 -8 -10 -11 -11 -9 -6 -5 -6 -9 -12 -14 -15 -14 -12 -9 -9 -8 -7 -7 -9 -13 -18 -24 -27 -30 -30 -25 -16 -9 -6 -6 -9 -10 -7 -4 -1 2 2 1 -0 -3 -6 -9 -10 -10 -11 -12 -14 -14 -14 -14 -14 -11 -8 -4 -2 -2 -4 -6 -6 -6 -7 -8 -8 -9 -6 -3 -2 -6 -11 -14 -15 -15 -15 -17 -18 -18 -18 -17 -16 -16 -18 -20 -21 -21 -19 -16 -17 -18 -18 -18 -18 -18 -19 -19 -17 -17 -20 -24 -26 -28 -28 -25 -22 -20 -18 -17 -16 -16 -18 -22 -25 -26 -26 -27 -30 -31 -31 -30 -29 -29 -29 -29 -28 -26 -26 -26 -26 -26 -26 -25 -25 -25 -25 -24 -24 -24 -23 -23 -22 -22 -22 -22 -21 -20 -19 -19 -18 -17 -17 -16 -16 -16 -16 -17 -17 -19 -22 -22 -20 -19 -19 -20 -21 -20 -22 -24 -26 -27 -27 -26 -22 -18 -16 -15 -16 -18 -20 -21 -20 -20 -21 -21 -20 -20 -20 -20 -20 -19 -19 -19 -20 -21 -21 -22 -22 -22 -21 -22 -22 -22 -20 -20 -19 -18 -16 -16 -17 -17 -18 -18 -18 -17 -18 -18 -19 -17 -17 -16 -14 -9 -9 -12 -15 -16 -13 -12 -11 -13 -13 -12 -11 -11 -12 -14 -16 -18 -19 -20 -20 -20 -21 -20 -18 -17 -17 4 1 1 1 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -8 -9 -11 -11 -11 -8 -7 -8 -10 -11 -12 -9 -5 -1 1 1 -0 -2 -4 -8 -11 -11 -10 -7 -5 -4 -3 -2 -2 -3 -3 -3 -2 -1 -1 -0 1 1 -0 -1 -2 -2 -2 -3 -3 -3 -5 -11 -18 -19 -14 -4 0 1 1 0 -1 -1 -1 -1 -0 -0 0 1 -0 -3 -9 -16 -21 -20 -9 3 11 14 14 12 9 5 3 4 5 3 -0 -2 -2 -2 -3 -4 -4 -1 2 1 -3 -7 -8 -8 -9 -11 -15 -16 -13 -8 -3 -1 2 6 10 9 5 0 -3 -3 -1 0 2 3 2 2 2 0 -2 -7 -14 -19 -20 -13 -7 -5 -6 -9 -10 -7 -2 2 2 0 -1 -2 -2 -1 -3 -5 -7 -8 -10 -11 -11 -10 -7 -6 -7 -10 -13 -15 -14 -12 -9 -8 -9 -10 -10 -10 -10 -12 -16 -20 -23 -25 -27 -26 -21 -14 -9 -6 -7 -8 -7 -5 -3 -2 1 2 2 0 -4 -8 -10 -10 -10 -12 -15 -16 -15 -14 -14 -12 -10 -6 -3 -0 -0 -2 -5 -6 -7 -7 -9 -10 -8 -5 -3 -5 -10 -15 -17 -17 -14 -15 -16 -16 -18 -18 -17 -16 -17 -19 -22 -22 -20 -18 -19 -20 -19 -18 -18 -19 -20 -20 -18 -16 -19 -22 -25 -28 -26 -23 -21 -19 -18 -17 -16 -17 -19 -23 -26 -27 -27 -27 -30 -31 -31 -30 -30 -30 -31 -30 -28 -27 -27 -26 -25 -26 -27 -26 -25 -24 -24 -23 -23 -23 -21 -21 -22 -23 -24 -25 -24 -22 -20 -19 -18 -17 -17 -17 -16 -16 -16 -17 -17 -18 -21 -22 -20 -17 -17 -17 -18 -18 -20 -22 -23 -25 -26 -26 -24 -21 -18 -16 -16 -17 -19 -20 -20 -20 -21 -21 -21 -20 -20 -19 -20 -20 -19 -19 -20 -20 -21 -22 -22 -22 -22 -22 -22 -22 -20 -19 -18 -17 -16 -16 -17 -17 -18 -18 -18 -18 -19 -19 -19 -18 -17 -17 -16 -12 -10 -12 -15 -16 -14 -12 -12 -14 -14 -14 -12 -11 -12 -14 -16 -19 -20 -20 -19 -18 -19 -20 -19 -18 -17 3 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -4 -5 -5 -4 -4 -5 -6 -10 -13 -13 -9 -8 -9 -11 -12 -11 -7 -2 2 2 -0 -2 -5 -7 -10 -12 -10 -8 -5 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -0 -0 -1 -1 -1 -2 -2 -3 -3 -4 -7 -12 -15 -14 -9 -3 -1 0 1 1 0 -1 -2 -1 -0 -1 -2 -2 -3 -5 -10 -18 -22 -21 -9 1 9 13 15 14 12 8 5 6 7 4 -1 -4 -3 -2 -3 -4 -5 -3 -1 1 -2 -5 -7 -7 -8 -10 -14 -15 -15 -11 -6 -2 0 3 7 9 7 4 1 0 0 0 -0 -0 -0 -0 0 1 2 -1 -8 -17 -23 -19 -11 -5 -4 -7 -10 -9 -5 0 3 2 0 -1 -1 -2 -3 -4 -6 -8 -9 -10 -11 -11 -9 -7 -8 -11 -15 -16 -14 -10 -6 -6 -8 -10 -13 -14 -12 -12 -14 -16 -19 -21 -24 -25 -23 -18 -12 -8 -6 -7 -6 -6 -5 -4 -2 -0 1 2 -1 -6 -9 -10 -9 -10 -14 -17 -17 -15 -13 -12 -11 -9 -6 -2 1 1 -2 -5 -6 -7 -8 -11 -10 -7 -4 -4 -8 -14 -17 -18 -16 -14 -14 -17 -20 -20 -19 -18 -17 -19 -21 -22 -21 -19 -21 -22 -21 -19 -19 -19 -20 -21 -21 -18 -18 -21 -24 -25 -24 -22 -20 -19 -17 -17 -17 -18 -21 -24 -25 -26 -26 -26 -29 -30 -30 -30 -31 -31 -30 -30 -29 -29 -28 -27 -26 -27 -26 -26 -25 -24 -24 -23 -23 -23 -21 -21 -21 -22 -23 -26 -27 -26 -24 -21 -18 -17 -17 -17 -16 -16 -17 -17 -17 -17 -19 -21 -19 -17 -16 -16 -16 -16 -17 -19 -20 -20 -22 -24 -25 -24 -20 -18 -17 -17 -19 -19 -20 -21 -21 -20 -21 -20 -19 -19 -20 -20 -20 -20 -20 -19 -20 -21 -21 -21 -21 -21 -22 -21 -20 -19 -18 -17 -16 -17 -17 -18 -18 -18 -18 -18 -18 -17 -18 -18 -17 -17 -17 -14 -12 -11 -15 -16 -15 -14 -12 -14 -15 -14 -13 -11 -12 -14 -17 -18 -19 -19 -19 -18 -18 -19 -19 -18 -17 2 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -2 -3 -4 -5 -5 -4 -3 -3 -4 -7 -9 -10 -8 -9 -11 -12 -12 -9 -4 0 2 2 -2 -4 -7 -9 -12 -12 -9 -6 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -5 -9 -12 -11 -8 -4 -3 -3 -2 -0 1 1 -1 -1 -2 -1 -2 -3 -5 -6 -7 -12 -18 -22 -19 -9 -0 6 10 13 15 13 9 6 8 9 6 -0 -4 -4 -3 -3 -3 -5 -5 -4 -1 -1 -3 -5 -7 -7 -9 -11 -13 -13 -13 -9 -5 -2 -0 3 6 7 6 4 3 2 2 0 -1 -2 -3 -3 -2 1 0 -4 -12 -20 -21 -16 -9 -4 -4 -8 -9 -8 -3 1 2 2 2 2 0 -1 -3 -5 -8 -9 -11 -12 -13 -12 -10 -9 -11 -15 -17 -15 -11 -5 -3 -4 -9 -14 -17 -16 -15 -14 -14 -15 -17 -20 -22 -23 -20 -15 -11 -7 -6 -6 -5 -5 -5 -4 -3 -2 -1 -2 -4 -7 -9 -8 -8 -12 -16 -18 -16 -14 -12 -11 -10 -9 -5 -1 3 1 -3 -5 -6 -7 -11 -11 -10 -6 -4 -7 -11 -16 -19 -19 -17 -15 -16 -18 -21 -23 -22 -19 -18 -21 -22 -22 -21 -21 -22 -21 -20 -19 -18 -20 -22 -22 -20 -19 -20 -21 -22 -23 -22 -20 -18 -17 -17 -18 -19 -20 -22 -24 -24 -23 -24 -27 -28 -29 -30 -30 -30 -30 -29 -29 -29 -29 -28 -27 -27 -26 -26 -25 -25 -24 -23 -23 -24 -23 -22 -21 -20 -21 -25 -27 -27 -26 -22 -19 -18 -18 -17 -17 -17 -18 -18 -17 -16 -18 -19 -18 -17 -16 -16 -15 -15 -15 -16 -17 -18 -19 -20 -22 -24 -22 -20 -18 -18 -18 -19 -21 -22 -21 -20 -19 -19 -19 -20 -21 -20 -20 -19 -20 -19 -19 -20 -19 -20 -20 -20 -21 -21 -19 -19 -19 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -15 -17 -18 -18 -17 -17 -16 -14 -12 -15 -16 -16 -15 -13 -14 -15 -15 -14 -12 -12 -14 -16 -18 -19 -19 -19 -18 -18 -19 -20 -19 -18 1 1 1 1 1 1 0 -0 -0 -1 -1 -1 -2 -1 -0 -1 -2 -4 -5 -5 -5 -3 -2 -2 -4 -5 -6 -6 -7 -9 -12 -13 -11 -6 -1 1 2 0 -3 -5 -8 -10 -13 -12 -8 -5 -3 -3 -3 -2 -2 -1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -3 -7 -11 -11 -6 -2 0 -1 -3 -2 -1 0 1 1 -0 -1 -2 -2 -4 -6 -8 -9 -14 -18 -20 -16 -7 -1 4 7 10 12 12 9 7 9 11 8 2 -4 -6 -5 -4 -4 -5 -6 -6 -4 -2 -2 -4 -5 -6 -7 -8 -9 -10 -11 -11 -8 -5 -3 -1 3 6 7 7 6 5 3 2 0 -1 -3 -5 -6 -4 -2 -3 -8 -16 -20 -18 -13 -7 -4 -5 -7 -8 -6 -3 -1 1 3 4 3 2 -0 -3 -6 -8 -11 -14 -18 -16 -13 -11 -11 -13 -15 -15 -13 -7 -2 -2 -5 -10 -17 -20 -20 -17 -13 -12 -14 -16 -19 -20 -20 -17 -13 -9 -7 -6 -5 -5 -6 -5 -4 -4 -4 -3 -4 -4 -5 -5 -7 -12 -16 -18 -17 -15 -12 -11 -10 -10 -8 -4 0 2 -0 -2 -4 -6 -10 -13 -12 -9 -5 -6 -9 -13 -16 -17 -17 -17 -16 -17 -20 -23 -24 -22 -20 -22 -22 -21 -21 -21 -20 -20 -19 -19 -19 -20 -21 -22 -20 -19 -19 -19 -19 -20 -20 -19 -18 -17 -17 -18 -20 -20 -22 -22 -22 -21 -23 -25 -27 -28 -28 -29 -29 -29 -28 -29 -29 -29 -28 -28 -26 -26 -26 -26 -25 -24 -23 -24 -24 -23 -23 -21 -20 -21 -24 -27 -27 -27 -24 -21 -20 -20 -19 -18 -17 -17 -17 -16 -16 -17 -18 -18 -18 -17 -16 -15 -15 -15 -16 -16 -17 -17 -18 -20 -21 -22 -21 -19 -18 -18 -19 -21 -22 -22 -21 -19 -18 -18 -20 -21 -20 -20 -20 -20 -21 -20 -20 -19 -19 -19 -20 -21 -21 -20 -20 -19 -17 -18 -17 -17 -18 -18 -17 -17 -17 -16 -14 -17 -19 -19 -18 -17 -16 -15 -14 -14 -16 -17 -16 -14 -14 -14 -14 -15 -14 -13 -13 -15 -17 -18 -18 -18 -17 -17 -18 -20 -20 -19 0 0 0 1 1 2 1 0 -0 -1 -1 -1 -1 -0 0 -1 -3 -4 -5 -5 -4 -3 -3 -3 -4 -4 -4 -4 -5 -8 -11 -12 -9 -3 1 2 1 -2 -4 -6 -8 -10 -13 -11 -7 -4 -3 -3 -2 -2 -0 1 2 1 0 -0 0 0 -0 -1 -2 -1 -0 -0 -0 0 -1 -4 -9 -11 -8 -2 1 1 -0 -1 -0 0 1 1 2 2 0 -1 -3 -4 -6 -8 -11 -15 -18 -17 -12 -6 -1 4 8 11 10 9 7 6 9 12 11 5 -1 -6 -7 -7 -5 -5 -6 -7 -7 -6 -4 -3 -3 -4 -5 -5 -6 -7 -8 -10 -10 -8 -6 -4 -1 2 6 8 8 7 5 4 3 2 -1 -4 -8 -9 -6 -5 -6 -12 -17 -18 -15 -10 -6 -5 -5 -6 -7 -5 -3 -1 2 4 4 4 2 1 -1 -4 -8 -14 -20 -22 -19 -14 -10 -11 -13 -14 -13 -11 -6 -3 -2 -5 -14 -22 -25 -23 -17 -13 -12 -12 -14 -16 -18 -17 -15 -11 -9 -7 -6 -6 -6 -5 -5 -5 -6 -6 -4 -3 -3 -4 -6 -11 -15 -18 -17 -17 -15 -12 -9 -9 -9 -7 -4 -1 0 0 -1 -5 -10 -14 -15 -13 -7 -5 -6 -9 -11 -14 -17 -18 -18 -17 -19 -22 -24 -23 -22 -22 -20 -18 -18 -18 -18 -17 -18 -20 -20 -20 -20 -20 -20 -19 -18 -17 -16 -16 -16 -17 -17 -17 -17 -19 -22 -22 -21 -21 -21 -23 -24 -25 -26 -27 -27 -27 -27 -27 -28 -28 -30 -30 -30 -28 -27 -26 -26 -26 -25 -24 -24 -24 -23 -23 -23 -24 -25 -24 -25 -27 -27 -27 -25 -23 -22 -23 -22 -20 -18 -16 -16 -15 -16 -17 -17 -19 -18 -18 -18 -16 -16 -17 -17 -17 -17 -17 -17 -19 -20 -20 -20 -19 -19 -17 -17 -19 -22 -23 -22 -19 -18 -18 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -22 -21 -21 -20 -18 -19 -18 -18 -18 -17 -17 -17 -18 -17 -16 -16 -18 -19 -17 -16 -15 -16 -16 -15 -15 -16 -16 -16 -15 -14 -14 -15 -15 -14 -13 -14 -16 -17 -18 -17 -17 -16 -17 -19 -20 -20 -1 -1 -0 1 2 2 1 0 -1 -1 -0 -0 -0 0 0 -1 -3 -4 -5 -4 -4 -3 -3 -3 -4 -3 -3 -3 -5 -7 -9 -10 -7 -1 2 1 -1 -3 -5 -7 -8 -10 -10 -8 -5 -3 -2 -3 -3 -1 1 2 3 2 1 1 1 1 -1 -3 -3 -1 -1 -0 -1 -1 -3 -7 -10 -10 -5 -1 0 -1 -2 -1 0 1 2 2 2 2 1 -1 -4 -5 -7 -9 -13 -16 -16 -13 -7 -3 -0 4 8 11 10 7 5 3 7 11 12 8 2 -5 -8 -8 -6 -5 -5 -7 -9 -10 -7 -5 -3 -1 -1 -1 -3 -4 -5 -7 -8 -8 -8 -7 -6 -3 1 6 8 8 6 5 4 4 3 0 -5 -11 -10 -8 -6 -9 -14 -16 -15 -11 -7 -5 -5 -5 -6 -6 -5 -3 -0 2 3 4 4 5 4 1 -3 -10 -18 -23 -22 -18 -12 -11 -12 -13 -13 -12 -9 -5 -2 -2 -9 -18 -25 -28 -24 -16 -11 -10 -10 -12 -14 -16 -15 -13 -11 -9 -8 -7 -6 -5 -5 -5 -6 -7 -6 -4 -3 -3 -5 -9 -14 -17 -17 -17 -16 -13 -10 -9 -9 -7 -6 -5 -4 -3 -3 -4 -8 -13 -15 -15 -11 -7 -5 -6 -8 -12 -16 -19 -19 -18 -18 -20 -22 -23 -23 -22 -19 -16 -17 -18 -17 -16 -17 -19 -20 -19 -18 -19 -20 -19 -16 -15 -15 -14 -14 -15 -16 -17 -18 -21 -23 -23 -22 -21 -21 -24 -25 -26 -26 -26 -27 -26 -26 -26 -27 -28 -30 -31 -31 -29 -27 -26 -25 -26 -25 -25 -25 -24 -23 -23 -23 -24 -25 -25 -25 -26 -27 -27 -26 -25 -25 -25 -24 -22 -19 -16 -15 -15 -15 -16 -17 -19 -19 -18 -17 -16 -17 -18 -18 -18 -17 -16 -17 -18 -20 -20 -20 -20 -20 -17 -16 -18 -20 -22 -21 -20 -18 -18 -21 -22 -22 -21 -22 -21 -21 -21 -21 -20 -20 -20 -21 -21 -22 -21 -21 -20 -19 -19 -18 -18 -17 -17 -18 -18 -19 -18 -16 -15 -15 -17 -17 -16 -15 -15 -17 -17 -16 -16 -16 -17 -17 -16 -15 -16 -17 -15 -13 -12 -14 -16 -18 -17 -17 -16 -16 -18 -20 -21 -2 -1 -0 1 2 3 1 -0 -1 -0 -0 0 0 -0 -0 -1 -3 -4 -4 -4 -3 -3 -3 -4 -4 -3 -3 -3 -4 -6 -8 -7 -4 0 2 1 -2 -4 -6 -8 -9 -9 -8 -5 -4 -3 -4 -4 -3 -2 0 2 3 4 4 4 2 -0 -3 -4 -3 -1 -0 -0 -1 -2 -5 -7 -8 -6 -3 -1 -2 -3 -3 -3 -3 -2 0 2 2 2 1 -1 -5 -7 -8 -9 -11 -14 -14 -11 -5 -1 1 4 7 9 10 8 5 2 5 9 9 7 3 -2 -6 -7 -6 -4 -5 -7 -10 -12 -11 -8 -4 -0 2 3 1 -1 -2 -3 -5 -6 -7 -8 -8 -7 -5 -0 5 6 6 4 3 5 5 4 -0 -8 -12 -10 -7 -7 -11 -14 -13 -10 -7 -6 -5 -5 -5 -6 -6 -4 -2 0 1 2 3 5 6 5 2 -4 -12 -20 -23 -21 -15 -13 -12 -12 -12 -13 -10 -7 -4 -3 -7 -12 -19 -25 -26 -19 -14 -10 -9 -10 -12 -14 -15 -13 -12 -11 -10 -9 -8 -6 -5 -5 -6 -6 -7 -6 -4 -3 -4 -7 -12 -16 -17 -17 -15 -13 -11 -11 -10 -8 -6 -5 -6 -6 -5 -4 -6 -10 -14 -17 -15 -11 -6 -4 -5 -11 -16 -18 -18 -17 -17 -18 -19 -21 -23 -21 -18 -16 -17 -17 -17 -16 -17 -21 -22 -20 -17 -17 -18 -17 -15 -14 -15 -15 -14 -13 -15 -17 -19 -21 -24 -24 -23 -22 -23 -24 -25 -25 -25 -25 -26 -25 -25 -26 -27 -29 -31 -31 -31 -29 -28 -26 -25 -25 -25 -24 -24 -23 -23 -22 -22 -23 -25 -25 -26 -26 -27 -27 -26 -26 -25 -25 -24 -22 -20 -18 -16 -16 -16 -16 -16 -18 -18 -17 -16 -16 -17 -18 -19 -20 -17 -15 -16 -18 -20 -21 -21 -22 -22 -19 -17 -18 -19 -20 -19 -18 -18 -18 -21 -22 -21 -21 -21 -21 -21 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -18 -19 -19 -19 -17 -15 -13 -16 -17 -16 -15 -15 -17 -18 -17 -16 -16 -17 -19 -18 -17 -18 -18 -17 -14 -12 -13 -15 -17 -17 -17 -16 -15 -17 -19 -21 -3 -2 -0 2 3 2 1 -0 -0 0 0 0 -0 -0 -1 -1 -3 -4 -5 -4 -3 -2 -3 -4 -4 -4 -4 -4 -4 -5 -7 -6 -3 1 2 0 -3 -5 -7 -9 -10 -9 -6 -4 -3 -4 -5 -6 -4 -2 1 2 3 5 6 5 2 -1 -3 -4 -2 0 1 0 -1 -3 -5 -5 -4 -2 -1 -2 -2 -2 -1 -2 -3 -3 -2 2 4 4 2 -1 -5 -9 -10 -9 -8 -9 -10 -10 -7 -0 4 6 7 7 8 7 4 2 4 7 7 3 -1 -2 -3 -3 -1 0 -3 -6 -10 -12 -12 -10 -7 -3 1 4 5 4 2 0 -1 -3 -5 -6 -7 -8 -9 -7 -2 1 3 3 1 1 2 3 3 -2 -8 -10 -9 -6 -9 -12 -11 -8 -6 -5 -5 -6 -6 -6 -6 -5 -2 -1 -1 -1 -0 3 4 6 5 2 -6 -14 -19 -20 -17 -14 -12 -11 -11 -13 -11 -10 -8 -7 -7 -9 -13 -19 -24 -21 -17 -14 -11 -10 -10 -12 -14 -14 -12 -11 -10 -10 -9 -7 -6 -6 -6 -6 -6 -6 -6 -5 -4 -6 -10 -15 -16 -16 -15 -13 -12 -12 -11 -10 -7 -5 -5 -6 -7 -6 -6 -7 -11 -16 -19 -17 -12 -6 -3 -7 -12 -16 -17 -17 -17 -17 -17 -19 -21 -20 -17 -16 -17 -17 -17 -17 -17 -21 -22 -21 -16 -14 -14 -14 -14 -14 -16 -15 -13 -12 -15 -18 -20 -22 -24 -24 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -26 -27 -28 -29 -30 -31 -31 -30 -28 -27 -26 -26 -24 -24 -23 -23 -22 -22 -22 -23 -24 -25 -25 -25 -26 -27 -26 -25 -25 -25 -24 -23 -22 -20 -18 -19 -19 -17 -16 -17 -18 -17 -15 -15 -16 -17 -18 -19 -16 -16 -16 -18 -20 -21 -22 -24 -24 -21 -19 -19 -19 -19 -19 -18 -18 -19 -21 -21 -20 -20 -21 -21 -20 -20 -19 -19 -19 -19 -20 -21 -21 -21 -21 -21 -19 -18 -17 -16 -17 -17 -18 -19 -19 -19 -18 -15 -13 -15 -16 -16 -15 -14 -16 -18 -18 -15 -15 -18 -20 -20 -18 -17 -17 -17 -16 -13 -13 -14 -15 -17 -17 -16 -15 -17 -19 -20 -3 -2 0 2 3 2 1 -0 0 1 1 0 -0 -1 -1 -2 -3 -4 -4 -4 -2 -3 -4 -5 -4 -4 -4 -4 -4 -5 -6 -4 -1 2 2 -0 -3 -5 -7 -10 -10 -8 -4 -2 -2 -4 -6 -6 -4 -2 1 3 6 7 7 5 1 -1 -2 -2 0 2 2 1 -1 -4 -4 -3 -1 0 -0 -1 -2 -1 1 0 -2 -3 -2 3 5 5 3 -1 -5 -8 -9 -8 -5 -4 -6 -8 -9 -3 5 9 10 7 6 4 2 2 4 7 6 1 -6 -8 -5 0 6 8 5 -1 -8 -12 -13 -12 -9 -6 -3 1 5 7 6 4 2 0 -2 -3 -4 -6 -8 -9 -9 -6 -3 -2 -2 -3 -3 -3 -1 -1 -4 -7 -9 -8 -9 -11 -11 -8 -4 -3 -4 -6 -7 -7 -7 -5 -3 -1 -1 -2 -3 -1 -0 2 4 4 -1 -8 -13 -17 -16 -14 -12 -11 -11 -12 -12 -11 -11 -11 -9 -8 -9 -13 -18 -20 -19 -16 -13 -11 -9 -9 -11 -12 -12 -11 -11 -11 -9 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -6 -9 -14 -15 -14 -14 -14 -13 -13 -13 -12 -10 -7 -6 -6 -7 -7 -6 -6 -7 -12 -19 -22 -22 -19 -12 -8 -9 -13 -16 -16 -17 -18 -18 -19 -20 -19 -17 -16 -17 -18 -17 -17 -17 -20 -21 -19 -15 -14 -13 -12 -13 -14 -17 -16 -14 -13 -15 -19 -21 -22 -24 -23 -23 -24 -26 -26 -26 -25 -26 -25 -26 -26 -26 -27 -27 -28 -29 -30 -31 -30 -29 -28 -27 -26 -24 -23 -23 -23 -22 -22 -23 -23 -24 -24 -24 -25 -26 -26 -26 -25 -25 -24 -24 -23 -22 -20 -21 -22 -22 -18 -16 -16 -17 -17 -14 -15 -16 -18 -18 -18 -17 -16 -17 -18 -20 -21 -22 -24 -25 -23 -21 -20 -19 -19 -19 -19 -18 -18 -20 -20 -20 -21 -22 -22 -21 -19 -19 -19 -19 -19 -20 -21 -21 -20 -21 -20 -19 -18 -17 -16 -17 -17 -18 -18 -18 -19 -18 -16 -14 -15 -16 -17 -17 -17 -16 -17 -18 -16 -16 -18 -21 -22 -20 -17 -17 -17 -17 -15 -14 -14 -15 -17 -17 -17 -16 -16 -18 -20 -4 -2 -0 2 3 3 1 -0 -0 0 1 1 0 -1 -2 -3 -3 -4 -4 -3 -2 -4 -5 -6 -5 -4 -4 -5 -4 -5 -5 -3 -0 2 1 -1 -3 -6 -7 -8 -8 -6 -3 -1 -1 -3 -6 -7 -5 -2 2 5 8 8 7 3 -1 -2 -1 0 2 3 3 1 -1 -3 -3 -2 -0 1 1 -1 -1 -1 1 0 -1 -2 -1 3 5 4 1 -2 -4 -5 -5 -5 -2 -1 -2 -6 -10 -7 3 11 13 10 6 2 -1 -1 2 5 4 0 -7 -13 -12 -4 8 16 14 7 -2 -10 -13 -13 -10 -7 -5 -3 1 5 8 8 7 4 2 -0 -0 -1 -4 -9 -11 -11 -10 -7 -6 -6 -7 -7 -7 -5 -4 -5 -7 -8 -10 -12 -12 -9 -5 -3 -3 -5 -7 -8 -8 -7 -4 -1 -1 -1 -2 -2 -3 -2 -0 1 -1 -5 -9 -12 -12 -11 -12 -11 -10 -10 -11 -12 -14 -13 -10 -8 -8 -10 -14 -17 -18 -17 -16 -14 -10 -8 -9 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -7 -6 -5 -4 -5 -6 -7 -10 -13 -14 -14 -14 -15 -14 -13 -13 -14 -14 -11 -8 -6 -6 -7 -7 -7 -8 -10 -15 -20 -22 -21 -16 -12 -11 -12 -14 -14 -15 -16 -17 -17 -18 -18 -18 -16 -17 -17 -17 -16 -16 -17 -17 -16 -14 -14 -13 -13 -13 -14 -16 -15 -14 -13 -15 -19 -22 -24 -25 -23 -23 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -28 -29 -30 -30 -30 -30 -30 -29 -27 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -26 -26 -25 -24 -24 -22 -21 -21 -20 -23 -24 -23 -19 -16 -16 -17 -17 -15 -15 -17 -19 -19 -19 -17 -17 -17 -18 -20 -23 -24 -24 -24 -23 -21 -21 -20 -20 -20 -19 -18 -18 -19 -19 -19 -20 -22 -22 -20 -18 -18 -19 -20 -20 -22 -22 -21 -20 -20 -19 -19 -18 -17 -16 -16 -16 -17 -17 -17 -17 -17 -16 -16 -15 -16 -17 -17 -18 -17 -18 -19 -17 -17 -19 -21 -22 -21 -18 -16 -16 -17 -16 -15 -14 -14 -17 -18 -17 -16 -17 -18 -20 -4 -3 -0 3 4 3 1 -1 -0 1 2 2 -0 -2 -2 -2 -3 -3 -2 -2 -4 -6 -7 -6 -4 -4 -4 -5 -5 -5 -4 -2 0 1 0 -2 -4 -6 -6 -6 -6 -5 -3 -1 -0 -2 -5 -7 -5 -2 3 7 8 7 5 1 -2 -2 -0 2 2 3 3 1 -1 -2 -2 -2 -1 -1 -0 -1 -1 -2 -1 -1 -1 -1 1 3 2 0 -2 -4 -3 -2 -2 -2 -0 1 1 -3 -9 -9 -1 9 16 14 10 4 -2 -5 -2 0 2 1 -3 -13 -19 -15 -1 16 21 17 7 -4 -11 -14 -11 -7 -5 -5 -4 0 5 9 10 8 5 3 4 4 1 -5 -11 -14 -14 -13 -10 -9 -9 -9 -10 -9 -8 -7 -7 -8 -10 -12 -12 -10 -6 -3 -2 -3 -6 -9 -10 -9 -8 -4 -2 1 1 0 -1 -1 -2 -2 -3 -6 -8 -10 -9 -9 -10 -10 -9 -8 -10 -13 -15 -15 -12 -9 -8 -9 -12 -14 -15 -16 -17 -16 -13 -9 -7 -7 -8 -9 -11 -11 -10 -9 -8 -8 -8 -8 -7 -6 -4 -4 -5 -7 -10 -13 -14 -14 -14 -14 -13 -13 -13 -13 -15 -14 -11 -8 -5 -7 -9 -10 -10 -9 -11 -15 -19 -21 -19 -15 -13 -13 -14 -13 -12 -12 -12 -12 -15 -17 -17 -16 -16 -16 -16 -15 -15 -14 -14 -13 -14 -15 -14 -13 -13 -14 -15 -15 -14 -15 -17 -18 -21 -26 -26 -25 -25 -25 -26 -26 -26 -26 -26 -25 -26 -26 -26 -26 -26 -27 -28 -29 -30 -30 -31 -31 -30 -28 -26 -25 -24 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -26 -25 -24 -24 -24 -22 -21 -21 -20 -21 -22 -22 -19 -17 -16 -17 -17 -16 -16 -18 -21 -21 -19 -17 -17 -17 -17 -19 -21 -23 -24 -24 -23 -22 -22 -20 -20 -20 -20 -19 -18 -18 -18 -17 -19 -21 -21 -20 -17 -18 -20 -21 -22 -23 -22 -21 -20 -19 -19 -18 -18 -16 -16 -16 -16 -16 -16 -15 -16 -16 -17 -17 -16 -16 -17 -17 -19 -18 -18 -18 -17 -16 -19 -22 -23 -21 -18 -16 -16 -16 -15 -14 -14 -14 -16 -17 -17 -17 -17 -19 -20 -4 -3 0 3 4 2 -0 -0 1 2 2 0 -2 -3 -2 -1 -1 -1 -2 -2 -5 -8 -8 -6 -4 -4 -5 -5 -5 -4 -3 -2 0 1 -1 -2 -4 -5 -5 -4 -5 -5 -4 -2 -1 -2 -5 -6 -3 0 3 6 7 5 2 -0 -1 -0 1 0 -2 -1 1 1 0 -1 -1 -1 -2 -3 -3 -2 -2 -3 -4 -4 -1 1 1 0 -2 -4 -5 -5 -3 -1 -0 -0 1 3 3 0 -5 -8 -2 7 16 18 15 9 1 -7 -8 -7 -4 -0 1 -7 -18 -22 -15 6 19 22 16 4 -7 -12 -12 -8 -4 -5 -7 -6 -1 5 9 10 8 6 8 10 8 1 -8 -14 -17 -17 -15 -13 -12 -12 -12 -12 -11 -10 -9 -9 -10 -11 -12 -11 -7 -4 -2 -2 -5 -9 -10 -10 -10 -8 -5 -2 1 2 2 1 -1 -2 -4 -7 -9 -10 -8 -6 -6 -7 -8 -8 -9 -12 -15 -17 -14 -11 -10 -10 -11 -12 -12 -13 -15 -16 -15 -11 -6 -5 -6 -7 -9 -10 -9 -9 -9 -9 -9 -9 -8 -6 -5 -4 -5 -6 -10 -15 -18 -18 -15 -12 -12 -13 -12 -12 -14 -15 -14 -11 -8 -8 -10 -11 -10 -8 -9 -12 -17 -21 -20 -17 -15 -14 -15 -14 -12 -10 -8 -9 -13 -15 -16 -15 -15 -15 -15 -15 -13 -12 -11 -13 -15 -15 -15 -14 -14 -15 -16 -16 -16 -18 -19 -20 -23 -27 -27 -26 -25 -25 -26 -26 -26 -26 -25 -25 -25 -25 -25 -25 -26 -27 -28 -29 -30 -31 -31 -31 -30 -29 -28 -26 -25 -25 -24 -25 -26 -26 -26 -26 -26 -25 -26 -25 -25 -24 -24 -23 -21 -20 -21 -21 -20 -20 -19 -18 -17 -16 -16 -17 -16 -17 -19 -22 -22 -18 -17 -16 -17 -17 -17 -18 -19 -21 -22 -22 -22 -23 -21 -20 -20 -20 -20 -19 -18 -17 -17 -18 -19 -20 -19 -16 -17 -19 -21 -23 -23 -23 -22 -21 -19 -19 -18 -17 -16 -17 -17 -16 -16 -16 -15 -15 -16 -17 -17 -16 -16 -17 -18 -19 -19 -18 -18 -18 -16 -17 -21 -22 -20 -18 -16 -15 -15 -14 -14 -14 -15 -16 -17 -18 -18 -19 -20 -20 -4 -2 1 4 3 1 -0 1 2 3 2 -1 -3 -3 -2 0 -0 -1 -2 -3 -6 -8 -8 -6 -4 -5 -6 -5 -4 -4 -3 -1 -0 0 -1 -3 -4 -5 -3 -3 -4 -5 -4 -2 -2 -3 -4 -3 0 2 3 4 4 3 1 -1 0 3 2 -3 -9 -6 -1 1 1 -1 -0 0 -0 -2 -3 -4 -4 -4 -4 -3 -1 1 -0 -3 -6 -7 -6 -5 -4 -3 -3 -2 -1 1 2 2 1 -2 1 7 15 19 19 15 6 -6 -13 -14 -11 -6 2 -0 -10 -20 -22 -9 9 20 22 12 -1 -9 -11 -8 -3 -3 -6 -9 -9 -2 5 9 9 6 10 14 15 11 0 -10 -17 -20 -19 -18 -17 -16 -15 -14 -12 -11 -11 -11 -11 -11 -10 -10 -8 -5 -3 -2 -4 -8 -10 -11 -11 -10 -9 -6 -3 1 3 3 1 -1 -4 -7 -9 -10 -9 -7 -6 -6 -7 -7 -8 -10 -14 -16 -15 -13 -12 -12 -13 -12 -11 -10 -12 -14 -15 -13 -9 -6 -5 -5 -6 -7 -8 -9 -9 -9 -9 -10 -9 -8 -6 -6 -5 -6 -9 -15 -21 -21 -18 -12 -11 -12 -13 -13 -12 -14 -15 -14 -13 -11 -10 -10 -10 -9 -10 -12 -17 -21 -20 -17 -15 -15 -16 -16 -15 -12 -9 -8 -10 -13 -15 -14 -14 -13 -14 -14 -12 -11 -11 -13 -15 -17 -17 -16 -16 -17 -18 -17 -17 -20 -21 -22 -24 -26 -26 -26 -25 -25 -26 -27 -26 -26 -25 -24 -24 -24 -24 -25 -25 -26 -28 -29 -30 -31 -31 -31 -30 -30 -29 -27 -26 -25 -24 -25 -26 -27 -27 -27 -26 -25 -25 -25 -24 -23 -23 -21 -20 -19 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -16 -16 -18 -19 -19 -17 -16 -16 -16 -16 -16 -16 -17 -18 -19 -20 -21 -23 -21 -21 -20 -20 -20 -20 -19 -18 -18 -18 -18 -19 -19 -16 -17 -18 -21 -22 -23 -22 -22 -21 -19 -19 -18 -17 -17 -18 -18 -17 -17 -16 -16 -16 -16 -16 -16 -15 -16 -17 -18 -19 -20 -19 -19 -19 -18 -17 -19 -20 -19 -18 -17 -15 -14 -14 -15 -15 -15 -16 -17 -18 -20 -21 -21 -21 -3 -1 2 4 3 1 1 3 3 3 0 -2 -3 -2 -1 -0 -0 -2 -3 -4 -6 -7 -6 -6 -5 -6 -6 -5 -4 -3 -2 -1 -0 -0 -1 -2 -3 -3 -2 -3 -3 -3 -3 -2 -4 -4 -3 -0 3 4 3 3 2 1 0 1 5 7 1 -8 -14 -9 -1 1 -1 -3 -0 2 3 2 -0 -4 -5 -5 -4 -2 -0 -0 -2 -6 -7 -7 -5 -4 -4 -4 -4 -4 -6 -6 -4 -0 2 3 6 9 13 17 20 18 11 -2 -13 -18 -17 -12 -3 0 -4 -11 -18 -15 -5 7 16 15 4 -3 -7 -6 -3 -1 -3 -8 -13 -9 -2 5 7 5 7 12 18 21 13 1 -12 -21 -23 -24 -24 -23 -20 -16 -12 -11 -11 -12 -12 -11 -9 -8 -7 -6 -4 -2 -3 -6 -9 -10 -10 -11 -11 -10 -7 -3 0 2 3 1 -3 -6 -8 -10 -10 -8 -6 -5 -5 -6 -7 -9 -12 -14 -14 -14 -13 -14 -15 -13 -11 -9 -10 -12 -13 -14 -11 -8 -6 -5 -4 -5 -7 -8 -8 -9 -9 -10 -9 -8 -8 -8 -7 -7 -9 -15 -21 -24 -21 -14 -10 -10 -12 -13 -12 -12 -13 -14 -14 -12 -10 -8 -9 -9 -9 -12 -16 -20 -19 -17 -16 -16 -16 -17 -17 -16 -12 -8 -8 -9 -12 -13 -12 -11 -10 -11 -11 -12 -13 -15 -17 -20 -20 -20 -19 -20 -20 -20 -19 -20 -22 -23 -24 -26 -26 -26 -25 -25 -26 -26 -27 -26 -25 -25 -24 -23 -23 -25 -25 -27 -28 -30 -30 -30 -31 -31 -31 -31 -30 -28 -27 -26 -26 -26 -26 -27 -27 -26 -26 -26 -25 -24 -24 -24 -23 -21 -20 -20 -21 -22 -22 -21 -19 -18 -18 -18 -18 -17 -16 -15 -15 -14 -14 -15 -16 -17 -16 -16 -15 -15 -16 -16 -17 -18 -21 -23 -22 -21 -21 -21 -20 -20 -19 -18 -18 -19 -19 -19 -18 -17 -18 -20 -22 -24 -23 -22 -20 -19 -17 -17 -17 -18 -18 -19 -19 -18 -18 -17 -16 -15 -15 -15 -15 -15 -16 -17 -17 -18 -19 -19 -19 -20 -19 -18 -18 -18 -18 -17 -18 -16 -15 -15 -16 -15 -15 -15 -17 -18 -20 -21 -21 -21 -3 0 3 3 2 1 2 4 3 2 -0 -2 -2 -2 -2 -1 -1 -2 -4 -6 -7 -6 -5 -5 -6 -7 -6 -5 -3 -2 -2 -1 -1 -0 -0 -1 -3 -3 -2 -2 -2 -2 -2 -4 -5 -5 -2 1 4 4 4 2 1 -0 1 4 9 9 1 -9 -13 -7 0 1 -1 -3 -0 2 4 5 3 -1 -3 -4 -4 -2 -1 -2 -3 -5 -6 -5 -4 -4 -5 -5 -4 -4 -7 -10 -9 -5 1 5 8 11 14 16 18 18 14 3 -11 -18 -19 -15 -9 -3 -2 -5 -10 -13 -10 -2 8 11 6 1 -2 -2 -2 0 -0 -4 -10 -12 -7 -0 5 4 3 5 9 16 19 13 1 -15 -24 -28 -31 -31 -25 -18 -13 -10 -9 -11 -12 -11 -10 -8 -7 -7 -5 -3 -2 -4 -7 -9 -10 -11 -11 -11 -10 -8 -4 -1 2 2 -0 -4 -7 -8 -9 -9 -7 -6 -6 -6 -7 -8 -10 -13 -13 -13 -12 -14 -16 -15 -13 -10 -9 -10 -12 -13 -11 -9 -7 -5 -4 -4 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -8 -8 -10 -15 -21 -25 -24 -17 -11 -10 -11 -14 -12 -11 -11 -12 -14 -13 -11 -9 -9 -8 -9 -11 -14 -17 -18 -17 -16 -16 -15 -16 -16 -17 -15 -10 -6 -5 -8 -11 -11 -10 -9 -10 -11 -13 -15 -18 -19 -20 -20 -20 -20 -21 -22 -22 -22 -21 -22 -23 -24 -25 -26 -26 -25 -26 -26 -26 -27 -27 -26 -26 -24 -24 -25 -25 -26 -27 -29 -30 -30 -30 -31 -32 -32 -32 -30 -29 -28 -27 -27 -26 -26 -26 -26 -26 -27 -27 -26 -25 -24 -24 -22 -22 -22 -22 -22 -22 -22 -22 -20 -19 -19 -19 -18 -17 -17 -16 -14 -13 -13 -15 -16 -17 -16 -16 -15 -15 -16 -16 -16 -18 -21 -23 -22 -22 -21 -21 -20 -19 -18 -17 -18 -19 -19 -19 -18 -17 -18 -20 -23 -24 -23 -21 -19 -17 -16 -16 -16 -17 -18 -19 -19 -19 -19 -17 -15 -15 -14 -14 -15 -16 -16 -17 -16 -16 -18 -18 -17 -18 -18 -18 -17 -17 -16 -16 -17 -16 -16 -16 -16 -15 -15 -15 -17 -19 -20 -21 -21 -21 -2 1 3 2 1 1 3 4 3 1 -0 -1 -1 -2 -2 -1 -1 -3 -6 -8 -8 -6 -5 -5 -7 -8 -7 -5 -3 -2 -2 -2 -1 1 1 -1 -2 -3 -3 -2 -1 -1 -2 -4 -5 -4 -2 1 3 4 3 1 -1 -2 1 6 10 8 -1 -8 -10 -4 0 1 0 -1 1 3 4 5 4 2 -0 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -6 -7 -7 -5 -4 -7 -8 -7 -2 3 7 10 14 16 17 18 14 6 -8 -17 -19 -16 -13 -8 -5 -3 -4 -9 -11 -6 2 7 5 2 -1 -1 -1 -0 1 0 -4 -9 -8 -4 1 3 3 3 4 5 8 9 6 -2 -14 -23 -30 -32 -25 -17 -12 -9 -7 -8 -10 -11 -11 -9 -7 -7 -7 -5 -3 -3 -5 -7 -10 -10 -10 -10 -10 -10 -8 -5 -2 2 2 -1 -4 -6 -7 -8 -8 -8 -7 -7 -7 -8 -10 -12 -13 -12 -12 -13 -16 -16 -14 -12 -10 -10 -11 -12 -12 -10 -8 -6 -4 -3 -3 -5 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -12 -16 -21 -25 -25 -20 -15 -11 -11 -14 -15 -13 -10 -9 -11 -13 -12 -10 -8 -8 -9 -11 -13 -14 -15 -16 -16 -16 -14 -14 -14 -16 -16 -11 -6 -2 -4 -8 -10 -9 -9 -10 -11 -13 -16 -19 -19 -18 -19 -20 -22 -24 -24 -24 -24 -24 -23 -23 -24 -25 -26 -26 -26 -27 -26 -27 -27 -28 -27 -27 -26 -26 -26 -26 -27 -28 -29 -30 -30 -31 -31 -32 -32 -32 -31 -30 -29 -28 -28 -27 -26 -26 -26 -27 -27 -27 -27 -26 -24 -23 -23 -24 -24 -23 -22 -22 -22 -21 -20 -19 -18 -19 -19 -18 -18 -16 -14 -13 -14 -16 -17 -18 -18 -17 -16 -16 -18 -17 -16 -17 -21 -23 -22 -22 -21 -21 -19 -19 -18 -16 -17 -17 -18 -18 -16 -15 -17 -19 -21 -22 -21 -19 -17 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -17 -16 -15 -14 -14 -14 -15 -16 -16 -15 -15 -16 -17 -16 -15 -16 -17 -16 -16 -16 -17 -17 -16 -16 -16 -16 -15 -15 -16 -18 -19 -20 -20 -20 -21 -0 2 3 1 1 2 3 4 3 2 1 0 -1 -2 -2 -1 -0 -3 -7 -9 -8 -7 -6 -6 -7 -8 -7 -5 -3 -3 -3 -1 1 3 2 -1 -2 -3 -3 -1 0 0 -1 -4 -5 -5 -2 0 2 4 3 1 -3 -2 2 6 9 5 -2 -7 -7 -3 0 1 1 1 2 4 5 5 5 4 1 -1 -3 -4 -5 -5 -5 -3 -3 -2 -2 -3 -6 -11 -13 -10 -2 0 -2 -5 -4 0 4 9 14 17 17 17 14 6 -8 -15 -17 -14 -13 -11 -8 -4 -2 -6 -8 -6 -1 4 4 2 -0 -2 -3 -2 -0 2 2 -3 -5 -5 -2 2 3 3 3 2 1 -0 -2 -5 -10 -15 -20 -22 -17 -12 -10 -9 -6 -5 -7 -9 -11 -10 -8 -7 -7 -7 -5 -4 -4 -5 -7 -8 -8 -8 -8 -10 -10 -10 -7 -4 -1 -0 -2 -3 -4 -6 -8 -8 -8 -7 -7 -8 -10 -12 -12 -12 -12 -13 -15 -15 -14 -11 -9 -9 -9 -11 -13 -12 -11 -8 -5 -3 -3 -4 -6 -7 -6 -6 -5 -5 -7 -9 -10 -10 -13 -16 -20 -24 -26 -23 -19 -14 -12 -14 -18 -17 -13 -8 -8 -9 -10 -9 -8 -9 -10 -12 -13 -14 -14 -14 -13 -13 -12 -12 -12 -13 -14 -13 -9 -5 -3 -6 -7 -9 -10 -11 -12 -13 -16 -18 -18 -18 -19 -21 -25 -26 -26 -26 -25 -24 -23 -23 -24 -26 -26 -27 -27 -28 -28 -28 -28 -29 -28 -28 -28 -28 -28 -27 -27 -28 -29 -30 -30 -31 -31 -32 -31 -31 -31 -31 -30 -29 -28 -27 -27 -27 -27 -27 -27 -26 -26 -25 -24 -22 -23 -24 -24 -22 -22 -22 -21 -20 -19 -18 -18 -18 -18 -18 -18 -17 -15 -13 -14 -15 -18 -20 -21 -19 -18 -17 -18 -17 -17 -17 -19 -21 -22 -22 -22 -20 -19 -19 -20 -19 -18 -18 -18 -17 -15 -15 -16 -17 -18 -19 -18 -17 -16 -18 -19 -19 -19 -18 -18 -17 -17 -18 -18 -17 -16 -15 -14 -14 -14 -15 -17 -16 -15 -15 -15 -16 -16 -15 -14 -15 -15 -16 -17 -18 -17 -17 -17 -17 -18 -17 -17 -18 -19 -20 -21 -21 -20 -21 0 2 1 1 1 2 4 4 4 2 1 -0 -2 -2 -2 -1 -0 -3 -6 -8 -8 -7 -7 -7 -8 -9 -7 -5 -4 -4 -3 -0 2 3 0 -2 -3 -3 -1 0 1 1 -0 -3 -5 -5 -4 -1 1 3 2 0 -2 -1 2 6 7 2 -3 -5 -5 -2 -0 1 1 2 3 5 6 6 5 4 2 -0 -2 -4 -6 -6 -5 -4 -3 -1 -0 -0 -6 -16 -20 -17 -3 5 5 1 -3 -1 3 7 13 18 18 16 12 4 -9 -15 -14 -11 -11 -12 -10 -6 -3 -4 -5 -4 -2 1 3 2 -0 -3 -4 -4 -3 1 4 2 -1 -3 -3 -0 1 2 3 2 -1 -4 -8 -12 -14 -15 -15 -12 -9 -9 -10 -10 -8 -5 -6 -8 -10 -10 -9 -8 -7 -8 -7 -6 -6 -7 -7 -7 -7 -7 -6 -8 -9 -11 -11 -9 -6 -3 -2 -2 -2 -4 -6 -7 -7 -7 -7 -8 -10 -11 -12 -12 -12 -14 -16 -15 -13 -11 -9 -7 -8 -9 -12 -13 -13 -10 -6 -4 -3 -3 -3 -5 -6 -5 -4 -3 -4 -6 -8 -10 -12 -15 -20 -24 -26 -25 -22 -18 -14 -14 -19 -20 -18 -11 -6 -5 -5 -7 -8 -10 -11 -12 -13 -14 -13 -12 -11 -12 -12 -12 -12 -12 -14 -15 -15 -12 -7 -5 -5 -7 -10 -12 -13 -15 -16 -19 -19 -19 -20 -22 -25 -27 -27 -27 -26 -26 -25 -24 -25 -26 -26 -27 -28 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -28 -28 -29 -29 -30 -30 -31 -31 -31 -31 -31 -31 -31 -30 -30 -29 -29 -28 -28 -28 -27 -26 -26 -25 -24 -23 -22 -23 -23 -22 -21 -22 -22 -22 -20 -19 -19 -18 -17 -18 -18 -18 -17 -15 -14 -13 -14 -17 -21 -23 -22 -20 -18 -17 -17 -16 -17 -17 -19 -21 -22 -22 -19 -19 -21 -22 -21 -20 -20 -20 -20 -19 -18 -17 -17 -17 -17 -16 -16 -16 -18 -19 -19 -18 -18 -17 -16 -16 -17 -17 -16 -15 -15 -14 -14 -14 -15 -17 -16 -15 -14 -13 -15 -15 -14 -13 -14 -14 -17 -19 -20 -18 -18 -18 -18 -19 -18 -18 -19 -21 -21 -21 -21 -21 -22 1 1 0 -0 1 2 4 6 5 3 1 -0 -1 -2 -2 -2 -2 -4 -6 -7 -7 -7 -8 -8 -9 -10 -8 -6 -6 -6 -2 2 3 2 -1 -4 -4 -3 0 2 3 2 0 -2 -5 -6 -5 -2 -0 1 1 -0 -1 0 3 5 5 2 -2 -4 -4 -1 0 1 0 1 2 5 6 7 7 6 3 -0 -3 -5 -6 -6 -6 -5 -4 -1 2 3 -6 -18 -26 -23 -8 5 8 4 -1 -0 3 7 13 17 17 16 11 3 -10 -14 -12 -8 -9 -12 -11 -7 -3 -2 -1 -1 -2 -2 0 1 0 -3 -5 -5 -4 -2 3 4 2 -1 -3 -1 -0 0 0 1 -1 -4 -10 -16 -19 -18 -14 -8 -4 -6 -9 -10 -9 -7 -6 -7 -8 -9 -9 -8 -7 -8 -7 -7 -8 -8 -9 -8 -7 -6 -5 -5 -7 -10 -12 -14 -12 -9 -6 -4 -2 -3 -4 -6 -6 -6 -7 -8 -9 -11 -11 -11 -12 -14 -16 -16 -15 -12 -10 -8 -7 -7 -9 -12 -13 -12 -9 -6 -5 -3 -2 -4 -5 -6 -5 -4 -3 -4 -5 -8 -10 -14 -19 -24 -27 -27 -25 -21 -17 -15 -17 -19 -19 -15 -7 -3 -2 -5 -7 -9 -11 -12 -12 -13 -12 -10 -10 -12 -13 -14 -13 -13 -14 -16 -17 -15 -11 -5 -2 -3 -7 -11 -14 -17 -18 -20 -21 -20 -20 -22 -25 -27 -28 -27 -28 -27 -26 -26 -27 -27 -27 -27 -28 -29 -30 -30 -31 -31 -30 -30 -30 -30 -29 -28 -28 -29 -29 -29 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -28 -28 -27 -27 -26 -24 -23 -22 -22 -23 -22 -21 -21 -22 -22 -22 -21 -20 -19 -18 -18 -17 -17 -18 -17 -16 -14 -13 -13 -15 -20 -23 -22 -20 -18 -17 -16 -16 -16 -17 -20 -22 -23 -23 -19 -19 -22 -23 -22 -22 -21 -22 -22 -21 -20 -20 -19 -19 -19 -18 -17 -16 -17 -17 -17 -17 -16 -17 -16 -16 -16 -17 -16 -16 -15 -14 -14 -15 -16 -17 -15 -14 -13 -12 -14 -14 -13 -13 -15 -16 -19 -20 -20 -18 -17 -17 -18 -19 -19 -19 -20 -22 -22 -23 -23 -23 -24 1 1 -1 -1 0 3 6 7 5 3 1 1 -0 -1 -3 -3 -4 -5 -6 -6 -6 -7 -7 -8 -10 -10 -8 -7 -6 -5 -0 3 3 0 -3 -5 -5 -3 1 3 4 3 1 -2 -5 -5 -5 -3 -2 -2 -1 -0 0 1 3 4 4 3 0 -2 -2 -0 1 1 0 1 2 4 5 7 8 7 3 -1 -5 -6 -6 -6 -7 -7 -4 -0 3 4 -5 -17 -25 -24 -10 2 6 4 -1 -0 4 9 13 15 16 15 11 3 -9 -14 -12 -8 -9 -12 -11 -8 -2 -0 0 -0 -1 -2 -1 -1 -0 -2 -3 -5 -5 -3 1 3 3 1 -1 -0 -0 -1 -2 -2 -2 -5 -9 -13 -17 -18 -15 -9 -5 -5 -7 -9 -10 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -10 -11 -10 -7 -5 -3 -3 -5 -8 -12 -15 -14 -12 -9 -7 -5 -5 -5 -5 -4 -4 -5 -6 -8 -9 -10 -10 -10 -12 -15 -17 -18 -16 -13 -10 -8 -6 -7 -10 -12 -13 -11 -9 -7 -5 -2 -3 -4 -6 -6 -6 -4 -3 -3 -5 -8 -13 -18 -23 -27 -28 -26 -23 -19 -16 -15 -15 -17 -19 -14 -7 -2 -1 -4 -7 -10 -12 -12 -11 -10 -9 -10 -12 -13 -14 -14 -14 -15 -16 -18 -18 -13 -7 -3 -2 -4 -9 -14 -18 -20 -21 -21 -20 -19 -21 -25 -27 -28 -28 -28 -28 -27 -27 -28 -28 -28 -28 -29 -29 -30 -31 -32 -32 -31 -31 -30 -31 -30 -29 -29 -29 -29 -29 -29 -29 -30 -30 -30 -30 -30 -30 -30 -31 -31 -31 -30 -29 -27 -27 -26 -24 -22 -21 -21 -22 -23 -23 -21 -21 -21 -22 -22 -21 -20 -20 -19 -19 -18 -18 -18 -17 -16 -15 -13 -13 -15 -19 -22 -22 -19 -18 -17 -17 -17 -17 -18 -20 -22 -24 -24 -20 -20 -22 -23 -23 -23 -22 -22 -22 -22 -21 -20 -19 -19 -19 -19 -18 -17 -16 -16 -16 -16 -16 -16 -17 -16 -16 -17 -17 -16 -14 -14 -15 -16 -18 -17 -14 -13 -12 -12 -13 -13 -13 -13 -15 -17 -19 -19 -18 -18 -18 -18 -17 -18 -18 -19 -20 -21 -23 -24 -24 -24 -25 0 -0 -2 -1 1 4 7 7 5 3 2 2 0 -2 -4 -5 -5 -6 -6 -6 -6 -7 -7 -8 -9 -10 -9 -7 -5 -2 2 3 2 -1 -3 -5 -5 -3 1 4 5 4 1 -2 -4 -4 -4 -4 -4 -4 -2 -0 1 1 2 4 5 4 2 0 0 1 -0 -0 1 2 3 4 6 9 9 6 2 -2 -5 -5 -6 -7 -7 -6 -3 -0 1 -2 -8 -15 -18 -15 -5 1 1 -1 -2 1 6 11 14 15 15 13 9 2 -8 -13 -12 -9 -9 -11 -12 -10 -3 1 1 1 2 1 -1 -1 -1 -1 -2 -3 -4 -3 -2 -0 1 1 -0 0 1 0 -2 -4 -5 -6 -8 -9 -11 -12 -13 -13 -11 -9 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -9 -10 -12 -11 -9 -5 -2 -2 -3 -5 -10 -16 -17 -15 -11 -8 -7 -6 -5 -5 -5 -4 -4 -5 -6 -8 -9 -9 -9 -10 -13 -17 -19 -19 -17 -14 -11 -7 -6 -8 -10 -12 -11 -10 -9 -6 -4 -2 -3 -5 -7 -8 -6 -4 -3 -3 -6 -10 -16 -22 -27 -28 -27 -23 -19 -16 -13 -14 -16 -19 -18 -14 -8 -1 1 -3 -7 -11 -12 -11 -10 -9 -9 -10 -12 -14 -15 -14 -15 -16 -17 -17 -13 -10 -6 -4 -4 -9 -15 -19 -21 -22 -22 -20 -19 -20 -24 -27 -28 -28 -29 -29 -29 -29 -29 -29 -28 -28 -28 -29 -30 -32 -33 -33 -32 -32 -31 -32 -32 -31 -30 -29 -29 -28 -28 -29 -30 -30 -30 -30 -30 -30 -30 -31 -31 -32 -31 -30 -29 -27 -24 -22 -21 -20 -21 -23 -24 -24 -23 -21 -21 -21 -22 -21 -20 -20 -20 -20 -19 -18 -17 -16 -15 -16 -16 -15 -16 -19 -21 -21 -19 -18 -17 -17 -17 -17 -18 -20 -22 -24 -23 -21 -21 -23 -24 -24 -24 -23 -21 -22 -21 -21 -20 -19 -19 -19 -19 -18 -17 -16 -16 -16 -15 -16 -17 -18 -17 -16 -17 -17 -15 -14 -15 -16 -17 -19 -16 -14 -13 -12 -12 -12 -13 -13 -14 -15 -16 -17 -19 -17 -17 -18 -19 -18 -17 -18 -19 -19 -21 -23 -24 -24 -24 -25 -0 -1 -2 -1 2 5 7 6 4 3 3 3 0 -3 -5 -6 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -9 -6 -3 1 3 3 1 -1 -3 -5 -5 -3 1 5 5 3 0 -2 -3 -3 -3 -4 -6 -5 -3 -0 0 0 2 3 4 5 4 3 0 -3 -4 -2 1 5 6 8 10 11 8 2 -2 -5 -4 -2 -3 -5 -6 -4 -0 0 -2 -8 -14 -16 -13 -6 1 0 -3 -5 -4 3 8 13 15 15 14 12 7 0 -8 -12 -12 -9 -8 -9 -10 -9 -5 -1 -1 -0 2 4 3 1 -1 -2 -3 -4 -3 -1 -0 -1 -1 -1 -1 1 3 3 1 -3 -5 -7 -8 -8 -9 -10 -11 -14 -15 -13 -12 -10 -9 -7 -7 -8 -9 -8 -8 -8 -7 -7 -8 -8 -9 -10 -12 -12 -10 -7 -4 -2 -2 -4 -8 -16 -20 -18 -13 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -9 -12 -15 -18 -19 -18 -17 -14 -11 -8 -7 -9 -10 -11 -10 -9 -8 -6 -4 -3 -4 -7 -9 -9 -8 -6 -4 -5 -8 -13 -20 -26 -28 -26 -22 -18 -14 -12 -12 -13 -16 -17 -17 -14 -8 -3 -1 -4 -9 -12 -11 -11 -10 -8 -9 -10 -12 -14 -14 -14 -15 -15 -14 -12 -11 -9 -6 -6 -10 -14 -18 -20 -22 -23 -22 -21 -23 -25 -27 -28 -28 -29 -29 -30 -30 -30 -29 -29 -28 -28 -28 -30 -32 -33 -33 -33 -32 -31 -32 -33 -32 -31 -29 -29 -28 -28 -29 -30 -30 -30 -30 -30 -30 -30 -31 -32 -32 -32 -31 -29 -26 -24 -22 -20 -21 -23 -25 -26 -25 -24 -22 -21 -21 -21 -21 -20 -20 -20 -21 -20 -19 -18 -16 -16 -18 -20 -19 -19 -20 -20 -19 -18 -18 -17 -17 -17 -17 -17 -20 -22 -24 -22 -22 -22 -23 -24 -25 -25 -23 -21 -21 -21 -20 -19 -19 -18 -18 -18 -17 -16 -15 -15 -15 -15 -16 -17 -18 -17 -17 -17 -16 -15 -14 -15 -16 -17 -20 -18 -16 -15 -14 -13 -12 -13 -13 -14 -14 -15 -16 -18 -17 -17 -17 -18 -19 -19 -19 -19 -20 -22 -23 -24 -25 -24 -24 -1 -2 -2 0 4 6 6 5 4 4 4 2 -1 -4 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -7 -3 -0 2 2 2 2 0 -2 -5 -6 -4 0 4 4 2 -1 -2 -2 -2 -4 -6 -6 -4 -2 -0 -1 1 3 3 3 3 4 3 -2 -7 -7 -3 2 6 9 10 11 9 4 -2 -5 -5 -2 0 -1 -3 -5 -2 2 1 -4 -12 -18 -17 -10 -1 3 -1 -5 -7 -5 2 9 13 16 17 16 11 5 -2 -10 -13 -12 -7 -5 -6 -8 -8 -6 -3 -2 -2 -1 4 6 5 3 -1 -3 -5 -4 -1 2 1 -1 -3 -3 -1 2 3 2 0 -2 -5 -8 -10 -10 -9 -9 -11 -14 -16 -17 -15 -10 -6 -5 -7 -10 -10 -8 -8 -8 -7 -8 -8 -9 -10 -12 -13 -12 -9 -5 -3 -2 -4 -7 -15 -20 -19 -13 -7 -8 -7 -6 -4 -5 -5 -5 -5 -6 -7 -8 -8 -8 -9 -11 -13 -16 -18 -18 -18 -16 -14 -11 -9 -9 -10 -10 -9 -7 -6 -6 -6 -4 -4 -5 -8 -11 -11 -10 -8 -6 -8 -11 -18 -24 -27 -25 -21 -15 -12 -10 -10 -11 -12 -14 -15 -15 -15 -11 -7 -5 -6 -8 -10 -10 -9 -7 -7 -9 -11 -12 -12 -13 -14 -14 -12 -11 -11 -10 -9 -8 -10 -12 -14 -17 -20 -23 -24 -24 -24 -25 -26 -28 -29 -30 -30 -30 -29 -30 -30 -29 -29 -28 -28 -29 -31 -34 -33 -33 -32 -31 -32 -33 -33 -32 -30 -29 -29 -28 -29 -29 -30 -30 -30 -30 -30 -30 -31 -32 -33 -33 -32 -30 -27 -24 -22 -21 -22 -23 -24 -25 -25 -24 -21 -20 -20 -21 -21 -20 -20 -20 -21 -21 -20 -19 -17 -17 -19 -21 -21 -22 -22 -21 -19 -18 -17 -17 -17 -17 -17 -18 -21 -24 -24 -24 -24 -24 -24 -24 -25 -25 -23 -21 -22 -21 -20 -19 -19 -18 -18 -18 -17 -15 -15 -15 -15 -15 -15 -15 -16 -17 -16 -15 -15 -14 -14 -15 -16 -17 -20 -18 -17 -15 -14 -13 -12 -13 -14 -14 -14 -15 -16 -17 -17 -17 -17 -19 -19 -20 -20 -20 -21 -23 -24 -25 -25 -24 -24 -2 -2 -1 2 5 6 6 5 5 5 3 1 -1 -4 -6 -7 -7 -6 -6 -7 -8 -10 -10 -10 -10 -9 -4 -1 0 0 2 3 3 0 -3 -6 -6 -3 0 2 1 -0 -2 -1 -1 -3 -5 -6 -5 -3 -2 -1 0 3 4 3 2 2 3 1 -4 -9 -7 -1 5 7 9 10 9 5 -1 -6 -6 -4 0 1 -1 -3 -4 -1 2 1 -4 -14 -18 -14 -6 1 1 -3 -6 -6 -4 1 7 13 17 19 17 12 5 -5 -14 -17 -14 -6 -0 -1 -4 -7 -7 -5 -4 -4 -4 0 6 8 7 3 -1 -4 -5 -4 1 3 2 -1 -4 -3 -0 2 2 1 -1 -3 -7 -10 -11 -10 -8 -8 -10 -15 -19 -20 -14 -7 -3 -4 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -11 -13 -13 -10 -6 -3 -2 -4 -8 -14 -19 -18 -12 -6 -7 -7 -6 -4 -5 -5 -5 -5 -5 -7 -8 -9 -9 -9 -10 -12 -15 -17 -18 -18 -17 -16 -14 -12 -11 -10 -10 -8 -6 -5 -6 -7 -6 -6 -6 -8 -11 -13 -14 -12 -10 -9 -11 -16 -22 -26 -25 -20 -13 -8 -6 -8 -9 -10 -10 -12 -14 -16 -16 -14 -10 -6 -5 -6 -8 -8 -7 -7 -10 -12 -12 -13 -14 -14 -13 -12 -11 -11 -11 -11 -11 -12 -12 -11 -13 -18 -22 -25 -26 -26 -26 -26 -27 -30 -31 -30 -28 -26 -28 -29 -29 -29 -28 -28 -29 -30 -33 -33 -33 -32 -31 -32 -33 -34 -33 -32 -31 -30 -29 -29 -29 -29 -30 -30 -30 -30 -30 -31 -32 -33 -33 -33 -31 -28 -24 -22 -22 -22 -22 -22 -23 -23 -22 -20 -19 -19 -20 -20 -20 -20 -20 -20 -21 -20 -20 -18 -18 -18 -20 -22 -23 -23 -22 -20 -18 -17 -17 -17 -17 -19 -21 -23 -25 -25 -25 -26 -26 -25 -24 -24 -25 -24 -23 -23 -22 -19 -17 -18 -19 -19 -19 -18 -16 -16 -16 -16 -15 -15 -14 -15 -15 -15 -15 -15 -15 -14 -15 -16 -17 -19 -18 -17 -16 -15 -14 -13 -13 -14 -14 -15 -16 -16 -15 -16 -18 -18 -20 -19 -19 -20 -21 -21 -23 -25 -25 -25 -25 -24 -3 -2 -0 4 6 6 5 5 5 5 2 -0 -2 -4 -6 -7 -6 -6 -6 -6 -8 -10 -11 -10 -9 -6 -2 -1 -1 -0 2 4 2 -1 -5 -6 -5 -2 -0 -1 -2 -3 -3 -1 -2 -3 -5 -5 -4 -3 -2 -2 1 4 5 3 1 1 1 -1 -5 -8 -4 1 5 7 9 8 6 1 -4 -6 -5 -1 2 1 -2 -4 -4 -1 1 -1 -6 -12 -14 -8 -2 1 -2 -6 -6 -4 -2 0 5 11 17 20 19 14 6 -6 -18 -24 -20 -7 5 5 1 -4 -7 -5 -4 -5 -6 -4 1 6 8 6 3 -0 -3 -5 -2 2 3 1 -3 -3 -1 1 1 -1 -2 -3 -6 -10 -12 -12 -10 -8 -8 -13 -18 -21 -17 -8 -3 -3 -6 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -12 -12 -10 -5 -1 -1 -3 -7 -14 -19 -18 -11 -5 -6 -7 -6 -5 -5 -5 -5 -4 -5 -6 -7 -8 -9 -9 -10 -11 -13 -16 -18 -19 -19 -18 -15 -13 -12 -11 -10 -8 -6 -5 -5 -6 -7 -7 -6 -7 -10 -12 -15 -15 -14 -12 -11 -14 -21 -25 -25 -21 -13 -5 -2 -3 -5 -7 -8 -9 -12 -15 -18 -18 -16 -11 -5 -4 -6 -7 -7 -7 -7 -9 -11 -13 -14 -14 -13 -12 -11 -10 -11 -12 -14 -14 -13 -11 -11 -16 -20 -24 -27 -28 -28 -27 -27 -30 -31 -29 -27 -26 -27 -29 -29 -29 -28 -28 -28 -29 -32 -33 -34 -34 -33 -33 -34 -35 -35 -34 -32 -31 -30 -29 -28 -29 -29 -29 -29 -30 -31 -32 -33 -34 -34 -33 -31 -27 -24 -23 -23 -22 -20 -20 -21 -22 -21 -19 -19 -19 -20 -20 -20 -19 -19 -20 -20 -20 -20 -19 -18 -18 -19 -22 -24 -24 -23 -22 -20 -19 -17 -16 -17 -22 -24 -25 -25 -25 -25 -26 -27 -27 -25 -24 -23 -23 -23 -23 -22 -19 -17 -18 -20 -20 -19 -18 -17 -17 -18 -17 -15 -14 -14 -15 -15 -16 -16 -16 -15 -15 -15 -16 -18 -19 -19 -18 -16 -16 -16 -14 -13 -14 -15 -15 -16 -16 -16 -17 -18 -20 -21 -19 -18 -19 -21 -21 -22 -24 -26 -25 -25 -24 -3 -2 2 5 6 5 5 5 6 4 1 -2 -4 -6 -6 -6 -6 -5 -5 -6 -8 -11 -11 -9 -6 -3 -1 -1 -1 0 3 3 1 -3 -6 -5 -3 -1 -1 -3 -4 -4 -3 -1 -3 -4 -5 -4 -2 -2 -3 -2 1 3 4 3 2 2 1 -1 -4 -6 -2 2 5 6 8 7 4 -0 -4 -5 -3 -0 2 1 -2 -4 -3 -1 -3 -6 -8 -9 -6 -2 0 -1 -5 -7 -5 -2 -0 -1 2 8 16 21 20 16 8 -3 -19 -30 -27 -12 7 11 7 0 -5 -5 -4 -5 -7 -7 -5 -0 4 7 6 5 1 -2 -3 -0 1 1 -1 -2 -1 0 0 -3 -5 -5 -5 -8 -12 -13 -12 -11 -9 -11 -16 -20 -17 -9 -5 -4 -5 -6 -7 -7 -8 -9 -10 -11 -11 -12 -11 -12 -12 -11 -7 -3 -0 -1 -5 -12 -17 -17 -11 -5 -6 -7 -7 -7 -6 -6 -5 -4 -5 -5 -6 -8 -9 -10 -10 -11 -12 -15 -19 -21 -22 -21 -16 -13 -12 -12 -11 -9 -7 -6 -5 -5 -6 -7 -7 -8 -10 -12 -14 -16 -16 -15 -14 -15 -19 -23 -26 -25 -19 -9 -1 2 1 -2 -5 -8 -10 -13 -17 -20 -21 -17 -9 -6 -6 -9 -9 -8 -7 -7 -10 -12 -13 -12 -11 -10 -9 -10 -11 -13 -16 -17 -16 -12 -12 -15 -18 -22 -27 -30 -29 -28 -28 -29 -30 -29 -28 -27 -28 -29 -29 -30 -29 -29 -28 -28 -30 -32 -33 -34 -34 -34 -35 -36 -36 -35 -34 -32 -31 -29 -29 -29 -29 -29 -29 -29 -31 -33 -34 -35 -34 -33 -30 -25 -24 -23 -23 -21 -20 -20 -21 -21 -20 -19 -18 -19 -19 -20 -19 -18 -18 -19 -19 -20 -20 -19 -19 -18 -19 -23 -25 -25 -24 -23 -23 -22 -20 -18 -18 -21 -22 -23 -23 -23 -24 -26 -27 -28 -26 -23 -22 -21 -23 -23 -22 -20 -19 -19 -19 -20 -19 -17 -17 -17 -18 -17 -15 -15 -15 -15 -17 -18 -18 -16 -16 -15 -15 -16 -18 -20 -20 -19 -17 -17 -16 -15 -13 -14 -14 -15 -15 -15 -16 -17 -18 -20 -21 -19 -18 -18 -20 -20 -22 -24 -26 -26 -25 -23 -3 -0 3 5 5 5 6 6 6 3 -1 -3 -5 -7 -7 -6 -6 -5 -5 -6 -8 -11 -10 -6 -3 -1 -0 -1 -0 0 2 2 -0 -3 -5 -4 -2 -1 -1 -4 -5 -4 -3 -2 -4 -5 -5 -4 -2 -1 -2 -2 0 1 1 2 2 3 1 -1 -3 -4 -1 2 5 6 7 6 3 -0 -4 -6 -5 -2 1 2 0 -1 -2 -3 -7 -11 -11 -6 1 2 -1 -4 -6 -6 -4 -2 -0 -1 0 5 11 19 20 17 10 -1 -16 -29 -31 -18 4 13 12 6 -0 -3 -3 -4 -6 -7 -8 -6 -2 3 6 8 7 3 0 -1 -1 -1 -1 -0 0 0 -1 -5 -9 -9 -6 -6 -10 -13 -15 -15 -14 -12 -13 -15 -14 -9 -6 -5 -5 -5 -5 -5 -6 -6 -8 -10 -11 -12 -12 -12 -12 -12 -10 -7 -3 -1 -2 -8 -13 -14 -10 -5 -5 -6 -7 -7 -6 -6 -5 -5 -5 -6 -7 -8 -9 -9 -10 -11 -12 -15 -18 -22 -25 -24 -18 -14 -11 -11 -12 -10 -8 -6 -6 -5 -6 -6 -7 -8 -9 -12 -14 -16 -17 -17 -16 -16 -18 -21 -23 -25 -23 -17 -9 -1 4 3 -0 -4 -7 -9 -14 -19 -22 -20 -12 -8 -8 -11 -12 -10 -7 -7 -10 -11 -12 -11 -9 -8 -8 -9 -10 -13 -17 -19 -19 -15 -13 -15 -17 -20 -25 -29 -30 -29 -29 -30 -30 -29 -28 -28 -28 -28 -29 -30 -30 -29 -29 -28 -29 -30 -31 -32 -35 -35 -35 -36 -36 -36 -35 -33 -32 -30 -29 -29 -29 -28 -28 -29 -31 -33 -34 -35 -35 -33 -29 -25 -23 -24 -24 -22 -21 -21 -22 -22 -21 -19 -18 -19 -19 -20 -19 -18 -17 -18 -19 -19 -20 -20 -19 -19 -20 -24 -24 -24 -23 -22 -23 -23 -22 -21 -20 -20 -20 -20 -20 -21 -22 -24 -26 -27 -26 -23 -22 -20 -22 -22 -21 -20 -20 -19 -18 -19 -18 -17 -16 -17 -17 -16 -15 -15 -15 -16 -18 -19 -19 -17 -16 -16 -16 -17 -18 -19 -20 -20 -18 -17 -16 -15 -13 -13 -13 -14 -14 -15 -16 -17 -17 -18 -20 -19 -18 -17 -18 -19 -21 -24 -25 -26 -25 -24 -2 1 3 4 5 5 6 6 5 2 -1 -4 -6 -7 -8 -7 -6 -6 -6 -7 -9 -10 -7 -3 -1 -1 -1 -1 -0 1 1 0 -1 -3 -3 -1 0 0 -2 -5 -5 -4 -2 -3 -5 -6 -6 -4 -3 -2 -2 -2 -1 -0 -0 -0 1 4 3 -1 -4 -4 -0 4 6 7 6 6 4 -0 -6 -9 -8 -4 0 3 3 1 -2 -7 -12 -13 -10 -2 2 1 -3 -7 -8 -6 -3 -0 1 1 0 2 6 14 17 15 8 -1 -12 -21 -24 -17 1 9 12 10 6 2 -0 -2 -4 -5 -8 -10 -10 -5 2 7 10 9 7 3 -0 -4 -5 -2 -1 0 -0 -5 -11 -12 -9 -5 -8 -12 -17 -20 -19 -15 -12 -11 -10 -8 -7 -6 -5 -5 -4 -4 -4 -4 -6 -8 -10 -12 -12 -11 -11 -12 -12 -11 -8 -5 -4 -5 -8 -9 -8 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -9 -10 -12 -15 -19 -23 -26 -26 -22 -16 -11 -10 -11 -11 -10 -8 -7 -6 -6 -6 -7 -7 -9 -11 -15 -16 -17 -18 -18 -17 -18 -18 -20 -21 -22 -21 -18 -12 -5 -0 1 -0 -4 -7 -11 -16 -20 -18 -13 -10 -10 -13 -14 -12 -9 -7 -9 -10 -10 -9 -8 -8 -8 -8 -9 -12 -18 -22 -22 -18 -16 -16 -17 -20 -24 -27 -28 -29 -29 -30 -30 -29 -27 -27 -28 -29 -29 -30 -30 -30 -29 -29 -28 -28 -30 -31 -34 -35 -35 -36 -36 -36 -36 -35 -33 -31 -30 -29 -28 -29 -29 -30 -31 -33 -35 -35 -35 -32 -27 -24 -23 -24 -25 -23 -22 -22 -23 -23 -21 -19 -18 -18 -19 -20 -20 -19 -18 -19 -19 -19 -20 -20 -19 -19 -20 -22 -22 -21 -20 -19 -21 -22 -22 -21 -21 -20 -19 -19 -19 -19 -20 -22 -23 -24 -23 -22 -22 -20 -21 -21 -20 -20 -20 -19 -18 -18 -19 -17 -16 -16 -16 -16 -16 -16 -16 -17 -19 -20 -19 -18 -17 -17 -17 -17 -17 -17 -18 -19 -17 -16 -16 -15 -12 -12 -13 -14 -14 -16 -16 -17 -16 -17 -18 -18 -17 -17 -16 -18 -20 -22 -24 -25 -25 -25 -1 2 3 3 4 5 6 6 4 1 -2 -5 -7 -8 -8 -7 -7 -6 -7 -8 -9 -8 -4 -1 -1 -2 -2 -1 -0 0 0 -1 -3 -3 -1 1 1 -0 -3 -5 -5 -3 -2 -2 -5 -5 -5 -4 -3 -4 -4 -3 -1 1 -0 -1 0 3 3 -0 -4 -4 0 4 6 8 7 6 3 -2 -8 -10 -9 -5 -0 4 5 3 -1 -9 -15 -14 -8 -1 1 -2 -5 -8 -9 -7 -4 -0 3 3 2 1 2 8 13 12 6 -3 -13 -18 -16 -8 2 6 7 8 8 7 5 2 -1 -3 -5 -9 -13 -14 -8 0 8 12 11 9 4 -1 -8 -8 -6 -3 -2 -4 -8 -10 -9 -6 -8 -12 -17 -22 -23 -19 -13 -9 -9 -8 -6 -5 -5 -5 -5 -5 -5 -4 -5 -7 -8 -9 -9 -9 -10 -10 -12 -13 -12 -10 -8 -7 -8 -7 -6 -4 -4 -4 -4 -5 -5 -5 -6 -7 -7 -7 -6 -5 -4 -5 -7 -9 -12 -16 -20 -23 -26 -27 -24 -19 -13 -9 -11 -12 -11 -10 -8 -7 -6 -6 -6 -6 -8 -11 -15 -17 -18 -18 -18 -18 -17 -17 -17 -18 -19 -20 -19 -18 -15 -11 -7 -3 -2 -3 -5 -9 -13 -13 -11 -10 -11 -12 -13 -12 -10 -8 -8 -9 -9 -7 -6 -7 -7 -8 -8 -13 -18 -22 -23 -21 -18 -16 -17 -20 -24 -26 -28 -29 -28 -28 -28 -28 -27 -26 -27 -29 -29 -30 -30 -30 -30 -29 -28 -28 -29 -31 -34 -36 -37 -37 -37 -37 -37 -36 -35 -33 -31 -30 -29 -29 -29 -30 -31 -32 -34 -35 -35 -33 -28 -24 -23 -23 -25 -24 -22 -22 -22 -22 -21 -20 -18 -17 -19 -20 -20 -20 -20 -20 -20 -20 -19 -20 -20 -20 -19 -19 -19 -18 -17 -17 -20 -21 -20 -20 -20 -20 -19 -18 -19 -19 -20 -21 -21 -21 -21 -21 -22 -20 -20 -20 -19 -20 -20 -20 -19 -18 -19 -17 -16 -15 -16 -15 -15 -16 -17 -18 -19 -20 -19 -19 -18 -18 -18 -17 -17 -17 -17 -18 -17 -16 -16 -15 -13 -13 -13 -15 -15 -16 -16 -16 -15 -15 -16 -17 -18 -19 -17 -17 -19 -19 -22 -23 -24 -25 1 2 3 3 4 5 6 5 3 1 -2 -5 -7 -7 -7 -7 -7 -7 -7 -8 -8 -6 -2 -2 -2 -2 -2 -2 -1 -0 -1 -3 -4 -3 0 2 1 -1 -3 -4 -4 -3 -3 -3 -6 -5 -3 -1 -2 -4 -5 -4 -1 0 0 1 2 4 2 -0 -2 -1 2 4 7 9 8 5 -0 -6 -9 -8 -6 -3 -0 3 4 2 -2 -9 -14 -13 -7 -1 -2 -4 -6 -6 -7 -7 -5 -1 3 4 3 1 0 3 8 9 7 -1 -11 -16 -13 -4 4 5 4 4 6 7 7 5 2 -0 -2 -6 -11 -17 -15 -7 2 9 10 10 9 5 -2 -7 -8 -9 -9 -6 -5 -6 -7 -7 -9 -12 -16 -21 -25 -20 -13 -8 -10 -10 -8 -5 -4 -5 -6 -6 -6 -7 -7 -8 -7 -6 -7 -7 -8 -8 -10 -11 -12 -13 -12 -11 -10 -8 -5 -4 -3 -3 -4 -4 -4 -5 -5 -7 -8 -8 -8 -6 -5 -5 -5 -7 -10 -15 -20 -23 -25 -25 -25 -21 -17 -12 -11 -12 -12 -11 -10 -9 -8 -7 -6 -6 -7 -10 -14 -16 -18 -18 -19 -18 -17 -16 -16 -16 -16 -17 -17 -18 -18 -16 -13 -9 -6 -4 -3 -4 -6 -6 -7 -8 -10 -11 -12 -13 -13 -12 -9 -8 -6 -5 -4 -5 -6 -8 -9 -14 -19 -22 -24 -22 -19 -17 -18 -21 -24 -26 -28 -28 -28 -28 -28 -27 -27 -27 -28 -29 -29 -30 -31 -31 -31 -30 -29 -28 -29 -31 -34 -36 -37 -37 -37 -37 -38 -37 -35 -33 -32 -31 -30 -30 -30 -30 -30 -32 -34 -36 -36 -34 -30 -26 -24 -25 -25 -24 -22 -22 -22 -22 -21 -19 -18 -18 -19 -21 -21 -21 -22 -22 -22 -21 -20 -20 -20 -21 -20 -19 -19 -19 -18 -19 -21 -22 -21 -18 -18 -18 -19 -19 -19 -19 -20 -20 -21 -20 -19 -19 -20 -19 -19 -19 -18 -19 -20 -20 -20 -18 -18 -17 -16 -15 -16 -15 -16 -17 -18 -18 -18 -19 -20 -19 -18 -18 -18 -17 -16 -16 -17 -18 -17 -16 -16 -17 -16 -15 -15 -16 -16 -16 -17 -17 -16 -15 -15 -16 -18 -19 -18 -18 -19 -18 -20 -21 -23 -25 2 3 2 2 4 5 4 4 3 0 -2 -5 -7 -7 -7 -7 -7 -8 -8 -7 -7 -5 -3 -3 -2 -2 -2 -2 -1 -1 -2 -4 -4 -2 1 2 0 -1 -2 -2 -3 -3 -3 -4 -7 -6 -3 0 -1 -3 -4 -3 -2 -1 0 2 4 4 2 1 1 3 3 4 6 7 6 1 -5 -9 -10 -6 -2 0 1 1 -1 -3 -4 -7 -9 -8 -4 -1 -3 -5 -5 -5 -5 -5 -5 -2 1 3 3 2 1 1 4 6 6 2 -7 -13 -13 -6 3 5 5 3 3 5 6 6 5 2 0 -2 -7 -14 -15 -11 -4 3 6 7 7 6 2 -2 -6 -10 -13 -10 -6 -5 -5 -6 -8 -12 -16 -20 -22 -17 -10 -6 -10 -12 -11 -7 -5 -4 -4 -5 -6 -8 -10 -10 -9 -6 -6 -6 -7 -7 -7 -9 -10 -12 -13 -13 -12 -10 -7 -4 -3 -3 -3 -4 -4 -4 -4 -5 -7 -8 -9 -8 -7 -6 -5 -6 -8 -13 -19 -22 -24 -24 -24 -23 -20 -15 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -6 -7 -10 -14 -17 -18 -19 -18 -17 -16 -16 -15 -13 -14 -15 -16 -18 -18 -16 -14 -10 -9 -7 -5 -3 -2 -3 -6 -9 -11 -13 -15 -16 -15 -11 -8 -5 -4 -3 -3 -4 -7 -10 -15 -18 -21 -23 -23 -21 -19 -20 -23 -26 -27 -28 -28 -28 -27 -27 -27 -27 -27 -27 -28 -29 -30 -31 -31 -31 -31 -30 -29 -30 -31 -33 -35 -36 -36 -36 -37 -38 -38 -36 -35 -33 -32 -31 -30 -30 -30 -30 -32 -34 -35 -36 -36 -32 -28 -25 -26 -27 -25 -23 -22 -22 -21 -20 -19 -18 -19 -21 -22 -23 -22 -23 -24 -25 -24 -21 -20 -20 -21 -21 -21 -21 -21 -22 -23 -24 -24 -22 -18 -18 -18 -18 -19 -19 -20 -20 -20 -20 -19 -18 -18 -19 -20 -19 -18 -17 -18 -19 -20 -21 -19 -18 -17 -16 -16 -16 -16 -17 -18 -18 -17 -17 -18 -19 -19 -19 -19 -19 -17 -16 -16 -17 -18 -17 -16 -16 -17 -19 -18 -17 -17 -17 -17 -18 -19 -18 -17 -17 -16 -17 -17 -17 -18 -19 -18 -20 -22 -23 -24 3 3 2 2 4 4 3 2 2 -0 -3 -5 -6 -6 -6 -8 -9 -9 -7 -7 -6 -5 -5 -4 -2 -1 -1 -1 -1 -2 -3 -5 -4 -2 1 1 -1 -2 -1 -1 -2 -4 -5 -6 -7 -7 -5 -2 -1 -2 -2 -2 -2 -3 0 3 6 4 3 3 4 4 4 3 4 5 3 -3 -8 -11 -9 -4 0 2 2 -3 -9 -11 -10 -6 -3 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -2 -0 2 2 2 1 1 1 3 4 3 -3 -10 -14 -11 -1 5 6 4 3 3 4 4 4 2 1 -0 -2 -7 -12 -11 -7 -1 3 4 3 1 -0 -2 -5 -8 -12 -11 -9 -7 -5 -3 -5 -10 -16 -20 -19 -13 -7 -4 -9 -11 -12 -10 -8 -6 -5 -5 -5 -8 -10 -11 -10 -7 -6 -6 -7 -8 -7 -7 -8 -11 -13 -14 -13 -12 -9 -5 -3 -3 -4 -4 -4 -3 -3 -3 -5 -7 -9 -10 -9 -8 -7 -7 -7 -11 -16 -20 -22 -22 -22 -22 -21 -18 -14 -12 -11 -11 -11 -10 -10 -9 -9 -8 -8 -7 -8 -11 -15 -17 -18 -17 -16 -16 -16 -13 -12 -12 -13 -15 -17 -17 -17 -15 -13 -12 -11 -9 -6 -4 -3 -3 -5 -8 -12 -15 -17 -16 -12 -8 -5 -4 -2 -2 -4 -6 -10 -14 -16 -18 -22 -23 -23 -22 -22 -25 -27 -27 -28 -28 -28 -27 -27 -27 -26 -26 -27 -28 -29 -30 -30 -31 -31 -32 -31 -31 -31 -31 -33 -34 -34 -34 -34 -36 -38 -39 -39 -38 -36 -34 -32 -31 -30 -30 -31 -32 -33 -34 -35 -35 -32 -28 -25 -26 -27 -25 -23 -22 -22 -21 -21 -20 -19 -20 -22 -23 -23 -22 -23 -25 -27 -28 -24 -22 -21 -21 -22 -22 -22 -23 -24 -25 -25 -23 -21 -18 -18 -18 -19 -19 -20 -20 -20 -20 -20 -19 -19 -20 -22 -23 -22 -19 -19 -18 -19 -20 -20 -19 -18 -17 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -19 -20 -20 -19 -18 -17 -16 -16 -16 -17 -18 -17 -17 -18 -21 -21 -20 -18 -19 -18 -19 -20 -20 -19 -18 -17 -17 -17 -17 -17 -18 -19 -21 -23 -25 -24 3 2 1 2 3 3 2 2 1 -1 -3 -5 -5 -5 -6 -8 -10 -9 -7 -6 -6 -6 -6 -5 -3 -2 -1 -1 -2 -3 -4 -5 -4 -2 0 -0 -1 -2 -1 -0 -2 -4 -6 -7 -8 -8 -6 -4 -2 -2 -1 -1 -2 -3 0 4 7 6 6 6 5 3 3 2 3 3 -0 -6 -9 -10 -6 -1 2 2 -1 -8 -15 -18 -14 -4 2 2 -1 -4 -3 -2 -1 -1 -2 -2 -2 -1 0 2 2 2 2 1 1 1 2 1 -3 -10 -15 -14 -4 4 7 6 4 3 3 2 2 1 1 1 1 -2 -7 -10 -8 -3 2 3 1 -3 -5 -6 -7 -8 -10 -13 -13 -11 -7 -4 -4 -8 -13 -19 -16 -10 -4 -3 -7 -9 -11 -11 -10 -9 -7 -6 -5 -7 -9 -10 -10 -8 -7 -7 -8 -10 -10 -9 -8 -9 -11 -12 -13 -12 -10 -7 -4 -3 -3 -4 -4 -4 -3 -2 -3 -5 -8 -10 -10 -10 -10 -9 -9 -10 -13 -17 -20 -20 -20 -20 -21 -20 -17 -13 -11 -11 -10 -10 -10 -9 -9 -10 -10 -9 -9 -10 -12 -14 -15 -15 -16 -16 -15 -12 -10 -10 -11 -13 -15 -16 -16 -15 -13 -12 -12 -12 -11 -8 -6 -4 -4 -6 -10 -13 -16 -16 -13 -9 -5 -3 -2 -3 -4 -7 -11 -13 -13 -15 -19 -22 -24 -25 -24 -25 -26 -27 -28 -28 -28 -28 -27 -27 -26 -26 -26 -28 -29 -30 -30 -31 -32 -32 -32 -32 -31 -31 -32 -32 -32 -32 -33 -35 -37 -40 -41 -40 -38 -36 -34 -31 -30 -30 -31 -32 -32 -32 -32 -32 -30 -26 -24 -25 -26 -25 -23 -22 -23 -23 -22 -21 -21 -21 -22 -23 -23 -22 -22 -24 -27 -29 -26 -23 -21 -22 -23 -23 -23 -23 -25 -25 -24 -21 -20 -19 -18 -19 -19 -19 -20 -20 -20 -20 -19 -19 -20 -22 -25 -25 -24 -21 -21 -20 -19 -19 -19 -19 -19 -19 -18 -18 -19 -19 -18 -17 -16 -16 -15 -16 -18 -19 -20 -19 -18 -17 -17 -17 -17 -17 -18 -18 -18 -19 -21 -23 -22 -20 -19 -19 -19 -20 -20 -19 -18 -17 -17 -17 -17 -16 -18 -20 -22 -23 -25 -25 3 1 1 1 1 2 2 2 1 -1 -3 -4 -4 -3 -5 -8 -10 -9 -7 -7 -7 -7 -7 -5 -3 -2 -1 -2 -2 -3 -4 -5 -4 -3 -2 -1 -2 -1 -1 0 -1 -4 -6 -8 -9 -7 -5 -3 -2 -1 0 1 -1 -2 0 4 8 9 8 7 4 1 2 2 2 1 -3 -7 -9 -7 -2 2 1 -2 -8 -13 -17 -17 -11 -1 3 1 -3 -6 -4 -1 1 0 -1 -1 -0 1 2 4 5 4 3 2 2 2 1 -0 -4 -11 -16 -17 -7 3 8 8 6 5 3 1 -1 -2 -0 1 3 1 -3 -7 -8 -5 1 3 2 -2 -6 -8 -9 -9 -10 -14 -17 -16 -13 -8 -6 -7 -11 -15 -13 -7 -3 -3 -5 -7 -9 -10 -10 -10 -9 -8 -6 -7 -8 -9 -10 -10 -8 -7 -7 -9 -11 -10 -9 -8 -9 -10 -10 -11 -10 -8 -6 -4 -3 -4 -4 -5 -5 -4 -4 -4 -6 -7 -9 -10 -11 -11 -11 -11 -12 -14 -17 -17 -17 -18 -19 -20 -18 -15 -12 -11 -10 -10 -9 -9 -9 -10 -11 -11 -10 -10 -10 -11 -11 -13 -15 -16 -16 -14 -11 -9 -8 -10 -12 -14 -16 -16 -14 -12 -11 -11 -12 -10 -9 -8 -7 -7 -9 -11 -13 -14 -13 -11 -7 -3 -2 -3 -5 -8 -10 -11 -13 -16 -18 -20 -23 -24 -24 -24 -26 -27 -27 -27 -28 -28 -28 -27 -26 -26 -26 -27 -28 -29 -30 -31 -32 -33 -33 -33 -32 -31 -31 -31 -31 -32 -33 -35 -37 -40 -42 -41 -40 -39 -36 -32 -30 -30 -30 -30 -30 -29 -29 -31 -28 -26 -25 -25 -26 -25 -25 -24 -24 -24 -23 -22 -22 -22 -22 -22 -22 -22 -22 -23 -25 -26 -25 -23 -21 -22 -22 -23 -23 -23 -24 -24 -22 -19 -19 -19 -19 -19 -19 -19 -19 -20 -20 -19 -19 -19 -21 -23 -25 -26 -25 -21 -21 -21 -20 -19 -19 -21 -22 -22 -21 -20 -20 -19 -19 -17 -16 -15 -15 -15 -17 -19 -19 -19 -18 -18 -17 -18 -18 -18 -18 -18 -18 -19 -19 -20 -22 -21 -19 -17 -17 -19 -19 -18 -18 -17 -17 -17 -16 -15 -18 -21 -22 -23 -24 -24 2 0 -0 -0 -0 1 1 1 -0 -1 -2 -2 -2 -2 -5 -8 -9 -9 -7 -7 -7 -8 -8 -6 -4 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -0 -0 -2 -4 -7 -9 -9 -6 -3 -1 -1 0 1 1 0 -0 1 4 7 9 8 6 3 1 3 3 2 -1 -5 -7 -6 -3 2 2 -3 -10 -16 -18 -15 -9 -2 2 -2 -4 -6 -5 -4 -3 -2 -2 -3 -2 -1 1 2 6 8 9 7 5 3 1 1 0 -3 -9 -15 -17 -9 1 7 10 10 9 6 2 -2 -3 -2 0 2 2 -1 -4 -6 -5 -0 4 4 1 -5 -7 -8 -8 -10 -15 -20 -21 -19 -13 -10 -9 -10 -11 -9 -5 -3 -3 -5 -6 -7 -7 -8 -9 -10 -9 -8 -8 -8 -9 -10 -10 -9 -8 -7 -8 -9 -10 -10 -9 -9 -8 -8 -8 -9 -9 -7 -5 -4 -4 -5 -6 -7 -7 -6 -6 -6 -5 -6 -7 -9 -12 -13 -13 -12 -12 -14 -15 -15 -15 -16 -17 -18 -16 -14 -12 -11 -10 -8 -8 -8 -9 -10 -10 -11 -11 -11 -10 -10 -11 -13 -15 -16 -15 -12 -10 -8 -8 -8 -11 -14 -16 -15 -12 -10 -10 -11 -11 -10 -10 -9 -10 -10 -11 -12 -11 -11 -10 -9 -6 -4 -4 -6 -8 -10 -11 -13 -15 -17 -18 -19 -22 -24 -25 -26 -27 -27 -27 -28 -28 -28 -27 -27 -27 -27 -27 -28 -29 -30 -31 -32 -34 -34 -34 -33 -32 -31 -31 -31 -33 -34 -35 -37 -39 -41 -41 -41 -41 -38 -34 -31 -30 -30 -29 -28 -27 -28 -30 -28 -26 -25 -26 -26 -27 -28 -27 -26 -25 -24 -23 -22 -22 -22 -21 -21 -21 -21 -21 -22 -23 -23 -23 -22 -22 -22 -23 -23 -23 -22 -22 -20 -19 -19 -19 -18 -19 -19 -18 -18 -19 -19 -19 -20 -20 -21 -23 -24 -25 -24 -22 -21 -21 -22 -21 -21 -22 -24 -24 -24 -22 -20 -19 -19 -18 -16 -15 -15 -15 -16 -18 -19 -18 -18 -18 -18 -20 -20 -20 -19 -18 -18 -17 -17 -17 -19 -20 -19 -18 -18 -20 -20 -19 -17 -16 -16 -16 -15 -14 -18 -20 -22 -23 -23 -23 2 -0 -1 -2 -1 -0 1 0 -1 -1 -1 -1 -1 -1 -4 -7 -9 -8 -7 -7 -8 -8 -8 -7 -5 -3 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -1 -1 -1 -4 -6 -9 -10 -8 -3 -0 0 0 1 2 2 2 2 3 5 8 7 5 3 3 3 5 4 1 -3 -6 -5 -2 2 3 -2 -9 -16 -20 -16 -8 -2 1 -2 -5 -5 -4 -4 -4 -4 -4 -5 -7 -6 -4 -2 -0 4 9 11 11 8 5 2 -0 -2 -3 -7 -10 -11 -5 1 6 9 10 10 7 4 1 -2 -2 -1 0 0 -1 -3 -5 -5 -2 2 3 2 -3 -5 -5 -5 -7 -14 -21 -25 -24 -17 -13 -10 -10 -9 -7 -5 -4 -3 -4 -5 -6 -6 -6 -8 -9 -9 -10 -10 -10 -10 -10 -11 -10 -9 -7 -7 -8 -8 -9 -10 -9 -8 -7 -6 -8 -9 -8 -7 -5 -6 -7 -7 -8 -8 -9 -9 -8 -7 -6 -6 -7 -9 -11 -12 -12 -12 -13 -14 -14 -14 -14 -15 -17 -17 -16 -14 -12 -10 -8 -7 -7 -8 -8 -9 -11 -12 -12 -11 -10 -10 -11 -13 -14 -15 -14 -12 -10 -8 -7 -8 -10 -13 -14 -13 -12 -11 -11 -12 -12 -11 -11 -12 -13 -13 -13 -11 -9 -9 -10 -9 -7 -7 -7 -9 -10 -11 -13 -15 -17 -18 -19 -21 -24 -26 -27 -27 -26 -26 -27 -28 -28 -27 -27 -27 -28 -28 -28 -29 -30 -31 -32 -33 -34 -34 -34 -32 -31 -31 -32 -33 -34 -34 -35 -37 -39 -40 -40 -41 -39 -36 -33 -31 -30 -29 -28 -27 -28 -29 -27 -25 -24 -25 -26 -29 -31 -30 -28 -26 -24 -24 -23 -22 -22 -21 -21 -21 -20 -20 -20 -20 -21 -22 -23 -22 -23 -24 -24 -23 -22 -21 -20 -19 -19 -18 -18 -18 -18 -17 -17 -18 -19 -21 -21 -22 -22 -23 -25 -25 -24 -23 -22 -22 -23 -23 -22 -23 -25 -26 -25 -23 -21 -20 -21 -19 -17 -16 -15 -15 -17 -18 -18 -18 -17 -18 -19 -21 -22 -21 -20 -18 -17 -17 -16 -16 -17 -19 -20 -20 -19 -20 -20 -19 -16 -16 -15 -15 -15 -15 -17 -19 -20 -22 -21 -21 1 -1 -2 -2 -2 -1 -0 -0 -1 -1 -1 -0 -0 -1 -3 -6 -7 -7 -6 -7 -8 -8 -8 -7 -5 -3 -3 -3 -3 -4 -4 -4 -5 -5 -4 -3 -2 -2 -2 -2 -5 -8 -10 -9 -6 -3 -1 -0 -0 1 2 2 2 2 5 8 9 6 2 0 1 3 4 3 -1 -5 -5 -2 2 3 1 -7 -14 -18 -17 -7 0 2 -3 -9 -8 -5 -2 -1 -3 -4 -6 -8 -9 -9 -8 -7 -5 -1 5 10 12 10 8 4 -0 -6 -8 -9 -7 -3 3 6 7 7 9 10 8 6 3 1 -1 -1 -1 -3 -3 -4 -4 -4 -3 -0 1 -1 -3 -4 -4 -3 -4 -10 -18 -26 -29 -20 -12 -8 -9 -11 -9 -7 -5 -4 -5 -5 -6 -6 -6 -6 -6 -7 -9 -10 -11 -12 -12 -12 -11 -10 -9 -8 -7 -7 -8 -9 -9 -8 -6 -5 -6 -7 -7 -7 -6 -7 -8 -8 -9 -10 -11 -11 -11 -10 -8 -7 -6 -6 -9 -10 -10 -11 -12 -13 -13 -13 -13 -14 -17 -18 -18 -15 -13 -10 -8 -6 -6 -7 -8 -9 -10 -12 -13 -13 -12 -11 -11 -11 -12 -13 -13 -13 -12 -10 -8 -7 -8 -11 -14 -14 -13 -11 -11 -13 -14 -14 -14 -13 -13 -14 -15 -13 -10 -9 -11 -12 -11 -10 -9 -10 -10 -10 -11 -13 -17 -18 -18 -18 -21 -25 -27 -27 -25 -25 -26 -28 -28 -28 -28 -28 -29 -29 -29 -29 -29 -30 -31 -33 -34 -34 -33 -32 -31 -31 -31 -32 -33 -33 -33 -34 -36 -37 -38 -39 -40 -38 -35 -32 -30 -29 -29 -27 -27 -27 -27 -25 -24 -24 -25 -27 -30 -31 -29 -27 -24 -24 -24 -23 -22 -21 -21 -21 -21 -20 -19 -19 -20 -21 -22 -22 -22 -23 -24 -23 -23 -22 -21 -19 -18 -17 -17 -17 -17 -17 -17 -18 -21 -22 -22 -22 -21 -23 -26 -27 -26 -25 -24 -22 -22 -23 -23 -24 -26 -26 -26 -25 -23 -22 -22 -21 -19 -17 -16 -17 -18 -18 -18 -17 -17 -18 -19 -21 -22 -22 -21 -18 -17 -17 -17 -17 -15 -17 -19 -20 -19 -19 -18 -17 -17 -17 -16 -16 -16 -16 -16 -18 -19 -20 -19 -19 0 -2 -3 -3 -2 -1 -1 -0 -0 -0 0 0 0 -2 -3 -5 -6 -6 -6 -7 -8 -8 -8 -7 -5 -4 -4 -3 -3 -4 -4 -5 -6 -5 -4 -2 -2 -2 -3 -4 -7 -8 -7 -4 -2 -3 -3 -2 -0 2 1 0 0 3 7 9 8 4 1 -1 -0 2 2 -1 -4 -5 -4 1 3 2 -4 -11 -16 -15 -8 2 5 0 -7 -14 -9 -4 -1 0 -1 -3 -6 -8 -10 -10 -9 -9 -8 -5 -1 4 8 9 8 5 -0 -7 -12 -13 -10 -2 8 11 10 8 8 9 8 6 4 2 1 -0 -1 -4 -5 -6 -5 -5 -3 -1 -0 -2 -4 -5 -5 -5 -5 -7 -13 -21 -28 -22 -13 -6 -6 -9 -10 -9 -7 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -9 -11 -12 -14 -13 -12 -11 -10 -9 -8 -7 -7 -8 -9 -8 -7 -6 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -13 -12 -11 -11 -9 -8 -6 -7 -8 -8 -9 -10 -11 -12 -13 -13 -14 -16 -17 -18 -17 -14 -12 -9 -7 -7 -8 -8 -9 -10 -11 -12 -13 -13 -13 -12 -11 -11 -11 -12 -12 -13 -13 -11 -10 -9 -11 -12 -12 -10 -8 -8 -11 -14 -16 -15 -14 -14 -14 -16 -16 -14 -13 -13 -15 -15 -13 -10 -10 -9 -7 -7 -10 -16 -18 -18 -17 -20 -24 -26 -25 -24 -24 -25 -27 -28 -29 -29 -30 -30 -30 -30 -30 -30 -30 -30 -31 -32 -33 -32 -31 -31 -30 -29 -31 -32 -32 -31 -31 -33 -34 -35 -36 -38 -38 -36 -34 -31 -30 -29 -27 -26 -26 -26 -26 -25 -24 -24 -24 -26 -27 -28 -27 -24 -23 -23 -23 -23 -22 -22 -21 -21 -20 -19 -20 -20 -20 -21 -21 -22 -23 -24 -23 -23 -22 -20 -19 -17 -16 -16 -16 -16 -16 -17 -19 -22 -22 -21 -19 -19 -22 -25 -27 -27 -26 -24 -22 -20 -22 -24 -25 -26 -27 -27 -26 -25 -23 -22 -21 -20 -18 -17 -18 -19 -19 -18 -17 -17 -17 -19 -21 -22 -22 -21 -18 -17 -17 -18 -19 -17 -15 -16 -18 -18 -18 -17 -17 -18 -19 -18 -17 -17 -18 -17 -17 -18 -18 -17 -16 -0 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 0 -2 -3 -4 -5 -5 -6 -6 -8 -9 -9 -8 -6 -5 -4 -3 -3 -4 -5 -7 -7 -6 -4 -2 -2 -3 -4 -6 -7 -5 -2 1 -0 -4 -4 -2 1 1 -1 -1 1 6 8 8 6 3 1 -0 0 0 -2 -4 -6 -5 -1 2 1 -3 -9 -14 -13 -7 2 7 4 -2 -10 -14 -9 -3 0 -0 0 -1 -4 -7 -10 -10 -9 -8 -8 -7 -5 -2 3 6 6 4 0 -5 -10 -14 -13 -7 5 11 12 10 8 8 7 5 3 1 1 1 -0 -3 -6 -7 -7 -7 -5 -3 -2 -2 -3 -4 -5 -7 -8 -8 -10 -14 -20 -18 -11 -6 -4 -6 -9 -10 -9 -7 -5 -4 -3 -4 -4 -5 -5 -6 -7 -7 -9 -11 -13 -14 -13 -12 -11 -10 -9 -8 -7 -8 -9 -8 -8 -7 -6 -4 -3 -4 -5 -7 -8 -9 -10 -12 -13 -14 -14 -13 -12 -11 -9 -7 -7 -7 -7 -8 -9 -10 -11 -13 -13 -14 -15 -16 -17 -17 -16 -14 -10 -8 -7 -8 -8 -8 -9 -9 -10 -10 -12 -13 -13 -12 -12 -11 -10 -11 -12 -14 -14 -13 -14 -15 -14 -10 -7 -5 -5 -8 -11 -15 -15 -15 -14 -14 -15 -16 -16 -16 -15 -15 -15 -13 -10 -8 -8 -7 -6 -8 -15 -18 -18 -17 -20 -23 -25 -24 -23 -23 -24 -26 -28 -28 -29 -30 -30 -30 -30 -31 -31 -30 -29 -29 -30 -31 -30 -30 -30 -29 -29 -30 -31 -31 -29 -29 -30 -32 -34 -34 -35 -36 -36 -36 -34 -31 -28 -26 -24 -25 -26 -26 -25 -24 -23 -22 -23 -24 -27 -28 -25 -22 -23 -24 -24 -23 -22 -21 -21 -20 -19 -20 -20 -20 -20 -20 -22 -23 -25 -24 -23 -22 -19 -20 -17 -15 -15 -16 -16 -17 -17 -19 -22 -21 -19 -17 -17 -20 -23 -25 -25 -26 -23 -19 -17 -20 -22 -24 -26 -27 -27 -27 -27 -25 -23 -22 -20 -19 -19 -19 -19 -19 -18 -17 -16 -17 -18 -20 -21 -21 -20 -18 -16 -16 -17 -18 -18 -16 -14 -15 -17 -18 -18 -18 -20 -20 -20 -19 -19 -19 -18 -18 -18 -17 -16 -16 -1 -1 -2 -2 -2 -2 -2 -1 -1 1 2 1 -0 -2 -3 -4 -4 -4 -5 -6 -7 -9 -11 -9 -7 -5 -4 -3 -3 -4 -6 -8 -8 -7 -5 -4 -4 -4 -6 -7 -5 -1 2 3 -1 -3 -3 -0 1 -1 -2 -1 3 8 8 7 5 3 1 1 -0 -2 -4 -6 -6 -4 -0 -0 -4 -9 -13 -13 -8 -1 6 5 1 -4 -8 -11 -6 -2 -0 -1 0 1 -1 -5 -10 -10 -8 -6 -4 -5 -6 -6 -4 -0 1 1 0 -1 -5 -9 -11 -11 -3 6 11 12 10 8 6 4 1 -1 -2 -1 1 -0 -3 -5 -7 -9 -9 -8 -6 -4 -3 -3 -4 -7 -10 -12 -12 -12 -13 -12 -8 -5 -3 -4 -6 -8 -9 -9 -7 -5 -4 -3 -3 -4 -4 -5 -5 -6 -7 -9 -12 -14 -15 -15 -14 -12 -10 -9 -9 -9 -9 -8 -8 -7 -7 -5 -3 -3 -4 -6 -7 -8 -9 -11 -14 -16 -16 -15 -13 -11 -10 -8 -8 -8 -7 -8 -8 -9 -10 -11 -12 -14 -15 -15 -16 -16 -16 -15 -12 -10 -8 -8 -8 -7 -8 -8 -9 -9 -10 -12 -12 -13 -13 -12 -11 -10 -11 -12 -13 -14 -17 -20 -18 -13 -7 -5 -4 -6 -9 -13 -14 -14 -13 -12 -13 -16 -18 -18 -17 -16 -15 -12 -9 -9 -11 -10 -9 -9 -14 -17 -18 -18 -20 -22 -23 -23 -23 -23 -24 -25 -26 -27 -28 -29 -29 -29 -29 -30 -31 -31 -30 -29 -28 -28 -29 -29 -29 -29 -29 -30 -31 -31 -28 -27 -28 -30 -33 -33 -34 -36 -37 -37 -36 -34 -31 -27 -25 -25 -26 -26 -25 -24 -23 -22 -22 -23 -26 -28 -26 -22 -23 -24 -26 -25 -24 -23 -21 -20 -19 -19 -20 -19 -19 -19 -21 -23 -26 -25 -23 -21 -18 -18 -16 -15 -15 -16 -17 -17 -17 -19 -21 -20 -18 -17 -18 -21 -23 -24 -23 -23 -21 -18 -15 -16 -18 -22 -25 -26 -27 -28 -27 -25 -24 -23 -21 -20 -19 -19 -19 -19 -18 -17 -16 -16 -18 -18 -19 -19 -18 -17 -16 -15 -16 -17 -16 -16 -16 -17 -19 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -17 -15 -15 -15 -3 -1 -1 -1 -2 -2 -2 -2 -1 2 3 1 -1 -2 -2 -3 -4 -4 -4 -4 -7 -10 -12 -10 -7 -5 -3 -2 -3 -5 -7 -8 -9 -8 -7 -6 -5 -6 -7 -7 -2 2 4 2 -1 -1 0 1 1 -2 -2 1 5 8 7 6 4 2 1 0 -1 -3 -4 -4 -4 -3 -2 -5 -9 -13 -14 -10 -4 1 3 -1 -4 -6 -6 -4 -1 -0 -1 -2 -1 1 1 -3 -10 -12 -10 -4 1 1 -2 -5 -8 -9 -6 -3 0 2 2 -1 -5 -9 -6 0 7 12 12 9 6 4 0 -4 -6 -5 -1 2 1 -1 -3 -7 -11 -12 -11 -9 -6 -3 -3 -4 -8 -13 -15 -15 -12 -9 -6 -3 -2 -3 -4 -6 -8 -9 -9 -7 -6 -4 -4 -3 -3 -4 -4 -4 -5 -6 -9 -12 -15 -16 -17 -15 -13 -11 -10 -10 -10 -9 -7 -6 -6 -4 -3 -3 -3 -5 -7 -8 -8 -10 -13 -16 -18 -18 -16 -13 -10 -9 -9 -8 -8 -7 -7 -8 -8 -9 -11 -12 -14 -14 -15 -15 -16 -15 -14 -12 -10 -9 -8 -7 -7 -7 -8 -8 -9 -10 -11 -11 -13 -13 -12 -11 -10 -10 -10 -12 -16 -20 -20 -17 -11 -6 -5 -6 -8 -10 -12 -13 -12 -10 -10 -13 -17 -20 -20 -18 -16 -13 -10 -10 -11 -11 -11 -12 -14 -16 -17 -18 -20 -22 -23 -22 -23 -23 -23 -24 -24 -26 -27 -28 -29 -28 -28 -29 -31 -32 -31 -30 -28 -26 -28 -28 -29 -29 -30 -31 -31 -30 -27 -26 -27 -28 -30 -32 -33 -35 -36 -37 -37 -37 -35 -33 -30 -28 -27 -27 -26 -25 -25 -25 -23 -23 -26 -28 -25 -22 -23 -24 -26 -26 -27 -26 -23 -21 -20 -19 -19 -19 -18 -18 -19 -22 -25 -25 -23 -20 -17 -16 -15 -15 -16 -17 -18 -17 -17 -18 -21 -21 -20 -18 -21 -22 -23 -23 -21 -21 -19 -17 -14 -14 -16 -19 -23 -25 -26 -27 -27 -25 -24 -23 -22 -20 -20 -20 -20 -19 -18 -17 -16 -16 -16 -17 -18 -18 -16 -15 -15 -14 -14 -15 -15 -15 -15 -16 -18 -20 -21 -21 -20 -20 -19 -19 -19 -19 -20 -19 -16 -13 -13 -14 -3 -1 -0 -0 -1 -2 -3 -3 -1 2 3 1 -1 -1 -1 -2 -3 -3 -3 -3 -6 -9 -12 -10 -8 -5 -2 -3 -4 -6 -7 -8 -9 -9 -8 -7 -7 -7 -7 -5 -2 2 3 1 0 2 2 2 -0 -2 -0 2 5 6 6 5 4 2 1 -1 -2 -3 -2 -1 -0 -1 -5 -9 -13 -13 -10 -5 -2 -2 -4 -7 -8 -7 -4 -1 0 -1 -2 -3 -2 0 1 -2 -9 -14 -13 -6 5 8 5 -1 -9 -16 -17 -12 -2 6 6 5 3 -1 -3 -2 2 7 12 10 7 3 -1 -5 -8 -10 -7 -1 4 4 2 -3 -9 -12 -13 -12 -10 -8 -5 -4 -4 -9 -15 -18 -16 -11 -6 -3 -2 -2 -4 -5 -6 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -3 -4 -6 -10 -13 -16 -17 -17 -15 -14 -12 -11 -10 -9 -7 -5 -4 -4 -3 -3 -3 -5 -8 -9 -9 -11 -13 -16 -18 -19 -18 -16 -12 -10 -8 -8 -7 -8 -7 -7 -7 -8 -9 -10 -12 -13 -14 -15 -15 -15 -15 -13 -11 -10 -9 -8 -7 -7 -7 -7 -8 -9 -9 -9 -10 -11 -12 -13 -12 -10 -9 -10 -13 -17 -20 -20 -16 -10 -6 -6 -7 -8 -10 -11 -11 -9 -8 -11 -15 -20 -22 -21 -19 -17 -14 -12 -12 -11 -11 -14 -15 -15 -16 -17 -19 -22 -23 -23 -23 -24 -23 -23 -23 -25 -26 -28 -28 -28 -27 -28 -29 -31 -31 -29 -28 -26 -27 -28 -29 -30 -30 -30 -30 -29 -28 -27 -26 -26 -28 -30 -32 -33 -34 -36 -37 -39 -38 -37 -34 -31 -30 -29 -28 -27 -26 -27 -26 -25 -26 -26 -23 -22 -22 -24 -25 -26 -27 -28 -26 -23 -21 -19 -19 -18 -18 -18 -19 -20 -22 -23 -22 -20 -17 -16 -15 -16 -17 -18 -19 -18 -18 -20 -23 -23 -22 -21 -22 -22 -21 -22 -20 -19 -18 -16 -16 -16 -18 -20 -21 -22 -23 -24 -25 -24 -24 -24 -23 -21 -21 -20 -20 -19 -18 -17 -17 -16 -16 -17 -18 -17 -15 -15 -15 -14 -12 -14 -15 -15 -14 -15 -17 -19 -20 -20 -20 -19 -19 -19 -18 -19 -20 -20 -16 -13 -12 -15 -3 -1 -0 -1 -2 -3 -4 -3 -1 2 3 1 -1 -1 -1 -2 -3 -3 -2 -3 -5 -9 -11 -9 -7 -5 -2 -3 -6 -7 -8 -8 -9 -9 -9 -8 -8 -6 -5 -3 -2 0 1 2 2 3 2 1 0 1 2 3 4 4 5 4 4 2 -0 -2 -2 -1 1 2 1 -1 -6 -10 -11 -10 -6 -4 -4 -6 -8 -9 -8 -5 -2 -1 -1 -1 -1 -2 -2 -2 -3 -5 -10 -15 -16 -11 2 10 10 4 -6 -17 -24 -21 -10 3 8 9 8 6 2 -0 -1 2 9 10 8 3 -2 -5 -8 -10 -11 -6 -0 3 3 -1 -5 -9 -11 -12 -11 -11 -10 -8 -5 -6 -11 -16 -18 -14 -10 -6 -2 -2 -3 -4 -5 -6 -7 -7 -8 -9 -9 -8 -6 -4 -2 -1 -1 -2 -4 -7 -10 -13 -15 -17 -17 -16 -14 -12 -11 -9 -7 -6 -4 -4 -3 -3 -3 -5 -7 -9 -10 -12 -15 -17 -19 -19 -17 -15 -13 -11 -8 -7 -7 -7 -7 -7 -6 -7 -8 -9 -10 -12 -13 -14 -15 -15 -15 -14 -13 -11 -10 -9 -8 -7 -6 -7 -7 -8 -9 -9 -8 -9 -10 -11 -12 -11 -10 -11 -13 -18 -22 -23 -20 -15 -12 -11 -11 -10 -9 -9 -9 -9 -8 -9 -13 -17 -20 -22 -22 -22 -20 -16 -14 -12 -12 -15 -15 -15 -15 -16 -19 -22 -24 -25 -24 -24 -23 -22 -23 -24 -25 -26 -27 -28 -28 -28 -29 -30 -30 -29 -28 -26 -27 -27 -28 -30 -30 -29 -29 -29 -28 -27 -26 -25 -25 -28 -30 -32 -32 -34 -36 -37 -39 -38 -36 -33 -31 -31 -29 -27 -27 -29 -29 -28 -27 -24 -22 -22 -22 -23 -24 -25 -27 -27 -27 -25 -22 -20 -19 -18 -18 -18 -19 -19 -21 -22 -22 -21 -18 -17 -16 -17 -18 -19 -19 -19 -19 -22 -24 -25 -23 -22 -20 -19 -18 -21 -21 -19 -17 -16 -18 -20 -20 -21 -20 -20 -20 -21 -22 -24 -25 -25 -24 -22 -21 -20 -20 -19 -18 -18 -17 -17 -17 -17 -18 -17 -16 -15 -15 -13 -12 -14 -15 -15 -14 -14 -16 -17 -19 -19 -19 -19 -19 -19 -19 -19 -19 -18 -15 -13 -13 -16