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 0 0 0 0 0 0 0 0 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 8 11 6 0 0 0 0 0 0 0 1 4 9 16 20 19 13 5 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 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 1 3 3 4 4 5 5 5 5 6 8 10 12 14 17 19 20 20 20 18 14 11 8 5 5 5 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 2 4 7 9 10 12 12 13 13 14 15 15 16 16 16 14 13 13 13 15 17 18 18 18 18 18 16 11 6 4 6 10 11 8 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 1 1 2 2 4 7 10 11 7 1 0 0 0 2 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 16 23 28 32 36 42 48 53 59 64 70 74 77 80 83 82 81 80 81 81 82 82 83 85 90 96 106 118 129 135 136 134 133 139 148 155 160 161 155 138 117 98 89 90 102 117 126 132 137 141 142 142 135 125 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 10 8 2 0 0 0 0 1 3 7 13 20 26 28 24 16 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 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 1 2 3 5 5 5 5 5 6 7 9 10 13 16 19 20 21 21 18 14 10 7 5 5 5 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 1 2 4 7 9 12 13 14 15 16 16 16 16 14 13 12 12 14 17 21 23 23 22 19 17 14 11 7 6 8 10 10 7 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 1 2 3 5 6 8 12 14 13 8 2 0 0 0 1 3 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 3 8 12 18 23 29 35 41 46 53 60 66 70 72 74 76 75 75 74 75 76 77 78 79 81 85 90 100 114 128 136 136 131 132 137 144 152 159 162 152 135 116 99 89 91 102 110 118 126 133 136 140 137 130 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 8 4 2 1 1 4 12 19 23 25 26 27 24 17 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 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 0 1 2 3 4 4 4 4 6 8 9 11 14 17 20 21 20 17 13 9 6 4 4 4 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 1 3 6 9 11 13 15 15 15 15 13 12 11 12 13 16 20 24 24 22 19 16 13 10 7 7 9 10 8 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 2 3 4 6 9 11 14 17 16 10 4 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 1 6 10 16 21 27 34 40 48 55 62 67 69 70 71 70 69 69 70 71 72 74 75 77 80 86 98 112 127 135 134 130 131 134 140 150 159 159 148 132 115 100 92 92 97 104 114 122 126 131 133 131 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 17 24 22 15 7 4 9 19 26 25 21 18 19 20 18 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 8 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 1 1 2 2 4 5 7 9 11 14 17 18 17 15 12 8 6 4 3 3 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 2 4 6 8 10 11 12 11 10 10 10 11 13 15 17 18 17 16 14 11 9 7 7 9 8 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 3 4 5 7 10 13 15 15 10 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 14 20 26 34 42 50 58 64 67 68 67 66 66 66 66 67 68 70 71 72 76 83 94 109 124 131 131 129 128 131 138 148 155 153 143 128 114 102 94 91 93 101 108 114 120 126 128 124 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 19 28 34 33 24 16 16 21 22 18 13 10 13 18 16 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 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 1 2 3 4 6 8 11 13 15 14 12 10 7 5 3 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 1 3 4 5 6 6 6 8 9 10 12 12 12 12 11 10 9 8 6 6 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 1 3 5 5 3 1 1 2 4 7 8 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 13 19 27 36 45 53 59 63 64 65 64 64 64 64 65 65 66 67 68 72 79 89 102 115 123 126 126 126 130 136 145 149 146 135 124 112 102 95 91 92 98 105 112 118 121 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 16 21 26 33 40 40 32 22 17 12 8 6 6 9 15 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 3 3 4 6 8 10 11 10 9 7 5 4 2 2 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 1 2 3 5 7 8 8 8 8 7 7 6 5 4 3 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 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 13 19 28 37 46 53 58 61 62 63 63 63 63 63 63 63 64 65 67 73 82 93 103 112 118 121 121 127 135 141 142 137 128 118 109 101 94 89 90 95 103 110 114 116 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 13 18 22 25 31 41 45 37 20 8 4 2 2 4 7 11 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 1 3 4 5 5 6 8 9 9 8 6 4 3 2 2 2 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 1 3 4 5 5 5 4 4 3 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 1 3 6 12 20 29 38 47 54 58 60 62 62 62 62 62 62 62 62 61 63 68 74 82 91 100 106 110 116 124 131 135 133 127 119 111 104 98 90 87 89 96 104 110 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 12 17 23 26 32 39 39 29 11 2 0 0 1 4 7 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 1 1 1 0 0 0 1 2 3 5 6 7 8 8 9 9 8 7 5 3 2 1 1 2 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 1 2 2 2 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 3 7 14 22 31 41 49 55 59 60 61 62 63 64 64 63 61 60 61 64 67 72 78 85 91 99 108 117 126 126 123 117 110 102 98 92 87 87 91 99 107 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 13 20 26 31 33 28 16 3 0 0 0 2 5 9 13 5 1 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 1 2 3 4 5 5 4 4 4 5 7 8 10 11 11 11 11 10 9 8 6 4 3 3 3 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 1 4 8 15 25 35 44 52 56 59 60 63 66 67 67 66 64 63 62 62 63 64 68 73 79 88 100 112 120 120 116 109 101 95 91 88 87 88 93 100 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 15 22 25 24 19 9 0 0 0 0 3 9 16 16 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 4 1 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 7 7 8 9 10 12 14 14 14 14 12 11 10 8 7 6 6 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 19 29 39 47 53 57 60 63 66 70 72 72 70 68 65 63 60 60 62 65 71 81 94 107 116 117 111 103 95 91 89 87 86 88 94 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 13 16 17 14 8 2 0 0 2 6 14 20 18 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 3 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 6 6 6 8 10 12 15 17 18 17 16 14 12 10 9 7 7 6 6 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 13 23 33 43 50 54 57 60 66 72 75 75 73 71 69 65 62 61 61 63 68 77 90 103 112 115 109 100 93 88 85 83 84 89 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 11 15 17 14 7 1 0 3 10 19 22 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 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 6 10 13 17 19 19 18 16 13 11 10 8 7 6 5 4 3 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 1 1 1 0 0 0 0 1 3 8 17 28 38 44 48 52 57 66 72 74 74 73 73 71 69 68 66 65 66 68 74 85 98 107 109 105 97 89 82 78 79 83 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 12 17 21 22 15 4 1 4 14 21 17 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 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 1 0 0 0 1 4 8 12 16 18 18 16 13 11 10 8 7 6 4 3 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 1 1 0 0 0 0 1 5 14 24 32 38 43 47 55 62 66 68 70 71 73 74 75 75 74 72 68 67 70 79 90 99 101 98 91 82 75 73 76 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 12 16 19 20 19 14 6 4 8 15 16 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 1 0 0 0 0 0 0 0 2 5 10 13 16 15 12 10 9 8 7 6 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 1 1 0 0 0 0 0 4 10 18 26 33 37 43 49 55 60 63 66 69 73 77 81 83 81 75 69 66 66 74 83 89 92 89 83 76 70 68 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 16 20 18 15 12 10 8 10 12 12 7 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 3 7 10 11 10 8 7 5 4 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 2 7 15 22 27 32 37 43 49 54 59 63 67 72 78 84 86 83 77 70 64 64 69 76 81 84 82 77 70 66 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 18 21 16 10 6 7 10 15 13 7 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 6 8 7 5 3 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 0 0 0 0 0 0 0 0 0 0 0 0 1 5 11 17 22 28 32 38 43 49 55 60 64 70 77 82 85 84 78 71 66 64 66 70 75 77 75 72 67 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 0 0 0 0 0 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 10 17 18 12 6 4 8 13 16 10 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 2 4 6 5 3 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 3 8 14 19 24 28 33 39 45 51 56 61 68 75 81 84 84 80 74 67 63 63 66 70 72 70 67 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 0 0 0 0 0 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 12 11 8 6 7 11 15 11 4 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 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 1 4 5 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 11 16 19 23 29 36 42 47 52 58 66 74 81 84 85 82 76 69 63 62 64 66 67 66 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 0 0 0 0 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 7 8 10 14 16 12 3 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 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 1 4 5 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 11 15 20 27 33 38 43 49 57 66 74 80 83 84 82 77 69 64 61 61 62 62 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 5 11 18 22 18 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 2 3 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 1 4 6 7 7 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 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 12 18 25 30 34 40 48 56 65 72 77 80 82 81 77 70 64 60 58 59 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 14 23 23 12 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 2 3 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 1 4 7 8 9 8 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 1 2 4 7 7 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 10 15 21 26 32 38 46 54 61 68 74 78 79 79 75 69 63 60 59 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 18 18 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 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 2 6 10 11 12 10 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 1 3 6 9 12 15 16 14 8 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 8 11 17 23 29 35 42 49 56 63 69 75 77 77 74 69 66 64 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 0 0 0 0 0 0 0 0 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 7 10 9 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 1 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 2 7 12 14 13 10 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 1 4 8 13 16 20 23 23 20 13 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 12 18 25 30 37 44 50 57 66 72 75 75 74 73 73 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 1 5 11 12 11 8 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 1 4 8 13 18 22 26 28 28 23 15 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 14 21 27 32 38 45 54 63 69 72 74 75 77 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 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 2 6 11 17 21 25 28 30 28 23 14 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 8 13 19 25 30 36 42 51 60 67 70 74 76 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 12 17 22 26 30 31 28 22 14 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 9 14 20 26 31 34 40 49 58 64 69 72 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 2 4 8 12 17 22 28 32 32 29 23 14 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 7 11 17 23 27 30 33 39 46 54 61 67 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 4 8 12 18 23 28 31 32 30 23 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 7 11 15 20 24 27 30 32 36 43 51 59 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 1 1 0 0 0 0 2 4 8 13 18 22 26 30 31 29 22 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 12 15 19 21 23 26 28 30 35 42 50 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 0 0 0 0 0 0 1 4 9 13 16 19 23 27 30 28 22 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 6 10 13 15 18 20 21 22 24 27 31 36 43 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 10 13 14 17 21 26 28 27 22 12 3 0 0 0 0 0 0 0 0 1 2 2 1 0 0 2 3 4 5 7 10 13 16 18 19 20 22 22 24 28 33 39 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 12 14 16 20 24 27 28 20 10 3 0 0 0 0 0 0 0 1 3 4 4 2 2 1 3 5 7 8 10 13 15 17 19 21 22 24 25 28 32 37 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 11 12 14 16 19 24 28 26 18 9 2 0 0 0 0 0 0 0 2 4 6 6 4 2 2 4 7 10 12 13 15 17 19 22 24 26 28 30 33 37 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 11 13 14 16 20 25 28 25 18 8 1 0 0 0 0 0 0 0 2 5 7 7 4 3 4 6 11 14 15 16 18 19 22 25 27 30 33 36 39 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 12 13 14 17 22 28 30 28 20 9 4 1 0 0 0 0 0 1 4 8 9 7 5 5 7 12 15 17 19 20 21 22 25 28 32 36 40 43 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 13 15 20 26 32 35 34 25 16 10 5 2 0 0 1 2 5 9 12 12 10 9 10 14 17 20 22 24 24 26 28 32 36 41 45 48 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 11 13 14 18 23 29 36 42 41 35 27 19 12 8 7 7 8 11 13 15 16 16 15 16 18 20 23 26 29 32 34 36 40 44 48 52 56 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 12 14 17 20 25 32 41 48 50 46 39 32 24 20 17 16 16 17 18 19 19 20 20 22 24 28 32 37 41 45 48 52 56 59 63 67 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 14 16 19 23 27 33 43 51 55 56 52 44 37 31 25 22 21 21 21 21 22 23 26 29 34 39 44 50 54 59 64 68 72 76 79 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 12 16 19 22 26 30 35 42 51 59 64 62 57 50 41 35 31 28 27 27 27 29 31 34 39 44 49 54 58 63 68 74 78 82 85 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 14 18 21 26 29 32 36 40 48 58 66 70 68 63 58 54 51 51 51 51 52 52 52 52 52 55 57 60 64 69 74 79 82 85 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 10 14 19 24 28 30 32 33 36 42 51 60 69 75 78 77 77 77 78 80 80 80 80 79 76 73 70 70 71 74 77 80 82 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 13 18 24 28 29 29 28 29 32 37 44 54 63 70 76 80 83 85 87 88 90 92 92 92 91 91 90 89 88 86 84 84 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 15 21 24 25 24 22 21 22 24 28 32 36 42 48 53 58 62 66 68 72 76 80 85 90 95 98 96 90 85 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 16 20 20 20 18 17 16 16 16 17 17 18 19 22 26 30 33 38 44 50 55 60 65 70 71 70 69 69 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 15 18 18 17 15 14 13 12 11 10 9 8 10 11 14 18 22 25 29 32 35 38 40 40 39 39 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 12 16 17 16 16 16 16 15 14 12 10 10 10 11 13 16 17 18 19 20 21 22 23 24 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 14 16 18 20 21 22 22 21 20 19 18 18 18 18 18 17 17 16 16 18 19 21 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 0 0 0 0 0 0 0 0 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 6 10 13 16 20 22 24 25 26 25 23 22 20 20 19 18 17 16 17 17 18 19 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 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 9 13 16 18 21 21 20 19 18 17 16 15 15 15 16 16 16 15 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 1 3 5 7 10 12 12 11 11 10 10 9 10 10 10 11 11 11 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 1 3 4 4 5 5 5 5 5 5 5 6 6 8 8 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 5 5 6 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 1 1 1 2 3 4 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 1 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 21 nan nan nan nan nan nan nan nan nan nan nan 22 22 21 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 19 19 19 19 19 19 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan 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 17 17 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 16 16 16 17 16 nan nan nan nan 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 19 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 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 10 10 10 11 12 12 12 12 12 12 12 12 12 12 12 12 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 22 22 21 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 19 20 20 20 20 20 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 17 17 17 17 17 16 16 16 16 16 16 16 16 16 15 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 20 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 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 9 10 10 10 11 12 12 12 12 12 12 12 12 12 11 11 12 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 22 nan nan nan nan nan nan 23 23 22 22 21 21 21 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 20 20 20 20 20 20 21 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 18 17 17 17 17 17 17 17 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 10 10 10 10 11 12 12 12 12 12 12 12 12 12 11 12 12 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 20 21 22 23 nan nan nan 23 23 22 22 22 21 21 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 20 20 21 21 21 21 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 18 18 18 17 17 nan nan 17 17 17 17 17 17 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 6 6 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 10 10 10 10 11 12 12 12 12 12 12 12 12 12 12 12 12 12 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 19 19 20 21 22 23 23 23 23 23 23 22 22 22 21 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 21 21 21 21 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 17 17 17 17 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 10 10 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 20 20 21 22 23 23 23 23 nan nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 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 10 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 20 20 21 21 22 22 nan nan nan nan nan nan 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 20 20 20 21 22 22 nan nan nan nan nan nan 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 10 10 11 11 11 11 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 20 20 20 21 22 nan nan nan nan nan nan nan 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 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 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 10 10 11 11 11 11 11 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 20 21 21 nan nan nan nan nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 21 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 10 10 10 11 11 11 11 11 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 nan nan nan nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 22 nan nan nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 11 11 11 11 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 22 nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 8 8 8 8 8 8 8 8 8 9 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 11 11 11 11 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 22 22 21 21 21 22 nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 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 22 22 22 22 22 nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 23 nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan 23 23 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 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 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 9 9 9 9 9 9 9 9 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 3 3 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 10 10 10 10 10 10 9 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 6 4 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 10 10 10 10 10 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 10 8 6 4 3 3 3 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 10 10 10 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 10 8 6 4 3 3 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 10 10 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 10 8 5 4 3 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 10 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 14 12 9 6 4 3 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 10 10 10 10 10 10 10 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 10 8 5 3 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 11 11 11 11 11 11 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 18 16 14 12 9 6 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 11 11 11 11 11 11 11 11 11 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 nan nan nan nan nan 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 19 17 15 13 10 7 4 4 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 11 11 11 11 11 11 11 11 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 nan nan nan nan nan nan 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 20 18 17 14 11 7 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 11 11 11 11 11 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 22 21 20 19 18 16 13 8 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 11 11 10 11 11 11 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 23 22 21 20 19 17 14 9 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 10 10 10 10 10 11 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 nan 23 22 22 21 20 18 15 10 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 11 10 10 10 10 10 11 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 nan nan 23 23 22 22 21 19 16 11 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 11 11 10 10 10 10 11 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 nan nan nan nan nan nan nan nan nan nan 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 23 23 22 21 20 18 13 5 3 nan nan nan nan nan nan nan nan nan 11 11 nan nan 11 12 12 12 11 11 11 11 11 11 10 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 21 19 16 8 1 7 9 nan nan nan nan 10 11 11 11 11 11 12 12 12 12 12 11 11 11 11 11 10 10 11 11 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 nan nan nan nan 24 24 24 23 23 22 21 20 18 11 2 7 9 10 10 11 11 11 11 12 12 12 12 12 12 12 12 11 11 11 11 11 10 10 11 11 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 nan nan nan nan 25 24 24 24 23 23 22 22 21 19 14 3 5 9 11 11 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 10 10 10 10 10 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 nan nan nan nan nan 25 25 24 24 23 23 23 22 21 20 18 5 4 10 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 10 10 11 11 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 nan nan nan nan nan nan 25 25 24 24 23 23 22 22 21 20 19 9 3 8 11 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 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 nan nan nan nan nan nan 25 25 25 24 24 24 23 22 22 21 21 19 14 5 4 7 9 10 11 11 11 12 12 12 12 12 12 12 12 12 11 11 11 11 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 nan nan nan nan nan nan nan nan 25 25 24 24 23 23 22 22 21 20 19 16 12 6 3 4 6 7 8 9 10 11 11 12 12 12 12 12 12 11 11 11 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 22 22 21 20 18 16 14 12 9 6 4 4 5 6 7 8 9 10 10 11 11 11 10 10 9 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 24 24 24 23 23 22 21 20 19 18 16 14 13 11 9 7 6 5 4 4 4 5 5 6 7 7 7 7 7 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 24 24 23 23 22 21 20 19 17 15 nan nan nan nan 8 8 7 7 6 6 5 5 5 5 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan nan 24 23 23 22 21 20 18 16 14 12 10 nan nan 8 8 8 7 7 7 7 6 6 6 6 6 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 23 22 22 21 19 18 16 14 12 11 10 9 9 9 8 8 8 7 7 6 6 6 6 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 21 20 19 17 16 15 13 12 12 11 10 10 9 9 8 8 7 7 6 6 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 18 17 16 15 14 14 13 12 12 11 11 10 9 9 8 8 7 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 16 15 14 14 13 12 nan nan nan nan 10 10 9 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 24 nan nan nan nan nan nan nan nan nan nan nan 20 20 19 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 355 355 355 355 356 356 357 358 357 nan nan nan nan nan nan nan nan nan nan nan 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 345 344 344 344 344 343 343 342 342 342 342 342 342 341 341 340 341 341 342 342 342 343 342 nan nan nan nan 341 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 133 133 133 133 132 133 133 133 134 136 135 136 136 135 135 136 135 135 134 135 134 135 134 134 134 134 133 132 129 126 123 121 119 118 117 116 114 112 110 107 105 105 105 106 106 107 108 109 110 111 109 106 103 103 104 105 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 19 19 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 356 356 356 356 357 358 358 358 358 nan nan nan nan nan nan nan nan nan nan nan nan nan 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 346 345 345 344 344 344 343 343 343 343 343 342 342 341 342 342 343 343 343 343 343 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 346 348 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 133 133 132 133 132 133 133 135 135 135 134 134 134 135 135 135 135 136 135 136 135 135 134 133 133 132 130 128 125 121 119 117 117 116 115 112 110 107 105 104 104 105 106 107 109 111 112 112 109 106 104 104 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 25 nan nan nan nan nan nan 27 26 23 21 19 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 358 358 358 358 359 359 359 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 346 346 345 345 345 345 344 344 344 344 343 343 343 343 343 343 344 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 347 348 349 350 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 133 132 132 132 132 133 134 134 133 134 133 134 134 134 134 135 136 136 136 137 136 135 134 134 133 131 129 125 121 120 118 117 116 115 113 109 107 105 104 105 106 106 108 109 111 112 111 108 106 105 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 26 28 nan nan nan 27 25 24 22 20 18 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 359 359 359 360 360 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 347 347 346 346 nan nan 345 345 345 345 344 344 344 344 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 348 348 350 351 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 131 131 132 133 132 132 133 133 132 132 133 134 135 137 137 137 137 137 136 135 134 134 132 129 126 122 120 118 117 116 115 113 110 107 105 105 105 106 106 108 108 110 110 109 108 107 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 16 18 22 25 27 28 28 26 25 24 22 21 19 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 360 0 0 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 346 346 346 346 345 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 132 131 132 131 132 132 132 132 132 132 134 135 137 137 138 138 137 137 137 136 135 133 130 127 123 121 119 118 117 115 113 110 108 106 106 106 106 106 108 108 109 109 108 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 14 15 17 19 22 24 26 26 25 25 nan nan nan nan 19 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 0 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 131 131 131 131 132 132 131 132 132 134 135 136 138 138 138 137 137 137 136 134 133 130 127 125 121 120 119 117 115 113 110 109 108 107 106 106 107 107 108 108 108 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 15 17 18 19 21 23 24 nan nan nan nan nan nan 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 131 131 131 131 131 131 132 131 132 132 134 135 137 137 137 138 137 136 136 134 132 129 128 125 123 121 120 118 116 113 112 110 109 108 107 108 108 108 108 108 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 15 17 17 18 20 22 24 nan nan nan nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 131 131 131 131 130 130 130 130 132 134 134 136 136 136 136 135 134 133 132 130 128 126 124 123 121 119 116 114 112 111 110 110 109 108 108 108 108 108 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 17 18 18 20 22 nan nan nan nan nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 1 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 132 131 132 131 130 128 128 129 130 132 132 134 135 136 135 134 134 133 132 130 129 127 125 123 121 119 117 115 113 113 112 111 110 109 109 108 108 108 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 2 2 2 2 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 131 131 130 129 127 127 127 129 129 131 133 133 133 133 133 133 133 131 131 129 127 126 123 122 119 117 116 115 115 114 112 111 110 109 109 109 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 22 nan nan nan nan nan nan 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 2 2 2 2 2 2 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 131 130 129 128 127 126 127 128 129 131 131 131 131 132 132 132 132 131 130 129 128 126 124 122 120 118 117 116 116 115 114 112 111 110 110 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 21 nan nan nan nan nan 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 2 2 2 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 129 128 127 126 126 126 128 128 129 129 129 130 130 131 131 131 131 129 129 128 126 124 123 121 119 118 117 117 116 115 113 112 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 22 20 19 19 20 nan nan nan 20 19 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 3 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 128 127 127 127 126 127 127 128 128 127 128 127 129 130 130 131 130 129 128 127 126 124 123 122 120 119 119 118 118 116 115 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 21 20 20 20 nan nan nan 19 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 3 3 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 127 127 127 127 127 127 127 127 127 126 126 127 128 129 130 130 129 128 128 127 126 125 123 123 121 121 120 120 119 118 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 22 22 nan nan nan 20 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 4 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 127 127 128 127 127 126 126 125 125 125 126 128 128 129 129 128 128 127 126 126 125 124 123 122 122 121 121 120 119 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 24 nan nan nan 23 21 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 126 127 127 126 126 125 125 124 125 125 126 127 128 128 128 128 127 126 126 126 125 124 124 123 122 122 122 121 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 25 26 nan nan nan 23 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 nan nan nan nan nan 125 126 126 125 124 124 124 124 124 126 127 128 128 127 127 127 126 126 126 125 124 125 124 123 123 123 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 nan nan nan 25 23 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 124 125 124 124 123 123 124 124 125 126 127 127 127 127 127 126 126 126 126 125 125 125 125 124 124 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 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 123 123 123 123 123 123 123 125 126 126 127 127 126 126 126 126 126 126 126 125 125 125 125 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 24 23 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 121 121 122 122 122 123 124 125 125 126 126 126 126 126 126 126 126 126 126 126 126 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 120 120 120 122 123 124 124 125 125 125 125 126 126 125 126 126 126 127 126 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 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 7 8 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 196 171 156 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 119 119 120 121 122 122 123 124 124 124 124 124 125 125 126 126 127 127 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 7 7 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 272 254 229 198 172 155 144 nan 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 119 120 121 121 122 122 123 123 123 123 124 124 125 126 127 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 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 296 286 273 254 227 194 166 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 118 119 120 121 121 121 121 121 121 122 123 124 125 127 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 311 305 297 287 273 253 219 179 155 nan nan 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 118 118 119 119 119 119 119 120 121 122 124 125 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 312 305 295 284 267 237 188 159 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 116 116 117 117 117 118 118 118 119 120 121 123 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 321 316 309 301 291 276 248 201 166 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 115 115 116 116 116 116 116 117 117 118 119 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 324 318 312 305 296 282 258 216 173 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 114 114 114 115 115 115 115 115 116 116 117 119 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 321 315 309 300 288 268 229 175 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 113 113 114 114 114 114 114 114 115 115 116 117 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 327 323 318 312 305 294 277 236 173 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 113 113 113 113 114 114 114 114 114 114 115 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 329 325 322 316 310 300 283 238 168 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 113 113 113 114 114 115 115 115 114 114 114 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 335 331 328 325 320 314 305 287 243 166 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 113 113 113 113 114 115 115 116 116 115 115 115 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 336 333 331 328 324 319 310 293 253 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 112 112 113 113 114 115 116 116 116 116 116 116 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 nan 338 336 334 331 329 323 314 300 263 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 110 110 111 112 112 113 115 116 116 117 117 117 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 340 338 336 335 331 327 319 306 273 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 108 109 109 110 112 113 114 115 116 116 117 117 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 339 338 337 334 330 323 310 291 151 nan nan nan nan nan nan nan nan nan 108 107 nan nan 107 107 107 107 109 110 112 113 114 115 116 117 117 117 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 343 341 340 338 336 333 328 317 306 191 127 115 nan nan nan nan 110 108 107 106 106 106 106 105 106 106 107 109 111 113 114 115 115 116 116 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 343 342 340 338 336 332 324 314 259 127 115 112 110 109 108 106 105 105 105 104 104 104 105 106 107 108 111 113 114 115 116 116 116 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 346 345 343 341 340 337 334 328 317 286 123 113 107 105 104 103 103 103 104 104 104 104 105 106 107 108 111 112 114 115 116 116 116 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 349 348 346 344 342 340 338 335 331 322 314 115 110 103 102 101 101 102 103 103 104 104 105 106 107 108 110 111 113 114 114 115 115 115 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 nan nan nan nan nan nan 351 350 349 347 345 343 341 339 336 334 328 323 128 110 105 103 103 103 103 103 103 103 104 104 105 106 107 108 109 111 111 112 113 113 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 352 351 351 349 347 345 343 341 339 337 334 329 318 257 124 115 113 110 108 108 107 106 105 104 103 103 104 105 106 107 108 110 111 112 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 350 349 347 345 343 341 339 336 332 327 317 301 274 197 142 131 125 121 117 114 112 108 107 105 104 104 105 107 109 112 114 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 nan nan nan nan nan nan nan nan nan nan 350 348 347 345 344 342 339 334 330 324 317 310 299 282 256 219 181 158 145 137 129 123 117 113 111 111 113 116 120 123 125 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 347 345 344 341 338 333 327 322 315 308 301 292 281 268 251 233 214 195 178 163 152 145 141 142 143 145 147 149 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 347 345 343 341 337 332 326 319 311 nan nan nan nan 273 267 261 254 246 238 230 222 213 206 200 198 199 197 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 343 340 336 331 324 316 307 297 288 nan nan 272 270 267 264 260 256 251 244 235 226 222 222 222 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 341 338 334 329 323 315 307 299 291 284 280 277 274 270 267 264 259 251 242 235 231 229 227 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 335 331 326 321 315 310 304 300 296 291 288 283 279 275 269 262 256 250 244 240 236 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 323 319 315 311 307 304 301 297 294 291 287 283 278 273 268 262 257 252 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 313 310 307 304 301 298 nan nan nan nan 284 281 276 272 267 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -18 -18 -18 -17 -16 -15 -15 -16 -17 -18 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -22 -22 -22 -21 -19 -16 -15 -16 -18 -21 -22 -22 -22 -22 -22 -21 -21 -22 -22 -22 -22 -22 -24 -24 -24 -23 -23 -25 -28 -30 -30 -28 -26 -24 -24 -24 -23 -22 -20 -18 -17 -17 -17 -17 -16 -15 -13 -12 -13 -15 -17 -18 -16 -15 -14 -14 -14 -14 -15 -17 -17 -16 -16 -16 -15 -12 -9 -8 -9 -8 -6 -2 3 5 4 5 5 6 7 8 8 9 9 9 10 11 12 13 14 14 13 12 11 11 12 13 13 13 13 14 15 16 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 12 12 11 10 10 11 10 9 8 7 6 6 7 8 11 14 16 17 16 14 13 12 12 11 10 9 9 11 13 14 14 13 14 14 14 15 15 15 15 14 14 13 12 11 10 9 8 7 8 8 9 9 9 9 9 10 11 12 13 13 12 11 9 7 6 5 5 4 4 3 3 3 3 3 3 3 4 4 3 2 1 1 2 3 4 4 5 6 7 7 7 7 7 7 7 7 7 7 6 6 7 7 8 8 8 7 6 5 4 3 2 2 1 1 1 1 1 0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -6 -4 -1 0 1 -0 -1 -2 -2 -1 1 2 4 5 6 6 7 8 8 9 9 9 8 7 6 6 6 6 6 6 7 7 7 8 8 8 9 9 10 10 11 11 12 12 12 12 12 13 13 13 13 13 13 13 13 13 12 11 10 10 12 13 13 11 10 9 8 9 9 9 8 8 8 8 7 7 7 7 7 7 7 7 7 7 8 9 10 11 12 13 13 14 14 14 14 14 13 12 11 9 7 6 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 3 3 1 -1 -2 -3 -3 -18 -18 -17 -16 -15 -14 -15 -16 -18 -19 -20 -21 -21 -21 -20 -20 -19 -19 -20 -20 -21 -21 -21 -21 -22 -22 -22 -21 -20 -17 -16 -18 -20 -22 -22 -22 -22 -21 -21 -21 -21 -22 -23 -23 -24 -25 -26 -25 -24 -23 -23 -25 -28 -30 -31 -29 -27 -25 -25 -24 -23 -21 -20 -19 -19 -19 -19 -17 -13 -9 -6 -5 -7 -12 -18 -21 -19 -17 -15 -15 -15 -16 -17 -17 -17 -15 -14 -14 -14 -12 -9 -9 -10 -10 -7 -4 1 3 4 5 6 7 8 8 8 8 9 9 10 12 13 14 14 13 11 10 10 11 12 12 12 13 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 13 13 13 13 13 12 11 11 11 10 10 9 8 8 8 9 10 12 15 17 17 16 14 13 13 12 11 10 9 9 10 12 12 12 12 12 13 14 14 15 15 15 15 14 14 13 12 11 10 8 7 6 7 8 9 10 10 10 10 10 11 13 13 14 13 12 11 10 8 7 6 5 5 5 5 5 5 5 4 4 3 2 1 1 2 3 4 4 4 5 6 6 7 6 6 6 6 6 6 6 6 5 5 5 5 6 7 7 6 5 4 3 3 2 2 1 1 1 1 1 0 -0 -1 -2 -3 -3 -3 -4 -4 -4 -5 -6 -6 -7 -6 -6 -5 -5 -5 -5 -5 -4 -2 1 3 3 2 1 1 2 2 3 4 5 6 7 7 7 7 7 7 7 7 7 6 5 4 4 4 4 4 4 4 5 5 5 6 6 6 7 8 8 9 9 10 10 10 11 11 11 12 13 13 13 13 12 12 12 12 11 10 9 10 11 13 12 10 9 8 7 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 7 7 8 9 10 11 12 13 13 14 14 14 13 13 12 11 9 7 5 3 2 1 0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -1 0 1 -0 -3 -5 -5 -4 -3 -17 -16 -15 -14 -13 -13 -15 -17 -18 -19 -20 -21 -21 -21 -20 -20 -19 -19 -20 -20 -21 -21 -21 -21 -22 -21 -21 -21 -19 -17 -17 -20 -22 -23 -22 -22 -21 -20 -20 -20 -20 -22 -23 -25 -26 -26 -26 -26 -25 -24 -24 -26 -28 -30 -30 -29 -27 -26 -25 -24 -23 -21 -20 -20 -20 -20 -18 -15 -11 -7 -6 -8 -12 -16 -21 -25 -23 -19 -16 -15 -16 -17 -18 -18 -16 -15 -13 -12 -13 -12 -9 -8 -10 -11 -9 -6 -1 2 4 5 7 8 8 8 8 8 9 10 11 13 14 14 13 11 10 10 10 12 12 12 12 13 14 15 15 15 15 15 16 16 16 16 16 15 15 15 15 15 15 14 14 14 14 13 13 13 13 13 12 11 11 10 10 10 9 9 9 9 11 12 14 16 17 17 16 14 13 12 12 11 10 10 10 10 11 12 12 11 11 12 13 13 14 14 14 14 14 13 13 13 12 11 9 8 7 6 6 7 8 9 10 10 10 11 12 13 14 14 14 14 13 12 10 8 7 6 6 6 7 7 6 5 4 3 2 1 2 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 6 6 5 5 5 5 6 6 5 5 5 4 4 3 3 3 2 2 2 1 1 1 1 -0 -1 -2 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -3 -2 -2 -1 -1 0 1 3 5 5 4 3 4 4 5 5 5 5 5 6 7 7 7 6 5 5 5 5 4 3 3 2 2 2 2 2 3 3 4 4 5 5 5 5 5 6 6 7 7 7 8 8 8 9 9 10 10 11 12 12 11 10 10 11 11 10 8 7 8 10 11 11 9 8 7 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 12 13 13 13 12 12 12 11 11 9 7 5 3 1 1 1 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -4 -5 -5 -4 -3 -15 -14 -14 -14 -14 -14 -15 -16 -18 -19 -20 -21 -21 -21 -20 -20 -20 -19 -20 -21 -21 -21 -21 -22 -22 -21 -21 -20 -18 -17 -18 -21 -22 -22 -22 -21 -21 -20 -19 -19 -20 -22 -24 -25 -26 -26 -26 -26 -26 -26 -26 -27 -28 -28 -27 -27 -27 -26 -26 -24 -22 -21 -21 -21 -21 -20 -17 -14 -11 -10 -13 -18 -21 -22 -23 -24 -24 -21 -17 -15 -15 -16 -16 -15 -14 -13 -12 -11 -12 -11 -9 -8 -10 -12 -10 -7 -2 2 4 5 7 7 7 7 8 8 10 11 12 13 13 13 11 10 9 10 11 12 12 12 13 14 15 15 14 15 15 16 16 16 16 16 16 16 16 16 16 15 15 15 14 14 13 13 13 13 13 12 11 10 10 10 9 9 9 10 11 12 14 16 18 18 17 16 14 13 12 12 11 10 10 10 10 11 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 12 12 11 10 8 7 6 6 6 7 8 9 10 11 11 12 13 14 15 15 15 14 13 12 10 9 8 8 8 8 7 6 5 4 3 3 3 4 5 5 5 4 5 5 5 5 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 4 4 5 5 4 4 4 3 2 2 1 1 1 -0 -1 -2 -2 -1 -1 -2 -3 -4 -5 -5 -4 -3 -2 -0 1 2 3 3 4 6 6 6 6 5 5 5 6 6 5 5 5 5 6 6 7 7 6 4 3 3 3 2 2 1 1 1 1 1 2 2 3 3 4 5 5 5 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 9 9 9 8 9 10 10 10 8 6 6 8 9 9 9 7 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 10 11 12 12 12 11 11 11 11 11 11 9 7 4 3 2 1 1 1 0 -1 -1 -2 -1 -1 -0 -0 0 -0 -1 -3 -4 -4 -4 -4 -13 -13 -14 -15 -15 -15 -15 -17 -18 -19 -20 -20 -20 -20 -21 -21 -21 -20 -20 -21 -21 -21 -21 -22 -22 -22 -21 -20 -18 -18 -19 -21 -22 -22 -21 -21 -20 -19 -19 -19 -19 -21 -23 -24 -24 -23 -24 -25 -26 -26 -27 -27 -26 -25 -24 -24 -25 -26 -25 -24 -22 -21 -21 -21 -21 -19 -17 -15 -14 -16 -19 -22 -21 -20 -18 -18 -18 -19 -19 -17 -15 -14 -13 -12 -12 -12 -13 -12 -11 -9 -8 -10 -12 -13 -9 -3 0 2 3 4 6 6 7 7 8 9 10 11 12 13 12 11 10 9 9 10 11 12 12 14 15 15 15 14 14 15 16 16 17 17 17 17 17 17 17 16 16 15 15 14 14 14 13 13 13 13 12 10 9 9 8 8 8 9 10 11 13 15 18 19 19 18 16 14 13 12 12 11 10 10 10 10 11 11 12 12 11 12 12 12 12 12 12 12 12 12 12 12 12 13 12 11 10 9 8 7 6 6 6 7 8 9 10 11 12 13 14 15 16 15 15 14 13 11 10 9 9 8 8 7 6 6 5 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 4 5 5 6 6 6 6 7 6 6 5 5 5 5 5 6 6 6 5 4 4 2 2 1 1 1 -0 -1 -1 -1 -0 0 -0 -1 -2 -2 -2 -1 -0 1 2 3 4 5 6 7 7 7 6 5 5 5 6 6 5 5 4 5 5 6 7 8 7 6 4 3 3 2 2 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 8 8 7 6 5 5 7 7 8 7 5 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 7 7 7 8 9 10 10 11 10 10 10 10 10 11 11 10 8 6 4 3 2 2 2 1 -0 -1 -2 -1 -1 -0 0 0 0 -0 -1 -2 -3 -4 -4 -12 -13 -14 -16 -16 -16 -17 -18 -19 -20 -20 -20 -20 -20 -21 -22 -22 -22 -21 -21 -21 -21 -21 -22 -22 -22 -22 -22 -20 -20 -21 -21 -21 -20 -20 -19 -19 -18 -18 -18 -18 -20 -22 -22 -21 -21 -23 -24 -25 -26 -27 -27 -25 -23 -22 -23 -23 -24 -24 -22 -22 -21 -22 -22 -21 -20 -19 -18 -19 -20 -21 -19 -16 -14 -12 -13 -14 -17 -18 -18 -15 -11 -9 -9 -11 -13 -14 -13 -11 -9 -9 -11 -13 -13 -8 -2 0 0 2 3 5 6 6 7 8 9 11 12 12 11 10 9 8 8 9 11 12 12 14 15 15 15 14 14 15 16 16 16 17 17 17 17 17 17 16 16 15 15 14 14 14 13 13 13 12 11 10 8 7 7 7 7 8 9 11 13 15 18 19 19 17 16 14 13 12 12 11 11 10 10 10 10 11 11 12 12 12 13 13 13 12 12 13 13 13 12 12 13 13 13 13 12 11 10 9 8 7 6 6 6 7 9 10 11 12 13 14 15 15 15 15 14 13 12 11 10 9 8 8 7 7 7 7 7 7 6 6 5 4 3 3 3 2 2 2 2 2 3 4 4 5 5 6 6 6 7 6 6 5 5 5 5 6 6 6 6 6 5 4 3 2 2 1 0 -1 -1 -1 -0 1 2 2 2 1 0 0 0 1 2 2 3 4 4 5 5 6 6 6 5 4 5 5 4 4 4 4 5 5 6 7 9 9 8 7 5 4 4 3 2 2 1 1 1 1 1 1 1 1 1 2 2 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 5 5 6 5 4 4 4 5 6 6 5 4 3 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 9 8 6 5 4 3 2 2 1 -1 -1 -1 -1 -1 -0 0 0 0 -0 -1 -2 -3 -3 -13 -14 -15 -16 -17 -17 -18 -19 -20 -20 -21 -20 -20 -21 -22 -23 -23 -24 -23 -22 -22 -21 -21 -22 -22 -23 -23 -23 -23 -23 -22 -21 -20 -19 -18 -17 -17 -16 -16 -16 -17 -19 -22 -23 -23 -22 -23 -24 -24 -24 -24 -25 -24 -22 -22 -22 -22 -22 -21 -20 -20 -21 -22 -22 -22 -20 -20 -20 -21 -21 -20 -15 -11 -9 -9 -11 -13 -15 -17 -16 -13 -9 -7 -8 -11 -14 -15 -14 -12 -10 -10 -10 -10 -12 -8 -3 -1 0 2 4 5 6 7 7 8 10 11 11 11 10 8 8 7 8 9 11 12 13 15 15 14 14 13 14 15 16 16 16 16 16 17 17 17 16 16 15 15 14 14 14 13 13 13 12 11 10 8 7 6 6 6 7 9 10 13 15 17 18 18 17 15 13 12 12 11 11 10 10 10 10 10 11 11 12 12 13 13 13 13 13 13 13 14 14 13 13 13 13 13 13 13 12 11 10 10 9 8 7 7 7 8 9 10 11 12 12 13 14 14 14 14 14 14 13 12 11 10 9 8 8 8 8 8 7 7 6 5 4 4 4 3 2 2 1 2 2 3 4 5 5 5 6 6 6 7 6 6 6 5 5 5 6 6 6 6 5 5 4 4 3 2 1 0 -1 -2 -1 -0 1 2 3 4 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 6 6 7 8 9 10 10 9 8 6 5 4 2 2 2 1 1 1 0 0 -0 -0 0 0 1 1 1 2 2 2 3 3 4 4 5 5 6 6 6 6 6 5 5 5 4 4 3 2 2 2 3 3 4 4 3 3 3 4 4 4 3 2 2 1 2 2 3 3 4 4 5 5 6 6 7 7 7 7 8 8 8 9 8 8 8 8 8 8 8 8 9 9 9 10 10 9 8 7 6 5 4 3 3 1 0 -1 -1 -1 -1 -1 -0 0 0 0 -0 -1 -1 -0 -15 -16 -16 -17 -17 -18 -20 -21 -21 -21 -21 -21 -21 -22 -23 -23 -23 -23 -23 -22 -22 -21 -21 -22 -22 -23 -23 -23 -23 -23 -21 -20 -18 -17 -16 -15 -15 -15 -14 -15 -16 -18 -20 -23 -24 -25 -25 -25 -23 -21 -21 -23 -24 -22 -21 -21 -21 -20 -19 -18 -18 -20 -21 -22 -22 -21 -21 -22 -22 -21 -18 -13 -9 -8 -10 -11 -13 -14 -14 -13 -11 -8 -8 -10 -12 -13 -14 -13 -12 -11 -10 -8 -7 -10 -7 -3 -0 2 4 5 5 6 7 7 8 10 11 10 9 8 7 6 7 8 10 11 12 13 15 14 13 12 13 14 15 15 15 16 16 16 16 17 16 16 16 15 15 14 14 13 13 12 12 11 10 8 7 6 6 7 8 10 11 13 15 16 17 16 15 14 12 11 11 11 10 10 10 10 10 10 11 11 12 12 12 12 12 12 12 13 13 14 14 14 14 13 14 14 14 13 13 13 12 11 11 10 10 9 9 9 9 10 11 11 12 13 13 14 14 14 14 14 13 13 12 11 10 10 9 9 8 8 7 7 6 6 6 5 5 4 3 3 3 3 4 4 5 5 5 5 6 6 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 2 1 -0 -1 0 1 2 3 4 4 4 3 3 3 3 3 3 3 3 3 2 2 1 1 1 1 1 1 0 1 2 4 5 7 8 9 9 10 10 11 10 9 8 6 4 3 1 1 1 0 -0 -1 -1 -1 -1 -1 -0 0 0 1 1 1 1 2 2 3 4 4 5 5 6 6 6 6 6 6 5 5 4 3 3 2 1 1 1 2 3 3 2 2 2 2 3 3 2 1 1 0 0 1 1 2 2 3 4 4 5 6 6 7 7 7 7 8 8 9 9 8 8 7 7 7 7 8 8 9 9 9 10 9 9 8 7 6 5 4 3 2 1 0 -1 -1 -2 -2 -1 -1 -0 0 0 1 2 2 -18 -17 -17 -18 -18 -19 -21 -22 -22 -22 -21 -21 -22 -23 -24 -24 -24 -23 -22 -22 -21 -21 -21 -21 -22 -23 -23 -23 -22 -22 -20 -18 -17 -16 -14 -14 -13 -13 -13 -14 -15 -16 -19 -21 -24 -26 -27 -26 -24 -20 -18 -20 -24 -21 -20 -19 -18 -18 -17 -16 -16 -18 -20 -22 -22 -21 -21 -22 -21 -20 -16 -12 -11 -11 -12 -13 -13 -14 -14 -13 -11 -9 -9 -11 -12 -12 -11 -11 -12 -12 -10 -7 -6 -7 -5 -1 2 4 6 5 5 6 7 8 9 10 10 9 8 6 6 5 7 9 10 11 12 14 14 12 12 12 13 13 14 14 15 15 16 16 17 17 17 16 16 15 15 14 14 13 13 12 11 10 9 8 8 8 9 10 12 13 15 15 16 16 15 14 12 11 10 10 10 9 9 9 9 9 10 10 11 12 12 12 12 12 12 12 12 13 14 15 15 14 14 14 14 14 14 14 14 13 13 13 12 12 12 12 11 11 11 11 11 12 13 14 14 14 14 14 14 14 13 13 13 12 11 11 10 9 9 8 7 7 7 7 7 7 6 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 2 1 1 2 3 4 4 4 4 3 2 3 3 3 3 3 3 3 2 2 1 0 -0 -1 -1 -1 -1 -1 -0 1 3 6 8 9 10 11 11 12 12 11 10 9 7 5 3 2 1 1 0 -0 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 2 3 3 4 5 5 6 7 7 7 7 7 7 6 5 5 4 3 2 1 0 0 1 2 2 2 1 1 1 2 2 2 1 0 -0 -0 -0 -0 0 1 2 2 3 4 5 6 7 7 7 7 7 8 8 8 8 8 8 7 7 7 8 8 9 9 10 10 9 9 9 8 7 6 5 4 3 3 2 1 -0 -1 -2 -2 -1 -0 0 1 3 3 4 -19 -18 -18 -18 -19 -20 -21 -22 -22 -22 -21 -21 -22 -22 -23 -23 -23 -22 -21 -21 -21 -20 -20 -20 -21 -22 -23 -23 -22 -20 -19 -17 -15 -14 -13 -12 -12 -12 -13 -13 -15 -16 -18 -20 -22 -24 -25 -25 -25 -21 -19 -20 -23 -20 -18 -17 -16 -16 -15 -15 -16 -17 -19 -21 -22 -22 -22 -22 -20 -18 -15 -14 -14 -15 -16 -16 -16 -15 -16 -15 -14 -12 -11 -12 -11 -11 -10 -11 -12 -11 -10 -8 -7 -6 -1 2 5 7 6 5 4 5 7 8 9 10 9 8 7 5 4 5 8 10 11 12 13 13 12 11 11 11 12 13 13 14 14 15 16 16 17 17 17 17 16 15 15 14 14 14 13 12 11 10 9 9 9 11 12 14 16 16 17 16 15 14 13 12 11 10 10 9 9 8 8 8 9 9 10 11 12 12 12 11 11 11 11 11 12 13 14 14 14 14 14 14 14 15 14 14 14 14 14 14 14 14 14 14 13 12 12 11 12 12 13 14 15 15 15 14 14 14 13 13 13 13 12 12 11 10 9 9 9 9 9 9 9 8 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 6 7 7 7 7 7 7 6 6 6 6 6 6 6 5 4 3 3 3 5 6 5 4 3 2 2 2 3 3 4 3 3 3 2 2 1 0 -1 -1 -2 -2 -2 -1 -0 1 3 5 7 9 11 12 13 13 13 13 11 10 8 7 5 4 2 2 1 1 0 0 -0 -0 0 0 1 1 1 1 1 1 1 2 2 3 4 5 5 6 7 8 8 9 9 8 8 7 6 5 4 3 2 1 1 0 0 1 1 1 1 1 1 1 2 1 1 1 -0 -1 -1 -1 -1 -0 0 1 2 3 4 5 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 10 10 10 10 10 9 9 8 7 6 5 4 4 3 2 1 -0 -1 -1 -1 -0 1 2 3 4 4 -20 -19 -18 -19 -20 -21 -21 -21 -21 -21 -21 -22 -22 -22 -23 -23 -22 -21 -20 -20 -19 -19 -18 -19 -21 -22 -22 -22 -20 -18 -17 -15 -13 -12 -11 -11 -11 -11 -12 -14 -15 -16 -18 -19 -21 -21 -21 -21 -22 -23 -22 -22 -21 -19 -17 -16 -15 -14 -14 -15 -16 -18 -19 -21 -23 -24 -23 -22 -19 -17 -15 -15 -16 -19 -20 -21 -20 -18 -19 -19 -18 -15 -13 -12 -11 -10 -10 -11 -11 -10 -10 -9 -9 -7 1 5 7 8 6 4 4 6 7 8 9 9 9 7 6 4 4 6 9 11 12 12 12 12 11 11 11 11 12 12 13 13 14 15 16 16 17 17 17 16 15 14 14 14 14 14 13 12 11 11 10 11 12 14 16 17 18 18 17 16 14 13 12 11 10 10 9 9 8 8 8 8 9 10 11 12 12 11 11 10 10 10 11 11 13 13 14 14 13 13 14 14 14 14 14 14 14 15 15 15 16 16 16 15 14 13 12 11 12 12 13 14 15 15 15 15 14 14 13 13 13 13 13 12 12 11 11 11 10 11 10 10 9 9 8 9 9 9 9 9 9 9 9 9 9 9 8 8 7 6 6 6 7 7 7 7 7 7 7 8 7 7 7 6 5 4 4 4 5 6 5 4 3 3 3 3 4 5 5 4 3 3 2 1 1 0 -0 -1 -1 -2 -2 -1 -0 1 3 5 6 8 10 12 13 14 14 14 13 11 10 9 7 6 5 4 3 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 3 4 5 6 6 7 7 8 9 9 9 9 8 8 7 6 5 4 3 2 1 0 -0 -1 -0 -0 0 1 1 1 2 2 2 1 1 0 -0 -1 -1 -1 -0 0 1 2 3 4 5 6 7 7 7 7 7 7 7 8 8 8 8 8 8 9 9 10 10 10 10 10 10 9 9 8 7 6 5 5 4 3 2 1 -1 -1 -0 0 1 2 3 4 4 -22 -21 -20 -20 -20 -21 -21 -21 -20 -20 -21 -22 -23 -23 -23 -22 -22 -20 -19 -18 -18 -18 -18 -19 -21 -22 -22 -21 -19 -17 -15 -12 -11 -9 -9 -9 -10 -11 -12 -14 -15 -16 -17 -18 -19 -19 -18 -17 -17 -19 -19 -18 -17 -17 -16 -15 -14 -13 -14 -16 -17 -18 -19 -21 -24 -25 -24 -22 -19 -17 -15 -16 -18 -21 -24 -25 -24 -21 -21 -21 -20 -18 -14 -12 -11 -11 -10 -10 -10 -9 -8 -8 -8 -6 3 7 8 7 5 4 5 6 7 8 9 9 8 7 5 4 4 8 11 11 12 12 12 11 11 11 11 11 11 12 12 13 14 15 15 16 17 16 16 14 13 13 14 14 15 15 14 13 12 12 12 13 15 16 17 18 18 17 16 15 14 13 12 11 11 10 9 8 8 8 8 9 10 11 11 11 10 10 10 10 10 11 11 12 13 13 13 13 13 13 14 14 14 13 13 13 14 15 15 16 16 17 16 16 14 13 12 11 12 12 13 13 14 15 15 15 14 14 14 14 14 14 13 13 13 12 12 12 12 11 11 10 10 10 10 10 11 11 10 10 10 10 10 10 10 9 8 7 7 6 6 6 6 6 7 7 7 8 8 8 8 8 7 6 5 5 5 5 5 5 4 3 3 4 5 6 6 6 5 4 3 2 1 1 1 1 1 -0 -1 -1 -1 -0 1 3 4 6 7 9 11 12 13 14 14 13 12 11 10 10 9 9 8 7 5 4 3 3 3 2 2 2 2 2 1 1 1 1 1 2 3 4 5 6 6 6 7 8 8 9 9 9 9 9 8 7 6 5 4 3 2 1 -0 -1 -2 -2 -2 -1 -1 0 1 1 2 2 2 2 1 1 0 0 0 0 -0 0 1 1 2 4 5 6 7 7 7 7 7 7 7 8 8 9 9 9 9 10 10 10 10 10 10 10 10 9 8 8 7 6 6 5 4 3 2 0 -0 0 1 2 2 3 3 3 -23 -22 -21 -21 -21 -21 -21 -20 -20 -20 -20 -21 -22 -22 -22 -22 -21 -20 -18 -18 -18 -18 -18 -20 -21 -21 -21 -20 -18 -16 -13 -10 -9 -8 -7 -8 -9 -11 -12 -14 -14 -15 -16 -17 -18 -18 -17 -15 -14 -13 -11 -11 -12 -14 -15 -14 -13 -14 -16 -17 -18 -18 -19 -21 -24 -26 -25 -22 -19 -17 -16 -16 -19 -22 -26 -27 -26 -23 -20 -20 -19 -18 -15 -13 -11 -11 -11 -10 -9 -9 -9 -10 -9 -5 5 8 8 6 5 6 6 7 7 8 8 8 8 6 4 4 6 9 11 11 11 12 11 11 11 11 11 11 11 12 12 12 13 14 15 16 16 15 13 12 12 13 14 15 15 15 15 13 13 12 13 14 16 17 17 17 17 16 15 14 13 12 12 11 10 10 9 9 8 9 10 11 11 11 11 10 9 9 9 10 11 11 12 12 13 12 12 12 13 13 13 13 12 12 12 12 13 13 14 15 16 16 16 15 14 12 12 11 11 11 12 12 13 14 15 15 15 15 15 14 14 14 14 14 14 14 13 13 13 12 12 11 11 11 11 12 12 12 11 11 11 11 10 10 9 9 8 7 6 6 6 6 6 6 7 7 8 8 8 8 8 8 7 7 6 6 6 5 4 3 3 4 5 7 8 8 7 6 5 3 3 2 2 2 2 2 1 1 0 0 1 1 2 3 4 6 7 9 11 12 12 12 12 12 12 11 11 11 11 11 11 9 7 5 4 4 3 2 2 2 2 2 1 1 1 1 2 3 4 5 5 6 6 7 7 8 8 9 9 9 9 9 8 7 7 6 4 3 1 -0 -1 -2 -3 -3 -4 -3 -2 -1 -1 0 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 3 4 5 6 7 7 7 7 7 8 8 8 9 9 10 10 10 10 10 10 9 9 9 9 9 9 8 7 6 6 5 4 3 2 1 1 1 2 2 2 2 2 -25 -23 -22 -21 -21 -20 -20 -20 -19 -19 -19 -20 -21 -21 -20 -20 -20 -19 -18 -18 -17 -18 -18 -20 -21 -21 -21 -19 -17 -15 -12 -9 -7 -6 -6 -7 -9 -11 -13 -13 -14 -14 -14 -15 -16 -16 -16 -14 -12 -10 -9 -9 -11 -12 -13 -13 -14 -15 -16 -17 -18 -18 -19 -22 -24 -25 -25 -23 -20 -17 -16 -17 -19 -22 -26 -28 -27 -24 -20 -19 -19 -19 -17 -14 -12 -11 -11 -11 -10 -10 -10 -10 -8 -3 7 8 7 6 6 7 7 7 7 7 7 7 7 5 4 5 7 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 12 13 14 14 13 12 11 11 11 13 14 15 15 14 13 12 12 13 14 15 16 17 17 16 16 15 14 13 13 12 11 10 10 9 9 9 9 10 11 11 11 10 9 9 9 9 10 10 11 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 12 12 13 14 14 15 14 14 13 12 12 11 11 11 11 11 13 14 15 15 16 16 15 15 15 15 15 15 15 15 15 14 14 14 13 13 13 13 13 13 13 12 12 11 11 10 10 9 8 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 6 5 3 3 5 6 8 9 9 8 6 5 4 4 3 3 3 3 3 2 1 1 1 1 2 2 3 4 4 6 7 9 10 11 11 11 11 11 12 12 12 12 12 13 12 10 8 6 5 4 3 2 2 1 2 2 1 1 1 2 3 4 4 5 5 5 6 7 8 9 9 10 10 10 10 10 9 8 8 7 6 5 3 1 -1 -3 -3 -4 -5 -5 -4 -3 -2 -1 0 1 2 3 3 3 3 3 3 3 3 2 2 1 1 1 2 2 3 4 5 6 6 7 7 7 8 8 9 9 10 10 10 10 10 9 9 9 9 9 9 9 8 8 7 6 6 5 4 3 2 1 1 1 2 2 2 2 -28 -25 -23 -22 -21 -20 -20 -19 -18 -18 -18 -19 -19 -19 -19 -18 -19 -19 -18 -17 -17 -17 -18 -19 -20 -20 -20 -18 -15 -12 -10 -8 -6 -5 -5 -8 -10 -12 -13 -13 -13 -13 -13 -14 -14 -14 -13 -12 -10 -9 -9 -10 -11 -11 -11 -12 -14 -15 -16 -17 -17 -18 -19 -21 -24 -25 -24 -23 -20 -18 -17 -18 -19 -22 -25 -27 -28 -25 -22 -20 -19 -20 -18 -14 -12 -10 -10 -11 -12 -13 -13 -10 -6 -2 8 8 7 7 7 7 6 6 6 6 7 7 6 5 5 6 8 9 9 10 10 11 11 11 11 11 10 10 10 10 10 10 11 12 12 12 10 9 9 10 12 13 14 14 13 12 11 11 11 13 14 16 17 17 16 16 15 14 13 12 12 11 10 9 9 10 10 11 11 11 11 10 9 9 8 8 9 10 10 11 12 12 12 12 11 11 11 11 11 11 11 10 10 10 10 11 11 11 12 12 13 13 13 12 12 12 12 11 11 10 10 11 12 13 14 15 16 16 16 16 16 16 16 17 17 16 16 16 16 16 15 15 15 15 14 14 14 13 13 12 11 10 9 8 7 7 7 8 8 8 8 8 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 6 6 7 8 10 10 9 8 6 5 5 4 4 4 4 4 3 3 2 1 1 1 2 3 3 4 4 4 5 7 8 9 10 10 10 11 12 12 12 12 13 13 14 13 11 10 8 7 6 4 3 2 2 2 2 2 2 2 2 3 4 4 4 5 5 6 7 8 9 10 11 11 11 11 11 10 10 9 8 7 6 6 5 5 4 2 -2 -4 -4 -5 -4 -4 -3 -1 -0 1 2 3 3 4 4 4 4 4 4 3 3 2 2 1 1 2 3 4 5 6 7 7 7 7 8 8 9 9 10 10 10 10 9 9 9 8 8 8 9 8 8 7 7 6 5 5 4 3 2 1 1 2 2 2 3 -30 -27 -25 -23 -22 -20 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -15 -16 -17 -18 -19 -19 -18 -17 -15 -12 -10 -8 -6 -4 -4 -6 -9 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -10 -11 -12 -11 -11 -11 -13 -15 -16 -16 -17 -17 -19 -20 -22 -24 -24 -23 -21 -19 -19 -19 -19 -21 -23 -25 -27 -25 -23 -21 -20 -20 -18 -14 -12 -10 -10 -10 -13 -15 -13 -8 -3 -1 7 7 7 7 7 6 5 5 5 6 6 6 6 6 6 6 7 8 8 9 10 10 11 11 11 11 10 10 9 9 9 10 10 11 10 8 7 7 9 11 13 13 13 12 11 9 9 9 11 14 16 17 17 17 16 15 13 12 12 11 10 9 9 9 10 11 12 12 11 11 10 9 8 8 8 9 10 10 11 11 12 12 12 11 11 10 10 11 11 10 10 10 10 10 10 11 11 11 11 11 12 12 12 12 12 12 11 11 10 10 10 11 11 13 14 15 16 16 17 17 17 17 17 18 18 18 18 18 18 18 17 17 17 16 16 16 15 15 14 13 13 12 11 10 9 9 9 9 9 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 11 10 9 7 6 5 5 5 5 5 5 4 4 3 2 2 1 2 2 3 4 4 4 4 4 5 6 7 8 9 10 11 12 12 12 12 12 13 14 15 14 12 11 10 9 8 6 5 4 3 2 2 2 2 2 2 3 3 4 4 4 5 6 8 9 10 10 11 11 12 12 12 11 11 10 9 8 8 7 7 7 7 7 7 7 3 -1 -3 -4 -3 -3 -1 -0 1 2 3 3 4 4 4 5 5 5 5 4 3 2 2 2 2 3 4 5 6 7 7 7 8 8 8 9 9 10 10 10 10 9 8 8 8 8 8 8 7 7 6 6 6 5 4 4 3 2 2 2 2 3 3 -30 -28 -26 -24 -22 -20 -19 -18 -18 -18 -19 -18 -18 -18 -18 -18 -18 -17 -15 -14 -15 -16 -17 -17 -17 -15 -13 -11 -9 -7 -6 -4 -3 -4 -6 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -11 -12 -11 -10 -11 -12 -13 -15 -16 -17 -17 -18 -19 -21 -23 -23 -23 -22 -21 -20 -20 -20 -20 -20 -22 -24 -25 -23 -22 -20 -19 -16 -14 -12 -11 -10 -11 -13 -15 -11 -6 -1 -1 6 6 7 7 6 5 4 4 5 6 6 6 6 5 6 6 6 7 8 9 9 10 11 11 11 11 10 9 9 9 9 9 9 9 7 6 6 7 9 12 13 12 11 10 9 8 8 10 13 15 17 17 17 16 15 13 12 11 9 9 8 8 9 10 11 12 12 11 10 9 8 8 8 8 9 10 10 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 10 10 10 10 10 10 11 12 13 14 15 16 17 17 18 18 18 18 18 18 19 19 19 19 19 19 18 18 18 17 17 16 16 15 15 14 13 12 12 11 11 11 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 10 11 11 12 12 12 11 9 7 6 5 6 6 6 6 5 5 4 4 3 2 2 2 2 3 4 5 5 4 4 4 4 5 7 8 10 11 12 12 12 12 12 13 14 15 15 14 13 12 12 11 10 8 7 5 3 2 2 1 1 1 2 3 3 3 4 4 5 6 7 8 9 10 11 11 12 12 12 12 12 11 10 9 9 8 8 8 8 9 9 9 7 4 -0 -3 -3 -3 -3 -1 -0 1 2 3 3 4 4 5 5 6 6 6 5 4 3 3 2 3 3 4 5 6 7 7 8 8 8 8 9 9 10 10 10 9 9 8 8 8 8 7 7 7 6 6 6 5 5 4 4 3 3 2 3 3 4 -28 -27 -25 -23 -21 -19 -18 -17 -18 -18 -18 -18 -18 -18 -18 -18 -17 -15 -14 -14 -15 -16 -17 -16 -15 -13 -11 -8 -6 -5 -4 -2 -2 -3 -5 -8 -9 -10 -10 -10 -9 -9 -10 -10 -9 -9 -8 -7 -7 -7 -8 -10 -11 -10 -10 -10 -10 -12 -14 -16 -17 -18 -19 -20 -21 -22 -22 -22 -22 -22 -21 -21 -20 -19 -18 -19 -22 -24 -23 -22 -19 -17 -14 -13 -12 -12 -13 -14 -14 -13 -9 -4 -1 -2 5 6 7 6 5 4 4 4 5 5 5 5 5 5 5 6 6 6 7 8 9 10 11 11 11 10 10 9 9 8 9 9 8 7 5 4 5 8 10 12 12 11 10 9 7 7 8 11 14 16 16 16 15 14 13 11 10 9 8 7 8 9 10 11 12 11 11 10 9 8 7 8 8 9 10 10 11 11 10 10 10 9 10 10 10 10 10 10 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 10 10 11 11 12 14 15 16 17 18 18 19 19 19 19 19 19 19 20 20 20 20 20 20 19 19 18 18 18 18 17 16 15 14 14 13 12 12 11 11 11 11 11 11 10 10 10 10 10 9 9 10 10 11 12 13 13 13 13 12 10 9 8 7 7 7 7 6 5 5 4 4 4 3 3 3 3 3 4 5 5 5 4 4 4 5 6 7 9 11 12 12 12 12 12 13 14 15 15 15 15 14 14 13 13 12 10 9 6 4 3 2 1 1 1 2 3 3 3 3 4 4 5 7 8 9 10 11 12 12 13 13 12 12 12 11 10 10 10 9 9 9 9 9 9 8 5 2 -1 -3 -3 -3 -2 -1 -0 1 2 2 3 4 4 5 5 6 6 6 6 5 5 4 3 3 3 4 5 6 7 8 8 8 8 8 9 9 10 10 10 9 9 8 8 8 8 7 7 6 6 6 5 5 4 4 4 3 3 3 3 4 -25 -24 -23 -21 -19 -18 -17 -16 -16 -17 -18 -18 -19 -19 -18 -18 -16 -15 -13 -14 -15 -16 -16 -16 -14 -12 -10 -7 -5 -3 -1 0 1 -1 -4 -6 -7 -8 -9 -9 -9 -9 -8 -8 -8 -7 -6 -5 -4 -5 -6 -8 -9 -9 -9 -9 -10 -11 -14 -17 -19 -19 -20 -20 -21 -22 -22 -21 -22 -22 -23 -22 -20 -17 -16 -17 -20 -23 -23 -21 -18 -15 -12 -11 -11 -12 -14 -15 -14 -11 -7 -4 -2 -1 5 6 6 5 4 4 4 5 5 5 5 4 4 5 5 5 6 6 7 7 8 10 11 11 11 10 9 9 9 9 9 8 7 6 4 4 6 8 11 11 11 10 9 8 7 7 10 13 14 14 14 13 13 13 11 10 8 7 7 8 9 10 11 11 11 10 9 8 8 7 8 8 9 10 10 10 10 10 9 9 9 9 10 10 10 10 11 11 11 11 11 11 10 9 9 9 9 9 10 10 10 10 9 9 9 8 8 8 9 9 9 10 10 11 12 13 14 16 17 18 18 19 19 19 19 19 19 20 20 21 21 21 21 21 21 20 20 20 20 19 19 18 17 16 15 14 13 13 13 12 12 12 12 12 11 11 11 10 10 10 10 11 11 12 13 13 13 13 12 12 11 10 10 10 9 8 7 6 6 5 5 4 4 4 4 3 3 3 4 5 6 5 5 5 5 5 6 7 9 11 12 12 12 13 13 14 15 15 16 15 15 15 15 14 14 13 12 10 8 6 4 2 1 1 2 3 3 3 3 3 3 4 5 6 7 9 10 11 12 13 13 13 13 13 12 12 12 11 11 11 11 10 10 10 9 8 6 5 3 1 -1 -2 -2 -2 -1 -0 1 1 2 3 4 4 5 5 6 6 6 6 6 6 5 4 4 4 5 6 7 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 8 8 7 7 6 6 5 5 5 5 4 4 4 4 4 4 -21 -21 -20 -19 -19 -18 -17 -15 -16 -17 -17 -18 -19 -19 -19 -18 -17 -15 -14 -15 -15 -16 -15 -14 -13 -11 -9 -7 -4 -0 3 4 4 2 -2 -4 -6 -7 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -4 -5 -7 -7 -7 -8 -10 -12 -15 -19 -21 -21 -21 -21 -21 -21 -21 -21 -22 -23 -24 -23 -20 -17 -16 -17 -21 -23 -22 -19 -16 -14 -12 -11 -11 -13 -14 -13 -10 -8 -7 -5 -2 1 6 6 5 4 4 4 5 5 5 5 4 3 4 4 5 5 5 5 6 7 8 9 10 10 10 10 9 9 9 9 9 9 7 5 4 4 6 8 10 10 10 10 9 8 7 8 11 12 12 11 11 12 12 11 10 8 7 7 8 10 11 11 11 10 9 8 7 7 7 8 8 9 10 10 10 10 9 9 9 9 9 10 10 11 11 11 11 12 12 12 11 10 10 9 9 9 9 9 9 9 9 9 8 8 7 7 7 8 8 9 9 10 10 11 12 13 14 15 17 18 18 19 19 19 19 20 20 20 21 22 22 22 22 22 22 22 22 21 21 20 20 19 18 17 17 16 15 15 15 14 14 14 13 13 12 12 12 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 12 12 11 9 8 7 7 6 6 5 5 5 4 4 3 4 5 7 7 6 6 5 5 5 5 7 9 11 12 13 13 13 14 15 15 16 16 16 15 15 15 15 15 15 14 12 10 7 5 3 2 3 3 4 4 4 3 3 3 3 4 6 7 9 10 11 13 13 14 14 14 14 13 13 13 13 13 12 12 12 11 10 10 9 8 8 7 6 4 2 1 -1 -1 -1 -0 1 1 2 3 3 4 4 5 5 6 6 6 6 6 6 5 5 5 5 6 8 8 9 9 9 8 8 9 9 9 9 10 10 10 9 9 8 8 7 7 6 6 5 5 5 5 4 4 4 4 4 -17 -17 -17 -18 -18 -18 -17 -16 -17 -17 -18 -18 -19 -19 -19 -18 -17 -17 -16 -16 -16 -15 -13 -12 -10 -9 -7 -4 -1 3 6 7 6 3 -0 -3 -5 -7 -8 -8 -8 -7 -6 -4 -3 -1 -0 0 1 0 -1 -3 -4 -5 -7 -8 -10 -13 -16 -20 -22 -22 -22 -22 -21 -21 -20 -21 -22 -23 -25 -24 -21 -19 -18 -18 -19 -19 -18 -16 -14 -14 -13 -12 -12 -13 -13 -11 -8 -9 -10 -10 -8 -4 4 5 4 4 4 5 5 5 5 4 3 3 4 4 4 4 4 4 5 7 8 9 9 9 9 9 9 9 9 10 10 9 7 5 4 4 6 7 8 9 10 10 9 8 8 9 10 10 9 10 10 11 11 10 9 8 7 9 11 12 13 12 11 9 8 7 7 7 8 8 9 10 10 10 10 10 9 9 10 10 11 12 12 12 12 12 12 12 12 11 11 10 9 9 9 9 9 9 9 9 9 8 7 7 6 6 6 7 7 8 9 9 10 11 12 13 14 15 16 17 18 19 19 20 20 20 21 22 22 23 23 24 24 24 23 23 23 23 22 22 21 21 20 20 19 19 18 18 17 17 16 16 15 14 14 14 13 13 13 12 12 12 12 12 13 13 13 13 14 14 14 14 14 13 12 11 10 9 8 8 7 7 6 5 5 4 4 6 7 8 8 7 6 5 4 4 5 7 9 11 12 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 15 14 12 9 6 4 4 4 5 5 5 5 4 3 3 4 5 6 8 9 11 12 13 14 14 14 14 14 14 14 14 14 14 13 13 13 12 11 11 10 11 11 11 10 9 7 5 4 2 1 0 0 0 0 1 1 2 3 3 4 5 5 6 6 6 6 6 6 6 6 7 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 9 8 8 7 6 6 5 5 5 5 5 5 5 5 -14 -13 -14 -15 -16 -17 -17 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -14 -12 -10 -8 -6 -3 -1 3 6 8 8 7 4 0 -2 -4 -5 -7 -7 -7 -6 -4 -2 -1 0 1 2 2 1 -0 -1 -3 -5 -7 -9 -11 -14 -17 -19 -22 -23 -23 -22 -21 -21 -21 -21 -22 -24 -26 -26 -24 -22 -20 -19 -18 -16 -14 -13 -14 -14 -13 -12 -12 -11 -10 -8 -7 -9 -12 -13 -11 -6 3 4 4 4 4 5 5 4 4 3 3 3 4 4 4 3 3 4 5 7 8 8 8 8 8 8 8 9 9 10 9 9 7 6 5 4 5 6 7 8 10 10 9 9 9 8 8 8 8 10 11 11 10 8 7 7 9 11 13 14 13 12 10 8 7 7 8 8 9 9 10 10 10 10 10 10 10 11 12 13 13 13 13 13 13 13 13 13 12 11 10 10 10 10 10 10 10 10 9 9 8 7 7 6 6 5 6 6 7 7 8 9 10 11 12 13 13 14 15 16 17 18 19 20 20 21 22 23 23 24 24 25 25 25 25 25 25 24 24 23 23 23 23 22 22 22 21 21 20 19 18 18 17 16 16 16 15 15 14 14 14 13 13 13 13 13 14 14 15 15 15 15 14 14 13 12 12 11 10 10 9 8 8 7 6 6 7 8 9 10 9 8 7 5 4 4 5 7 9 11 12 14 14 15 15 16 16 17 17 17 16 16 16 16 16 16 16 15 13 10 8 6 5 5 6 6 6 5 4 4 4 4 6 7 8 10 11 12 13 13 14 14 14 14 14 14 14 14 14 14 14 13 13 12 12 12 12 13 13 13 12 11 9 8 6 5 4 3 1 -1 -1 -1 -1 0 1 2 3 4 4 5 5 6 6 7 7 7 7 7 8 9 9 10 10 10 9 9 9 10 10 10 10 10 10 10 9 9 8 8 7 6 6 6 5 5 5 6 6 6 -10 -10 -10 -11 -12 -14 -16 -19 -21 -20 -20 -19 -18 -18 -18 -18 -18 -19 -19 -19 -17 -14 -11 -9 -6 -4 -1 1 4 7 9 8 6 3 0 -2 -3 -4 -5 -6 -6 -5 -4 -2 -0 1 1 2 1 -0 -1 -2 -4 -6 -8 -10 -12 -14 -16 -19 -21 -22 -23 -22 -22 -21 -22 -22 -24 -26 -28 -28 -27 -26 -24 -21 -18 -15 -14 -13 -14 -15 -14 -12 -10 -9 -8 -7 -8 -10 -13 -13 -10 -5 3 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 5 6 6 6 6 6 7 7 8 8 9 9 9 8 7 6 5 5 4 5 6 7 9 10 10 10 9 9 8 9 10 11 11 10 8 7 7 8 11 13 14 14 12 10 8 8 8 9 9 9 10 10 10 10 10 10 10 10 12 13 14 15 15 14 14 14 14 14 14 13 12 11 11 10 11 11 10 10 10 10 9 9 8 7 7 6 5 5 5 6 6 7 7 9 10 11 12 12 13 14 14 15 16 17 18 19 20 21 22 23 24 25 25 25 26 26 26 26 26 26 25 25 25 25 25 25 25 24 23 23 22 21 20 20 19 19 18 18 17 17 16 16 15 14 14 14 14 14 15 15 16 16 16 15 15 15 15 14 14 13 12 12 11 10 10 9 8 9 9 10 11 11 10 8 7 6 5 5 6 7 9 11 13 14 14 15 15 16 17 17 17 17 17 16 16 16 16 17 17 16 14 11 9 8 7 7 7 7 6 5 5 4 4 5 6 7 9 10 11 12 12 13 13 13 14 14 15 15 15 14 14 14 14 14 13 13 13 13 14 15 15 14 14 13 12 11 10 10 9 7 5 2 -0 -2 -3 -2 -2 -1 0 1 2 3 4 5 6 6 7 7 7 8 8 9 9 10 10 10 10 10 10 10 10 11 11 11 10 10 10 9 9 8 8 7 7 6 6 6 6 6 6 6 -8 -7 -7 -7 -8 -11 -14 -19 -20 -20 -20 -19 -18 -18 -17 -17 -17 -18 -19 -19 -17 -14 -11 -9 -6 -4 -1 2 4 7 7 6 4 1 -1 -3 -4 -5 -5 -5 -5 -5 -3 -2 -1 0 1 1 -0 -1 -2 -3 -4 -6 -8 -10 -12 -14 -16 -18 -20 -21 -22 -22 -22 -22 -23 -23 -25 -27 -29 -30 -30 -29 -27 -24 -21 -18 -15 -15 -15 -16 -15 -12 -9 -7 -7 -8 -9 -11 -13 -13 -9 -4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 6 7 7 8 8 8 7 7 6 6 5 5 5 5 7 9 10 10 10 10 10 11 12 12 12 10 8 7 6 7 9 11 13 13 11 10 8 8 9 10 10 10 10 10 10 10 10 10 10 10 11 13 15 16 16 16 15 14 14 14 14 13 13 12 11 11 11 11 11 11 11 10 10 10 9 8 8 7 6 6 6 6 6 6 6 7 8 9 10 11 12 12 13 13 14 15 16 17 18 19 20 22 23 24 24 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 24 23 23 22 22 21 21 20 20 19 18 18 17 17 16 16 16 16 16 16 16 16 16 16 16 17 17 16 16 15 15 14 14 13 13 12 12 11 12 12 12 12 11 11 9 8 7 7 7 7 8 10 11 13 14 14 15 16 16 17 18 18 18 17 17 16 16 16 17 17 16 15 13 11 9 8 8 7 7 6 6 5 4 4 5 6 7 9 10 11 11 11 12 12 13 13 14 15 15 15 15 15 15 14 14 14 14 14 14 15 15 16 16 15 14 13 13 13 13 13 12 10 7 4 1 -2 -3 -3 -3 -2 -1 0 2 3 4 5 6 6 7 7 8 8 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 10 10 10 9 9 8 7 7 6 6 6 6 6 6 -6 -5 -4 -4 -5 -8 -12 -16 -18 -19 -18 -18 -17 -16 -16 -16 -17 -17 -18 -18 -17 -14 -11 -9 -6 -3 0 3 6 7 7 5 2 -1 -4 -6 -7 -7 -7 -6 -5 -4 -2 -1 -0 0 0 0 -1 -2 -2 -3 -4 -5 -7 -9 -11 -13 -15 -16 -18 -20 -21 -21 -22 -23 -23 -24 -25 -27 -29 -31 -32 -31 -30 -28 -24 -21 -18 -16 -17 -17 -17 -14 -10 -8 -8 -10 -11 -13 -14 -14 -10 -5 2 3 3 3 3 3 2 3 3 3 3 3 2 2 2 2 2 2 2 2 2 3 3 4 5 5 6 6 7 7 7 7 6 6 6 5 5 5 5 6 7 8 8 9 10 12 14 14 13 11 9 7 6 6 7 9 10 10 9 8 7 7 8 10 10 10 10 10 11 11 10 10 10 10 10 12 14 15 16 16 15 15 14 14 13 13 13 12 12 12 12 12 12 12 11 11 11 10 10 9 9 8 8 7 7 6 6 6 6 7 7 8 8 9 10 10 11 11 12 13 13 14 15 16 18 19 20 21 23 23 24 25 25 26 26 26 26 27 27 27 27 27 27 26 26 26 25 25 24 24 24 23 23 22 22 21 21 20 20 19 19 19 18 18 18 18 18 17 17 18 18 18 18 18 18 18 17 17 16 16 16 15 15 14 14 14 14 14 13 13 12 11 10 9 9 9 9 10 11 12 13 14 15 15 16 16 17 18 18 18 18 17 17 16 16 17 17 17 16 14 12 10 9 8 8 7 7 6 5 5 5 5 6 8 9 10 10 11 11 11 12 13 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 16 15 15 15 15 15 15 14 13 10 7 4 1 -1 -2 -3 -3 -2 -0 1 2 3 4 5 6 7 8 9 9 9 10 10 10 11 11 11 11 11 12 12 12 12 12 11 11 10 9 9 9 8 7 7 7 7 7 7 6 -5 -4 -4 -4 -5 -8 -11 -14 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -15 -13 -10 -8 -5 -1 2 6 8 8 6 3 -0 -4 -7 -8 -9 -9 -8 -7 -5 -3 -2 -1 -0 0 0 -0 -1 -2 -3 -4 -5 -6 -7 -9 -11 -12 -14 -15 -16 -18 -19 -21 -22 -23 -24 -24 -25 -26 -28 -30 -31 -32 -32 -30 -27 -23 -20 -18 -17 -18 -19 -17 -14 -10 -8 -10 -12 -14 -15 -15 -12 -6 1 3 3 3 3 2 3 3 3 3 3 2 2 2 2 2 1 1 1 1 1 1 2 3 4 5 5 5 6 6 6 6 6 5 5 5 5 5 6 6 6 6 7 8 10 13 15 14 13 10 7 5 5 6 7 8 8 7 6 5 5 6 8 9 9 9 9 10 11 11 10 10 10 10 11 12 14 14 14 14 13 13 13 13 13 12 12 12 12 12 13 13 12 12 12 11 11 10 10 9 9 9 8 8 7 7 7 7 7 7 7 7 8 8 8 9 10 10 11 12 13 13 14 15 16 17 18 20 21 22 23 24 25 25 26 26 26 26 26 27 27 27 27 26 26 26 25 25 25 25 25 24 24 23 23 23 22 22 22 22 21 21 21 21 21 20 20 19 19 19 20 20 20 20 20 20 20 19 19 18 18 18 17 17 17 16 16 15 14 14 13 12 12 11 11 11 11 11 12 14 15 15 15 15 15 16 17 18 19 19 18 18 17 16 16 17 17 17 16 15 13 11 10 9 8 7 7 6 6 5 5 6 7 8 9 10 10 11 11 12 12 13 14 15 16 16 17 17 17 17 17 17 17 17 18 18 18 19 19 20 19 19 18 17 16 17 17 17 17 17 15 12 10 7 5 3 0 -1 -2 -2 -1 0 2 3 4 5 6 7 8 9 9 9 10 10 10 11 11 12 12 12 13 13 13 13 12 11 10 10 9 9 9 8 8 8 7 7 7 7 -5 -5 -5 -5 -6 -8 -11 -13 -14 -14 -15 -16 -17 -17 -16 -15 -14 -14 -15 -15 -13 -12 -9 -6 -3 1 5 9 10 9 5 1 -2 -6 -9 -10 -10 -10 -9 -7 -5 -3 -2 -2 -1 -1 -0 -0 -1 -2 -3 -4 -5 -6 -8 -9 -10 -12 -13 -14 -15 -17 -18 -20 -21 -23 -24 -24 -25 -25 -26 -28 -30 -31 -31 -30 -28 -25 -22 -19 -19 -19 -21 -20 -17 -11 -6 -6 -9 -12 -14 -15 -14 -9 -1 2 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1 0 -0 -0 -0 1 2 2 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 7 9 12 13 12 10 7 5 5 5 6 6 6 5 4 3 3 4 5 6 6 6 7 8 10 10 10 10 9 9 10 11 12 13 13 12 11 11 12 12 12 12 11 11 11 12 12 13 13 12 12 12 11 11 10 10 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 8 8 9 9 10 11 12 13 13 14 15 16 17 18 20 21 22 23 24 25 25 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 24 24 24 23 23 23 23 23 23 23 23 23 22 22 22 21 22 22 22 22 22 22 22 22 22 21 21 20 20 19 19 18 18 17 16 16 15 14 13 13 13 13 12 13 13 14 15 16 16 16 16 16 16 18 18 19 19 19 18 17 17 16 16 17 17 16 15 13 12 10 9 8 8 7 7 7 6 6 6 7 8 9 10 10 11 12 12 13 14 14 15 15 16 17 18 18 19 19 19 19 19 19 20 20 21 22 21 21 20 19 19 18 18 18 19 19 19 19 17 15 13 11 9 6 3 0 -2 -2 -1 0 1 2 3 4 6 7 7 8 9 10 10 11 11 11 12 12 13 13 14 14 13 13 12 11 10 9 9 9 9 9 8 8 8 7 7 -6 -6 -6 -7 -8 -8 -9 -10 -10 -11 -13 -15 -17 -17 -16 -15 -14 -13 -13 -13 -12 -10 -8 -5 -1 3 8 11 11 8 4 -0 -4 -7 -10 -11 -11 -10 -9 -7 -5 -5 -5 -4 -3 -1 0 1 -0 -1 -3 -5 -5 -6 -7 -8 -9 -11 -12 -14 -15 -16 -17 -19 -21 -22 -23 -24 -24 -25 -25 -26 -28 -29 -29 -29 -27 -26 -23 -22 -21 -22 -21 -19 -15 -12 -9 -8 -7 -7 -10 -12 -13 -12 -6 1 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1 -0 -1 -1 -1 0 1 1 2 2 3 3 3 2 2 2 2 2 3 3 4 4 4 4 3 3 4 6 8 10 10 8 7 5 4 5 5 6 5 4 2 2 2 2 3 4 4 4 5 6 8 9 9 9 9 9 9 9 10 11 12 11 10 10 10 11 11 11 10 10 10 10 11 11 12 12 12 12 12 11 11 10 9 9 9 9 9 9 8 8 8 8 8 7 7 7 7 7 7 7 8 9 9 10 11 12 13 14 14 15 16 17 18 19 21 22 23 24 24 25 25 25 26 26 26 26 26 25 25 25 25 25 25 25 25 25 25 25 25 25 24 24 24 25 25 25 25 24 24 24 24 23 23 23 23 23 24 24 24 24 24 24 23 23 22 22 21 21 20 20 19 18 17 16 15 15 14 14 14 14 14 15 15 16 17 17 17 16 16 17 18 19 20 20 20 19 18 17 17 17 17 17 16 15 14 12 10 9 8 8 8 8 8 8 7 7 8 8 9 10 11 12 12 13 14 14 14 14 15 15 16 17 18 19 20 20 20 20 20 21 22 23 23 23 23 22 21 20 19 19 19 20 21 21 21 20 19 17 15 14 12 9 5 1 -1 -2 -1 -0 1 2 3 4 5 6 7 8 9 10 11 11 11 12 12 13 13 14 14 14 13 12 11 10 10 9 9 10 9 9 8 8 7 7 -6 -6 -6 -7 -8 -8 -8 -7 -8 -9 -11 -13 -15 -16 -15 -14 -13 -13 -12 -11 -10 -9 -7 -4 -1 3 9 11 10 7 3 -1 -5 -8 -10 -11 -11 -11 -10 -9 -8 -8 -6 -5 -3 -1 1 1 0 -1 -3 -4 -5 -6 -6 -7 -8 -10 -12 -13 -14 -15 -17 -19 -20 -22 -23 -23 -24 -25 -25 -26 -26 -26 -26 -26 -26 -26 -24 -24 -23 -23 -22 -22 -18 -14 -13 -14 -13 -11 -10 -10 -9 -10 -7 -0 3 3 3 3 3 3 3 2 2 2 2 2 2 1 1 -0 -1 -1 -1 -1 -1 -0 0 0 1 0 0 -0 -0 -1 -0 -0 0 1 2 2 3 2 2 3 4 6 7 7 6 5 4 4 4 5 6 5 4 2 1 2 2 3 3 2 2 3 5 6 7 8 8 8 8 8 8 9 9 10 10 10 9 9 10 10 10 9 8 8 8 9 9 10 10 10 11 11 11 11 10 9 9 9 8 8 8 8 8 8 8 8 8 7 7 7 7 6 6 7 7 8 9 10 11 12 12 13 14 14 15 16 17 18 19 20 21 22 22 23 24 24 24 24 25 25 25 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 25 25 25 25 25 25 24 24 24 23 23 22 21 21 20 19 18 17 16 16 15 15 15 15 16 16 17 18 18 18 17 17 18 19 20 20 21 21 20 19 18 17 17 17 17 16 15 14 12 11 10 9 8 8 8 8 8 8 8 8 8 9 10 11 12 13 13 13 13 13 13 14 14 15 17 18 19 19 20 20 20 20 21 22 23 24 25 24 23 23 22 21 21 21 21 22 23 23 23 22 20 19 17 16 15 12 8 3 -1 -2 -2 -1 0 1 2 3 4 6 7 8 10 10 11 11 11 12 12 13 14 14 14 14 13 12 11 10 10 10 10 10 9 8 8 7 7 -5 -5 -6 -7 -7 -7 -6 -6 -6 -8 -10 -11 -12 -13 -14 -14 -13 -12 -11 -10 -9 -8 -7 -4 -1 4 9 11 10 6 2 -1 -5 -8 -10 -11 -12 -12 -11 -11 -10 -9 -7 -5 -2 -1 -0 0 -0 -1 -3 -4 -5 -6 -6 -6 -8 -9 -11 -13 -14 -15 -17 -18 -19 -21 -22 -22 -23 -24 -25 -26 -26 -26 -25 -25 -25 -26 -25 -25 -25 -24 -24 -25 -23 -19 -16 -16 -17 -17 -16 -13 -10 -10 -9 -1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 -0 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 -0 1 1 2 3 4 5 5 5 5 4 3 3 4 5 6 5 4 3 2 2 3 3 3 2 2 2 3 5 6 7 7 7 7 7 7 7 7 7 8 9 9 9 9 10 9 9 8 7 7 7 8 8 8 8 9 9 10 10 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 6 6 6 6 6 6 7 7 8 9 10 11 12 13 13 14 15 15 16 17 17 18 19 20 20 21 21 22 22 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 26 26 26 26 26 26 25 25 24 24 23 23 22 21 20 20 19 17 16 16 16 16 17 17 18 19 19 18 18 18 19 20 20 21 21 21 21 20 19 18 17 17 16 16 15 14 13 12 10 9 8 8 8 9 9 9 9 9 9 10 11 12 13 13 13 13 13 13 13 13 13 15 16 17 18 19 19 20 20 20 21 22 23 24 25 25 25 24 23 23 22 22 22 23 24 24 24 24 23 22 20 20 19 18 15 10 4 -1 -3 -3 -1 -0 1 2 3 4 6 7 8 9 10 11 11 11 11 12 13 14 14 14 13 12 11 10 10 10 10 9 9 9 8 7 7 -4 -4 -5 -6 -5 -5 -4 -4 -5 -7 -8 -8 -9 -10 -12 -13 -13 -12 -11 -10 -9 -8 -7 -5 -1 4 8 10 9 6 2 -2 -5 -8 -10 -11 -12 -12 -12 -12 -11 -9 -7 -6 -4 -3 -2 -1 -1 -2 -3 -4 -5 -5 -5 -6 -7 -9 -11 -12 -14 -15 -16 -17 -19 -20 -21 -22 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -25 -27 -28 -28 -26 -23 -20 -19 -21 -21 -19 -15 -12 -12 -4 1 2 1 1 1 1 1 1 0 0 0 0 -0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -2 -1 0 1 2 3 4 4 3 3 2 2 3 4 5 5 4 3 3 3 3 4 3 3 2 2 3 4 5 6 6 6 7 7 7 7 5 5 5 7 8 9 10 9 9 9 7 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 6 6 7 8 8 9 10 11 12 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 23 23 23 24 24 25 25 26 26 27 27 27 27 26 26 26 26 25 24 23 22 21 20 19 17 17 17 18 18 18 19 20 20 19 19 20 20 21 21 21 22 22 21 21 20 19 18 17 17 16 15 14 13 12 11 10 9 8 8 9 9 9 9 9 10 10 11 12 13 13 13 13 12 12 12 12 13 14 15 16 18 19 19 19 20 20 21 21 23 24 25 25 26 25 24 24 23 23 23 23 24 25 26 26 25 24 23 22 22 22 21 18 12 6 -1 -4 -3 -2 -1 1 2 3 4 5 6 7 9 9 10 10 10 10 11 12 13 13 13 12 11 10 10 10 9 9 9 9 8 8 7 -3 -3 -4 -4 -4 -3 -3 -3 -4 -4 -5 -5 -6 -8 -10 -12 -13 -12 -12 -10 -9 -8 -7 -5 -2 2 6 8 7 4 0 -3 -6 -8 -10 -12 -13 -13 -13 -12 -11 -10 -9 -8 -6 -5 -4 -3 -2 -3 -3 -4 -4 -4 -4 -5 -7 -8 -10 -12 -13 -15 -16 -17 -18 -19 -21 -22 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -30 -31 -32 -32 -29 -25 -21 -23 -24 -23 -19 -15 -15 -10 -3 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -3 -2 -0 1 2 2 2 2 2 2 2 3 4 4 4 3 3 3 3 3 3 3 3 2 2 2 3 3 4 5 5 6 7 7 6 5 3 2 3 6 9 10 10 9 8 7 6 5 5 6 7 7 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 5 5 5 6 6 6 7 8 9 10 11 12 13 14 14 15 15 16 16 16 16 17 17 17 18 18 19 19 20 20 20 20 20 20 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 24 24 24 24 24 24 24 23 23 23 24 24 24 25 25 26 27 28 28 28 28 28 28 28 27 26 25 23 22 21 20 20 20 20 20 20 20 21 21 20 20 20 21 21 22 22 22 22 22 22 21 21 20 19 18 17 16 16 15 14 13 12 10 9 8 8 9 9 10 10 10 10 11 12 13 13 14 13 13 12 11 12 12 13 14 15 16 17 18 19 19 19 20 20 21 22 23 24 25 26 25 25 24 23 23 23 23 24 25 26 27 27 27 26 25 24 24 24 24 21 15 7 -1 -4 -4 -3 -1 0 2 3 4 4 5 6 7 8 9 9 9 9 10 11 11 12 11 11 10 10 9 9 9 9 9 8 8 7 -2 -3 -3 -3 -2 -2 -2 -3 -3 -2 -2 -3 -4 -6 -8 -10 -11 -12 -12 -11 -10 -9 -8 -6 -3 1 5 6 5 2 -1 -4 -7 -9 -11 -12 -13 -13 -13 -12 -12 -11 -11 -10 -8 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -8 -10 -12 -14 -15 -17 -18 -19 -19 -20 -22 -23 -24 -24 -24 -25 -26 -27 -27 -27 -26 -26 -26 -27 -29 -31 -33 -34 -34 -33 -29 -25 -25 -27 -26 -23 -19 -18 -15 -7 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -4 -2 -0 1 2 2 1 1 1 2 3 4 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 3 3 4 5 6 6 6 4 1 -0 -0 3 7 9 10 8 7 6 5 4 4 5 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 10 12 13 14 14 15 15 16 16 16 16 16 16 17 17 17 18 18 18 19 19 19 19 20 20 20 20 20 20 21 21 21 21 21 22 22 22 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 25 26 27 28 29 29 30 30 30 30 30 28 27 25 23 22 22 22 23 23 22 22 22 22 21 20 20 21 22 22 23 23 22 22 22 22 22 21 21 20 19 18 17 16 15 15 13 12 11 10 9 8 9 9 10 10 11 11 11 12 13 14 14 14 13 12 12 11 12 13 14 15 16 17 18 18 19 19 19 20 20 21 22 24 25 25 25 25 24 24 23 23 23 24 25 27 28 29 28 28 27 26 26 27 27 27 25 18 9 0 -4 -5 -3 -1 0 1 2 3 3 4 6 7 8 8 8 8 8 9 10 10 10 10 10 9 9 9 9 9 9 8 7 6 -0 -1 -2 -3 -4 -4 -3 -3 -2 -1 -1 -1 -2 -4 -5 -7 -9 -11 -12 -11 -10 -9 -8 -6 -3 0 4 5 4 0 -3 -5 -8 -10 -12 -13 -13 -12 -13 -13 -13 -13 -13 -11 -9 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -7 -8 -10 -12 -14 -16 -18 -19 -20 -20 -20 -22 -22 -23 -23 -24 -24 -25 -26 -27 -27 -27 -26 -26 -27 -29 -31 -33 -34 -34 -33 -31 -28 -27 -28 -29 -27 -23 -18 -16 -9 -4 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -3 -2 -0 1 1 1 1 0 0 1 3 4 5 5 4 3 2 2 1 0 0 0 1 1 1 2 2 2 3 4 5 5 5 3 1 -1 -2 0 4 8 9 7 5 3 2 2 2 4 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 10 11 12 13 14 15 15 16 16 16 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 21 21 22 22 23 23 23 23 23 24 24 25 25 25 25 25 25 25 25 24 24 24 25 26 27 28 29 30 30 31 31 32 32 30 29 27 25 25 25 25 25 25 25 25 24 23 21 21 21 22 23 23 24 23 23 22 22 22 22 22 21 20 19 18 17 17 16 15 14 13 11 10 9 9 9 9 10 10 11 11 12 12 13 14 14 14 13 12 12 12 12 13 14 14 16 16 17 18 18 18 19 19 20 21 22 24 25 26 26 25 25 24 24 23 23 24 25 27 28 29 30 30 29 29 29 29 30 31 31 28 21 11 1 -5 -6 -4 -2 -0 1 1 2 3 4 5 7 7 7 7 7 7 8 9 9 9 9 9 8 8 8 8 8 8 7 6 -0 -2 -3 -5 -6 -6 -5 -4 -1 -0 1 0 -0 -1 -3 -4 -7 -9 -10 -11 -10 -8 -7 -5 -3 0 3 4 2 -1 -4 -6 -8 -10 -11 -12 -12 -12 -12 -13 -14 -15 -14 -12 -10 -8 -7 -6 -5 -4 -4 -4 -3 -4 -4 -5 -7 -8 -10 -13 -15 -17 -18 -19 -20 -20 -21 -21 -22 -22 -23 -23 -24 -24 -25 -26 -27 -27 -27 -27 -28 -29 -28 -29 -31 -33 -33 -32 -31 -29 -29 -29 -27 -23 -18 -17 -13 -7 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -6 -6 -5 -3 -2 -1 0 1 1 0 -0 -1 -1 -0 1 3 4 5 5 4 3 2 1 -0 -1 -1 -0 0 1 1 2 2 3 4 5 5 4 1 -1 -3 -2 1 5 7 7 4 2 -0 -1 -0 1 3 4 5 5 5 6 6 7 6 6 6 6 5 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 8 9 10 11 12 13 14 15 15 16 16 16 17 17 17 17 17 17 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 21 21 22 22 23 23 23 23 23 23 24 25 25 26 26 26 26 26 26 25 25 25 25 25 27 28 29 30 30 30 31 31 32 32 32 31 29 28 28 28 28 27 27 26 26 25 23 21 21 22 23 23 24 24 24 23 22 22 22 22 22 21 21 20 19 18 17 17 16 15 13 12 11 10 9 9 10 10 11 11 11 12 12 13 13 14 14 13 12 12 12 12 13 13 14 15 16 17 17 18 18 18 19 20 21 23 24 26 26 27 26 26 25 25 24 24 24 25 26 28 29 31 31 31 31 31 31 33 34 35 34 31 24 14 2 -6 -6 -4 -2 -1 1 1 2 3 4 5 6 6 6 6 7 7 7 8 8 8 8 8 8 8 8 8 7 7 5 -1 -3 -5 -7 -8 -8 -7 -6 -3 -0 1 1 1 0 -0 -2 -4 -6 -8 -9 -8 -8 -7 -5 -3 -0 2 3 1 -2 -5 -6 -8 -9 -10 -11 -11 -11 -12 -13 -15 -15 -14 -12 -10 -8 -7 -5 -4 -3 -3 -3 -3 -3 -4 -5 -7 -9 -10 -12 -14 -16 -17 -18 -19 -20 -21 -21 -21 -21 -22 -23 -23 -23 -24 -25 -26 -26 -27 -28 -28 -28 -27 -28 -30 -32 -34 -34 -33 -31 -29 -28 -27 -24 -19 -19 -17 -12 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -6 -6 -5 -3 -2 -1 -0 0 0 -0 -1 -2 -2 -3 -2 -1 1 3 4 5 4 3 2 1 -0 -1 -1 -0 0 0 1 1 2 3 4 5 5 3 1 -2 -3 -1 2 6 7 5 1 -1 -2 -2 -1 0 2 3 3 4 5 6 6 7 6 6 6 5 5 4 3 3 2 2 2 2 3 3 4 4 4 5 5 5 6 6 6 6 6 6 6 7 7 8 9 10 11 12 13 14 15 15 16 16 16 17 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 20 20 21 21 22 23 23 23 23 23 24 24 25 25 26 27 27 28 28 28 27 27 26 26 26 27 28 29 29 30 30 30 31 31 31 32 32 32 32 31 31 30 29 28 28 27 27 24 23 22 22 23 23 23 24 25 25 24 22 22 21 21 21 21 21 20 19 19 18 17 16 15 14 13 12 11 11 10 11 11 11 11 11 12 12 12 13 13 13 13 12 12 12 12 13 13 14 14 15 16 17 17 17 18 18 19 21 23 25 26 27 28 28 27 27 26 26 25 25 25 26 28 29 31 32 32 32 33 33 34 36 38 38 37 34 28 18 4 -3 -6 -4 -2 -1 0 1 1 2 3 4 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 6 5 -2 -4 -6 -7 -8 -9 -9 -8 -5 -2 -0 0 1 1 1 -0 -2 -4 -5 -6 -7 -7 -6 -5 -4 -1 1 2 1 -2 -4 -6 -7 -8 -9 -10 -11 -13 -13 -13 -13 -13 -12 -12 -10 -8 -5 -3 -3 -3 -3 -3 -2 -3 -3 -5 -6 -8 -10 -11 -13 -15 -16 -18 -19 -20 -21 -21 -20 -20 -21 -22 -23 -24 -24 -25 -25 -26 -26 -27 -27 -27 -27 -28 -29 -30 -32 -33 -33 -31 -28 -27 -26 -25 -21 -18 -16 -12 -7 -6 -7 -8 -8 -9 -9 -8 -8 -8 -8 -9 -8 -8 -8 -9 -9 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 -1 -0 -1 -1 -2 -3 -3 -4 -4 -3 -1 1 2 3 3 3 2 2 1 1 0 0 0 0 0 1 2 3 5 5 5 3 0 -2 -2 -0 4 6 6 3 -0 -3 -3 -3 -2 -0 1 1 2 3 4 5 5 5 5 5 5 4 4 3 3 2 2 1 1 2 2 3 3 3 4 4 4 5 5 6 6 6 6 6 6 7 7 8 9 9 10 11 12 13 14 15 15 16 17 17 18 18 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 21 22 22 23 24 24 24 24 24 25 25 26 27 27 28 29 29 29 29 29 28 28 28 28 29 29 30 30 30 30 30 31 31 31 32 32 32 33 33 33 31 30 29 28 28 26 23 23 23 23 23 23 24 25 25 25 24 23 22 21 21 21 21 20 20 19 19 18 18 17 16 15 14 13 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 12 12 12 13 13 13 14 14 15 16 16 16 17 18 19 20 22 24 26 28 28 28 28 28 28 27 26 26 26 26 27 29 31 32 33 33 34 34 35 37 39 40 41 40 38 33 23 9 -1 -5 -4 -2 -1 -1 -0 0 0 1 2 3 4 4 4 5 5 6 7 7 7 7 7 7 7 6 6 5 -2 -3 -5 -6 -8 -10 -10 -9 -7 -4 -2 -1 1 2 2 1 0 -1 -2 -4 -5 -6 -6 -5 -4 -2 0 1 0 -1 -3 -5 -6 -8 -9 -11 -12 -13 -13 -12 -12 -11 -11 -11 -9 -7 -5 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -7 -9 -11 -12 -13 -15 -17 -19 -20 -20 -20 -20 -19 -20 -22 -24 -26 -26 -25 -25 -25 -26 -27 -27 -27 -26 -26 -27 -28 -29 -31 -32 -32 -29 -27 -26 -25 -22 -17 -15 -13 -8 -6 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 -1 -2 -2 -3 -3 -4 -5 -5 -4 -3 -2 -0 1 1 2 2 2 2 2 2 1 0 0 0 1 2 3 5 6 5 3 1 -1 -1 1 5 7 5 2 -1 -3 -4 -3 -1 -0 0 0 1 2 3 3 4 3 3 3 3 3 3 2 2 2 2 1 2 2 2 2 3 3 3 4 4 4 5 5 5 5 6 6 6 6 7 8 8 9 10 11 11 12 13 14 15 15 16 17 18 18 19 19 20 20 20 20 20 20 21 21 20 20 20 20 20 20 21 22 23 23 24 24 25 25 25 26 26 27 28 29 29 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 31 32 32 33 33 33 33 33 32 31 30 30 29 27 24 23 23 24 24 23 23 24 25 25 25 24 23 22 22 21 21 20 20 20 19 19 19 18 17 17 16 15 14 14 13 13 13 13 13 13 13 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 15 15 16 16 17 19 21 24 26 27 28 28 28 28 28 28 27 27 27 27 28 29 31 32 33 34 35 35 36 37 39 41 42 43 43 40 35 27 15 2 -5 -4 -4 -3 -2 -2 -2 -1 -0 1 2 3 3 4 4 5 6 6 6 6 6 6 6 5 5 4 -0 -1 -3 -5 -7 -9 -10 -9 -7 -4 -2 -0 1 2 3 3 2 1 -1 -2 -4 -5 -4 -3 -2 -0 1 2 1 -0 -3 -5 -7 -8 -10 -11 -12 -12 -12 -11 -10 -10 -10 -10 -9 -7 -6 -6 -5 -4 -4 -4 -3 -3 -3 -4 -5 -7 -9 -10 -12 -13 -15 -17 -19 -20 -20 -20 -19 -19 -20 -22 -25 -27 -27 -26 -25 -25 -26 -26 -27 -27 -26 -26 -26 -27 -28 -29 -31 -32 -31 -30 -27 -25 -21 -17 -16 -14 -10 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -3 -4 -4 -4 -5 -5 -4 -4 -3 -2 -1 -0 0 1 2 2 2 1 0 -0 0 1 2 4 5 6 6 4 1 -1 -1 2 6 7 5 1 -2 -3 -3 -2 -1 -0 -0 -1 -0 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 7 7 8 8 9 10 10 11 12 13 14 14 15 16 17 18 19 19 20 21 21 21 21 21 21 21 21 21 21 21 21 21 22 23 24 24 25 25 26 26 26 27 28 29 29 30 31 32 32 32 32 32 32 32 32 32 32 32 31 30 30 29 30 30 31 32 33 34 34 34 33 33 32 31 31 30 29 26 24 24 25 25 24 24 24 25 25 25 25 24 23 22 22 21 21 20 20 20 19 19 19 19 18 17 17 16 16 15 14 14 14 14 14 14 13 13 13 13 13 13 13 13 14 14 14 13 13 13 12 12 12 12 13 13 13 14 14 16 17 20 22 25 26 27 27 27 28 28 28 27 27 27 28 28 29 31 32 34 35 35 36 36 37 38 40 42 43 43 43 41 37 30 20 4 -3 -5 -5 -5 -5 -4 -3 -2 -1 -0 1 2 3 3 4 5 5 5 5 4 4 3 3 3 2 1 0 -1 -3 -6 -8 -9 -8 -6 -3 -2 -1 -1 0 3 5 4 2 1 -1 -2 -2 -2 -1 0 1 2 2 1 -1 -3 -5 -7 -8 -9 -10 -10 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -7 -6 -4 -4 -4 -4 -4 -3 -3 -4 -6 -8 -10 -11 -13 -15 -17 -19 -20 -20 -20 -19 -19 -20 -22 -24 -26 -26 -25 -24 -24 -25 -26 -27 -27 -27 -27 -27 -28 -28 -29 -30 -32 -33 -32 -30 -27 -22 -16 -15 -15 -13 -7 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -4 -3 -2 -1 0 1 1 0 -0 -1 -0 0 1 3 5 6 7 6 3 1 -1 -0 4 7 7 4 0 -2 -3 -2 -1 -0 -0 -1 -1 -0 1 1 1 1 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 3 4 4 4 4 4 4 4 4 4 5 6 6 7 8 8 8 9 9 10 10 11 12 13 14 15 16 17 18 19 20 21 21 22 22 22 22 22 22 22 22 22 23 23 24 25 25 26 26 26 26 27 27 28 29 29 30 31 32 33 33 33 33 33 34 34 34 34 33 32 31 30 30 29 29 30 31 32 33 34 34 34 34 32 31 31 31 30 28 26 25 26 26 26 25 25 25 25 26 26 25 24 24 23 22 22 21 21 20 20 20 20 19 19 19 18 18 17 17 16 16 15 15 14 14 14 14 13 13 13 13 13 13 14 14 14 14 14 14 13 12 12 12 11 11 11 11 12 12 14 16 18 21 23 25 26 26 26 26 26 27 27 27 28 29 29 30 31 32 34 35 36 36 37 37 38 39 41 42 42 42 42 41 38 33 25 9 -2 -7 -7 -6 -5 -4 -4 -3 -2 -1 0 1 2 3 3 3 3 3 2 2 1 1 1 0 2 1 -1 -3 -6 -7 -7 -6 -3 -0 -1 -2 -1 1 4 5 5 3 2 -0 -1 -1 -1 -0 0 1 1 0 -1 -3 -4 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -10 -8 -6 -6 -5 -5 -5 -4 -3 -3 -4 -6 -8 -10 -11 -12 -15 -17 -18 -20 -20 -20 -20 -20 -21 -22 -23 -24 -25 -24 -24 -24 -24 -25 -26 -27 -27 -28 -28 -29 -29 -29 -29 -31 -32 -33 -32 -29 -25 -19 -16 -15 -15 -10 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -2 -1 -0 0 -0 -1 -1 -1 -1 0 2 4 6 7 8 6 3 -0 -1 1 5 7 6 2 -1 -3 -3 -1 -0 -0 -1 -1 -1 0 1 1 1 0 1 1 1 1 2 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 5 6 7 7 7 7 7 8 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 22 23 23 23 23 23 23 24 25 25 26 27 27 27 27 27 27 27 28 28 29 30 31 32 33 33 34 34 34 35 35 35 35 35 33 32 31 30 29 29 29 30 30 31 32 34 34 34 33 32 32 31 30 29 27 26 27 28 28 27 26 26 27 27 27 27 26 25 24 23 23 22 22 21 21 21 21 20 20 20 20 20 19 19 18 18 17 16 15 15 14 14 14 13 13 13 13 13 13 14 15 15 15 15 15 14 13 12 12 11 11 10 10 10 11 12 14 17 19 21 23 24 25 25 25 25 25 26 27 28 29 30 31 32 33 34 35 36 37 37 37 38 39 40 41 41 41 41 41 41 39 35 28 14 -1 -5 -6 -6 -5 -4 -3 -2 -1 -1 0 1 1 2 2 2 1 1 0 -1 -1 -1 -1 1 0 -1 -4 -5 -6 -5 -3 0 2 -0 -1 -1 1 4 5 4 3 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -7 -7 -8 -9 -11 -12 -13 -13 -12 -10 -9 -8 -7 -6 -6 -5 -4 -3 -3 -4 -5 -7 -9 -10 -12 -14 -16 -18 -19 -20 -21 -22 -22 -22 -22 -23 -24 -24 -25 -25 -24 -24 -25 -26 -27 -28 -28 -29 -29 -29 -29 -29 -29 -31 -32 -33 -31 -29 -25 -20 -18 -20 -17 -7 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -2 -3 -3 -3 -3 -4 -5 -5 -5 -5 -4 -2 -1 0 0 -0 -2 -2 -2 -1 1 3 6 7 8 7 4 1 -1 -1 2 5 6 4 1 -1 -2 -1 0 0 -0 -1 -1 0 1 2 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 4 5 5 6 6 6 7 7 7 7 8 8 10 11 12 14 15 16 17 18 19 20 21 22 23 23 24 24 24 24 25 26 26 27 28 28 28 28 28 28 28 28 28 28 29 29 30 31 32 33 34 34 35 36 36 36 35 34 33 31 30 30 29 29 29 30 30 31 32 33 34 34 33 32 32 31 30 29 28 28 29 29 29 28 28 28 28 28 28 28 27 26 25 24 24 23 22 22 22 22 21 21 21 21 21 21 21 20 20 19 18 17 16 15 15 14 14 13 13 13 12 13 13 15 16 16 17 16 16 15 14 13 13 12 11 11 10 10 10 12 13 16 18 20 22 23 24 25 24 25 25 26 27 28 29 30 32 32 33 34 35 36 37 37 38 38 39 39 40 40 40 40 41 41 41 40 36 31 22 7 1 -2 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 1 0 -0 -1 -2 -2 -1 -1 0 -0 -1 -3 -4 -4 -2 0 3 3 0 -0 -0 1 3 4 2 0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -8 -8 -7 -6 -7 -8 -10 -11 -13 -14 -13 -12 -11 -10 -9 -7 -6 -5 -4 -3 -3 -3 -4 -5 -7 -8 -9 -11 -14 -16 -17 -18 -20 -21 -23 -23 -23 -23 -23 -24 -24 -25 -25 -25 -25 -25 -26 -27 -28 -28 -28 -29 -30 -31 -30 -30 -31 -33 -33 -31 -29 -27 -22 -19 -20 -20 -9 -4 -4 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -4 -3 -3 -2 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -4 -2 -1 0 1 -0 -2 -3 -3 -1 2 4 7 8 8 6 2 -1 -2 -0 3 6 4 2 0 -0 1 2 2 1 -1 -1 -0 1 2 2 1 1 2 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 7 8 9 10 11 13 14 15 16 17 18 20 21 22 23 24 24 25 25 26 26 27 28 28 29 29 28 28 28 28 28 28 28 28 29 29 30 30 31 32 33 34 35 35 35 35 34 33 32 31 30 29 29 29 29 29 30 30 31 32 33 33 33 32 32 31 30 30 31 31 31 30 30 29 29 30 30 31 31 30 30 28 27 26 25 24 23 23 23 22 22 22 22 22 22 21 21 21 21 20 19 18 17 16 15 15 14 14 13 13 12 12 13 15 16 17 17 17 17 16 15 14 14 13 13 12 11 11 11 11 13 14 16 18 20 22 24 24 25 25 25 25 26 27 29 30 32 33 34 35 36 36 37 38 38 39 39 40 40 40 40 40 40 40 41 41 41 39 35 30 23 14 7 4 2 1 0 0 0 0 0 0 1 0 -0 -1 -2 -3 -2 -1 1 -1 -1 -1 -1 -0 -1 -1 1 3 3 1 -0 1 2 3 3 0 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -8 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -11 -9 -7 -5 -3 -2 -3 -4 -5 -5 -6 -6 -7 -9 -11 -13 -15 -16 -18 -19 -21 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -26 -26 -26 -27 -28 -29 -30 -31 -31 -32 -32 -32 -34 -35 -35 -32 -29 -29 -28 -26 -23 -22 -13 -6 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 1 1 1 0 0 -0 -1 -2 -3 -4 -4 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -0 1 1 1 -1 -2 -2 -0 3 6 8 8 6 3 -0 -2 -1 2 4 5 3 1 2 3 4 4 2 0 -1 -0 1 2 2 2 2 2 3 4 3 3 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 6 6 7 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 25 26 27 27 28 28 28 29 28 28 28 28 28 28 28 28 29 29 29 30 30 30 30 31 32 33 34 34 33 33 32 31 30 29 29 29 29 29 29 30 30 31 32 32 33 32 32 31 31 32 32 33 34 33 32 31 31 31 32 32 33 33 33 32 31 29 28 26 24 24 23 23 23 23 23 23 22 22 22 22 22 22 22 21 20 18 17 16 15 15 15 14 13 12 12 13 15 16 17 18 18 18 18 17 16 15 15 14 14 13 12 12 12 12 13 15 16 18 21 23 24 25 25 25 25 26 27 28 30 31 33 34 35 36 37 37 38 38 39 40 41 42 42 42 42 41 41 40 41 41 41 40 38 36 33 28 22 15 10 8 6 4 3 3 1 0 -1 -3 -4 -5 -4 -3 -1 2 -0 0 1 2 3 1 0 1 3 3 1 1 2 2 2 1 -1 -3 -3 -3 -3 -3 -2 -3 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -10 -9 -8 -8 -8 -9 -10 -11 -11 -12 -13 -13 -12 -10 -8 -6 -4 -2 -2 -3 -5 -6 -6 -6 -6 -7 -8 -10 -12 -14 -16 -17 -19 -21 -23 -25 -26 -26 -26 -26 -26 -26 -26 -25 -26 -26 -27 -27 -28 -29 -31 -32 -33 -33 -33 -34 -36 -38 -37 -34 -31 -31 -32 -29 -24 -21 -14 -8 -4 -3 -3 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 2 2 2 1 1 0 -1 -2 -3 -4 -5 -5 -5 -4 -3 -2 -1 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -0 1 2 1 -0 -1 -1 1 4 6 7 6 4 1 -2 -1 1 4 4 3 2 2 4 5 6 4 1 -0 -0 1 3 3 2 2 2 4 4 4 4 4 4 5 5 5 4 4 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 9 10 11 11 13 14 16 18 19 20 21 22 23 24 24 25 26 27 27 28 28 28 28 28 28 28 28 29 29 29 29 29 29 30 30 30 29 29 29 30 31 31 32 32 32 31 31 30 30 29 29 28 28 29 29 30 30 31 32 32 32 32 32 32 32 33 34 35 35 34 33 33 33 34 34 34 35 35 36 35 33 32 30 28 26 25 24 23 23 23 23 23 23 23 22 22 23 23 23 22 21 20 18 17 17 17 16 15 14 13 13 14 15 16 16 17 18 19 19 18 17 16 16 16 15 15 14 13 12 12 13 14 15 17 20 21 23 24 24 24 25 26 27 28 29 30 32 33 35 36 37 38 38 38 39 40 41 43 44 44 44 44 43 41 40 40 39 39 39 37 36 33 31 27 23 19 15 12 11 9 8 6 3 0 -3 -4 -4 -2 -0 2 1 1 2 4 5 3 1 1 2 3 3 2 3 3 1 -1 -3 -3 -4 -3 -3 -3 -2 -3 -3 -4 -5 -7 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -9 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -4 -2 -2 -3 -5 -6 -6 -6 -6 -6 -7 -8 -10 -12 -14 -16 -17 -18 -20 -23 -25 -27 -27 -27 -27 -27 -27 -26 -26 -26 -27 -28 -28 -28 -29 -31 -32 -33 -34 -34 -36 -38 -41 -41 -38 -34 -35 -36 -35 -29 -22 -17 -12 -7 -2 -2 -2 -1 -1 -0 0 1 1 2 3 3 4 4 4 3 3 2 1 0 -1 -2 -3 -4 -5 -4 -3 -2 -1 -1 -0 0 0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -1 -0 1 1 1 -0 -1 0 2 5 7 6 5 2 -0 -0 2 4 4 3 2 2 4 6 7 5 2 -0 -0 1 2 3 2 2 2 4 5 5 4 4 4 5 5 5 5 5 5 5 6 7 7 7 7 6 6 6 6 6 6 6 6 7 7 8 8 9 9 9 9 10 10 10 10 10 10 10 11 11 12 13 14 16 18 19 21 22 23 23 24 24 25 26 26 27 28 28 28 28 28 28 28 28 29 29 29 29 29 30 30 30 30 30 29 29 29 29 29 30 30 31 31 31 31 30 30 29 29 29 29 29 29 30 31 31 32 32 32 32 32 32 33 34 35 35 35 35 35 35 36 36 36 37 37 37 37 37 36 34 32 30 28 26 25 24 24 24 24 24 23 23 23 23 23 23 23 23 23 21 20 19 19 18 17 16 15 14 14 14 15 15 16 17 18 19 19 19 18 18 17 17 17 17 16 15 13 13 13 13 15 17 19 21 22 23 23 23 24 25 26 27 28 29 31 32 34 35 36 37 38 38 39 40 41 42 44 46 47 47 46 44 42 40 39 38 37 36 33 31 28 25 23 21 19 17 16 15 14 12 10 8 6 4 4 4 4 4 2 2 3 5 7 5 3 2 4 5 5 4 3 1 -1 -3 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -8 -10 -10 -11 -10 -10 -10 -11 -11 -10 -9 -10 -10 -11 -10 -10 -9 -8 -7 -6 -6 -5 -3 -3 -3 -4 -5 -6 -6 -6 -5 -6 -6 -8 -9 -11 -14 -16 -18 -19 -20 -22 -24 -26 -26 -27 -27 -27 -28 -27 -27 -28 -29 -30 -30 -30 -30 -31 -32 -33 -34 -34 -36 -40 -43 -43 -41 -38 -37 -38 -37 -33 -26 -21 -16 -9 -3 -1 -1 -0 0 1 2 2 3 4 4 5 5 5 5 4 4 3 2 2 0 -1 -2 -3 -4 -3 -2 -1 -0 0 1 1 1 0 0 0 0 0 0 -0 -1 -1 -1 -0 0 1 1 1 0 -0 1 3 5 6 5 4 2 1 3 5 5 4 2 2 4 6 7 6 3 0 -1 1 3 4 3 2 3 4 5 5 4 4 4 5 5 6 5 5 5 5 6 7 7 8 7 7 7 7 6 6 6 7 7 7 8 8 9 10 11 11 11 11 12 12 12 12 12 13 13 13 14 14 15 17 18 20 21 22 23 24 24 25 25 26 26 27 27 28 28 29 28 28 28 29 29 29 29 29 29 30 30 30 30 30 30 29 29 29 29 29 29 30 30 30 31 30 30 29 29 29 29 29 29 30 30 31 31 31 31 32 32 32 32 33 33 33 34 34 35 36 37 37 38 38 38 39 39 39 38 37 36 34 32 30 28 26 25 24 24 24 24 24 24 24 23 24 24 24 24 24 23 22 22 21 21 19 18 17 16 16 16 15 15 16 16 17 19 19 20 19 19 18 18 18 18 17 16 15 14 14 14 15 17 19 20 21 22 23 23 24 25 26 27 28 28 29 31 32 34 35 36 37 38 38 38 39 41 43 45 47 48 48 47 45 43 41 39 38 36 33 30 26 23 20 18 16 16 15 15 15 14 14 12 10 8 6 6 5 5 3 3 4 6 8 6 5 5 6 7 5 3 1 -1 -3 -4 -5 -5 -4 -3 -3 -2 -2 -3 -4 -5 -6 -8 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -11 -11 -10 -9 -7 -5 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -11 -14 -17 -19 -19 -20 -21 -22 -23 -25 -26 -27 -27 -28 -29 -29 -30 -30 -31 -32 -31 -31 -31 -32 -32 -33 -33 -36 -40 -43 -44 -42 -40 -38 -37 -36 -34 -30 -25 -19 -13 -7 -2 -0 1 1 2 3 4 4 5 5 6 6 6 6 5 4 4 3 3 2 0 -1 -2 -2 -2 -1 -0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 2 1 0 1 1 3 5 5 4 4 4 5 6 6 4 3 2 4 7 8 6 3 0 -1 1 3 4 4 3 3 4 5 5 5 4 4 4 6 6 6 6 5 5 6 7 8 8 8 8 8 7 7 7 7 7 7 8 8 8 9 10 11 12 12 13 13 13 14 14 15 15 15 16 16 16 17 18 19 21 22 23 23 24 25 25 26 26 27 27 27 28 28 29 29 29 29 29 29 30 29 29 29 29 30 30 30 30 30 30 29 29 29 29 29 30 30 31 31 31 30 30 30 29 29 29 29 30 30 30 30 30 30 31 31 32 31 32 32 32 32 33 34 35 37 38 38 38 39 39 39 40 40 39 38 37 36 34 32 30 28 27 26 25 25 25 25 25 25 24 24 25 25 25 25 24 24 24 24 23 22 20 19 18 17 17 17 16 16 16 17 18 19 20 20 20 20 19 19 18 18 17 16 15 15 15 16 18 19 20 21 22 22 23 24 25 26 27 27 28 29 30 31 32 33 35 36 36 37 37 38 39 40 42 44 46 47 47 47 45 43 42 40 38 36 33 29 25 22 19 17 17 16 15 14 14 13 12 10 8 7 6 5 5 4 3 4 6 7 6 5 5 5 5 3 0 -2 -4 -5 -5 -5 -5 -4 -3 -2 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -11 -11 -10 -8 -5 -3 -1 -1 -2 -4 -4 -5 -7 -7 -7 -7 -6 -5 -6 -5 -5 -5 -5 -6 -8 -10 -13 -17 -19 -19 -19 -20 -21 -22 -23 -25 -26 -27 -29 -30 -31 -31 -32 -32 -32 -32 -31 -31 -31 -32 -32 -34 -36 -40 -42 -42 -41 -40 -39 -37 -34 -32 -30 -26 -23 -18 -12 -5 0 1 2 3 4 4 5 5 6 6 6 6 6 5 5 4 4 3 2 1 0 -0 -1 -0 1 1 2 2 3 3 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 3 4 4 5 6 6 6 4 3 3 5 8 9 7 4 1 0 2 4 5 5 4 3 3 4 5 5 4 4 4 6 7 7 7 5 5 6 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 10 11 12 12 13 13 14 15 15 16 17 17 17 18 18 19 19 21 22 23 23 24 24 25 26 26 27 27 28 28 29 29 29 29 29 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 31 32 32 31 31 30 30 30 30 30 30 30 29 29 29 28 29 30 31 31 31 31 31 31 32 32 34 35 36 37 38 39 39 39 39 40 40 40 39 38 37 35 34 32 30 28 27 27 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 24 22 21 20 19 19 19 18 18 17 17 18 19 20 21 21 21 20 20 19 18 17 16 16 16 16 17 18 19 20 21 22 23 23 24 25 26 27 27 28 29 30 30 31 32 33 34 34 35 35 36 37 38 39 41 42 43 45 45 45 45 44 43 42 40 37 34 31 28 25 23 22 21 19 18 16 15 14 12 11 9 8 7 6 4 3 4 4 4 3 3 3 4 3 0 -3 -5 -6 -7 -7 -6 -6 -5 -4 -3 -2 -3 -4 -6 -6 -7 -7 -8 -9 -10 -12 -14 -14 -14 -13 -12 -11 -10 -7 -4 -1 0 1 -1 -3 -5 -6 -8 -9 -9 -8 -7 -6 -6 -6 -5 -4 -4 -4 -6 -8 -10 -13 -16 -18 -18 -18 -19 -20 -21 -22 -24 -25 -27 -28 -30 -31 -31 -32 -32 -33 -33 -33 -32 -32 -32 -33 -35 -38 -40 -40 -38 -37 -37 -37 -35 -32 -29 -27 -24 -21 -17 -13 -8 -1 2 3 3 4 4 4 5 5 5 6 6 5 5 4 4 3 3 3 2 1 1 1 1 2 3 3 4 4 4 3 2 2 1 2 2 3 3 3 3 2 2 3 3 2 2 1 1 1 1 2 4 5 6 7 6 4 2 2 4 8 10 9 6 3 1 3 5 6 6 4 3 3 3 4 4 4 4 5 6 7 8 7 6 5 5 6 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 10 10 11 12 13 13 14 15 15 16 17 18 18 19 19 20 20 21 23 23 24 24 25 25 26 27 27 28 28 29 29 30 30 30 30 31 31 31 31 31 31 30 30 30 30 30 30 30 31 31 31 31 31 31 31 32 32 32 33 33 32 32 31 31 30 30 30 30 29 29 28 27 28 28 29 30 30 30 30 30 30 31 32 33 34 35 37 38 39 39 39 39 39 40 40 40 39 38 36 35 33 32 30 29 28 28 27 28 28 28 27 27 27 27 27 27 27 28 28 28 27 26 25 24 22 21 21 21 20 20 19 19 19 19 20 21 22 22 22 21 20 19 18 17 16 16 17 17 18 20 21 22 23 23 24 24 25 25 26 27 28 29 30 30 31 31 31 32 32 32 33 34 35 36 36 37 38 39 40 42 43 43 43 43 42 41 40 38 36 34 31 29 27 25 24 22 21 19 18 17 15 14 12 11 10 3 3 3 2 1 1 1 2 2 0 -3 -5 -7 -8 -8 -8 -8 -7 -6 -4 -3 -3 -4 -5 -6 -6 -6 -6 -6 -7 -9 -12 -13 -14 -14 -13 -11 -9 -7 -3 -1 1 0 -1 -4 -5 -7 -8 -9 -9 -8 -7 -6 -6 -6 -6 -5 -4 -3 -4 -6 -8 -10 -12 -14 -15 -16 -17 -18 -19 -20 -22 -23 -23 -24 -26 -28 -30 -32 -33 -34 -34 -33 -33 -33 -34 -34 -35 -36 -38 -40 -39 -36 -32 -32 -32 -30 -28 -26 -24 -25 -23 -19 -14 -8 -2 2 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2 3 3 4 5 5 6 5 4 3 3 2 2 3 3 3 3 3 3 3 3 3 2 2 1 1 0 0 2 4 6 7 7 5 3 2 3 7 10 10 6 3 2 3 6 7 6 5 3 3 3 3 4 4 5 5 6 7 8 8 6 4 4 5 7 9 9 8 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 12 13 13 14 15 16 16 17 18 18 19 20 21 22 23 24 24 24 24 25 25 26 27 28 29 29 30 31 31 32 32 32 32 32 32 32 31 31 31 31 31 31 31 31 32 32 33 33 33 33 33 33 33 33 34 34 34 33 32 32 31 31 31 30 30 29 28 27 27 28 29 29 29 29 29 29 29 30 31 32 33 34 35 36 37 38 38 38 38 39 39 40 40 39 38 37 36 34 33 31 30 29 29 29 29 29 29 29 28 28 28 28 28 28 29 29 29 29 28 27 26 25 24 23 22 22 22 22 21 20 20 20 21 22 23 23 22 21 19 18 17 17 16 17 17 18 20 21 22 23 24 24 24 24 24 25 26 27 28 29 30 30 31 30 30 30 30 31 32 33 33 34 34 35 36 37 38 39 40 40 40 39 39 38 38 37 35 34 31 29 27 26 24 23 22 21 20 19 18 17 16 15 2 1 1 0 -1 -2 -2 -1 -1 -3 -6 -8 -9 -10 -10 -10 -10 -8 -6 -5 -4 -4 -4 -4 -5 -5 -6 -5 -5 -6 -8 -10 -12 -13 -12 -11 -9 -6 -2 0 -0 -2 -3 -4 -5 -6 -7 -7 -7 -6 -7 -7 -8 -7 -6 -4 -3 -3 -3 -4 -6 -9 -11 -12 -13 -13 -14 -15 -16 -18 -19 -21 -22 -23 -24 -25 -27 -29 -31 -33 -34 -34 -34 -34 -34 -35 -36 -37 -37 -37 -37 -35 -32 -28 -27 -27 -26 -25 -25 -28 -28 -24 -20 -19 -19 -14 -6 1 3 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 6 7 7 7 6 5 4 3 3 3 4 4 4 4 4 3 3 2 2 2 1 1 0 0 2 4 6 7 6 4 2 3 5 8 9 7 3 2 3 5 7 6 5 4 3 3 3 3 4 4 5 6 7 8 8 6 4 3 4 6 8 9 8 7 7 7 7 8 8 8 8 9 9 9 10 10 11 11 12 12 13 13 14 15 15 16 17 18 18 19 20 21 22 23 24 24 24 24 24 25 26 27 28 29 30 31 32 32 33 33 33 34 33 33 32 32 32 31 31 32 32 32 33 34 34 34 35 35 34 34 34 34 35 35 35 34 34 33 33 32 32 31 30 30 29 28 28 28 29 29 29 29 28 28 28 29 30 31 31 32 33 34 35 36 37 37 38 38 38 38 39 39 39 39 38 37 36 34 33 32 31 30 30 30 30 30 30 30 29 29 29 29 30 30 30 31 30 30 29 28 27 26 25 24 24 24 24 23 23 22 21 21 22 23 23 23 22 20 19 18 17 17 17 17 18 20 21 22 23 23 23 23 23 23 24 25 26 27 28 29 30 30 30 30 29 29 29 29 30 31 32 32 33 34 35 36 37 38 38 38 37 36 35 34 34 33 32 31 29 27 26 25 24 23 22 22 21 21 21 21 20 -0 -2 -2 -3 -4 -4 -3 -3 -4 -7 -10 -11 -11 -12 -12 -12 -11 -9 -7 -5 -4 -4 -3 -3 -3 -4 -5 -4 -3 -4 -6 -8 -10 -10 -10 -8 -6 -3 -1 -1 -4 -7 -7 -5 -4 -4 -5 -4 -3 -4 -6 -8 -9 -8 -5 -3 -2 -3 -3 -5 -6 -8 -10 -11 -12 -12 -14 -15 -16 -17 -18 -19 -20 -22 -23 -25 -27 -29 -32 -33 -35 -35 -35 -35 -34 -35 -36 -37 -35 -32 -29 -28 -26 -24 -25 -24 -24 -25 -27 -32 -31 -24 -17 -15 -18 -20 -13 -4 1 1 -0 -0 -0 -0 -0 0 0 1 1 1 1 1 1 1 1 1 2 2 3 5 6 7 8 9 8 8 7 6 5 4 4 5 5 4 4 4 3 3 2 2 1 1 1 0 1 3 5 6 6 5 3 3 4 6 7 6 3 1 2 4 6 6 5 4 3 4 4 3 3 3 4 6 7 8 8 7 5 3 3 5 8 9 8 7 6 6 7 7 7 7 8 8 9 9 10 10 11 11 12 12 13 13 13 14 15 15 16 16 17 18 19 19 20 22 22 23 23 23 24 25 25 26 27 28 29 30 31 32 33 34 35 35 35 34 33 33 32 32 32 32 33 33 33 34 34 35 35 36 36 36 35 35 36 36 36 36 36 35 34 34 33 32 32 31 30 29 29 29 30 30 30 29 29 29 29 29 29 30 31 32 32 33 34 35 36 36 37 37 37 37 37 38 39 39 39 39 38 37 36 34 33 32 31 31 31 31 31 31 30 30 30 30 31 31 31 32 32 32 31 31 30 29 28 27 26 26 26 26 25 25 24 23 22 22 23 23 23 23 22 20 19 18 17 17 17 18 20 21 23 23 23 23 23 22 23 23 24 25 26 26 27 29 29 30 29 29 28 28 27 28 28 30 31 32 33 34 35 36 37 37 37 37 36 35 33 31 30 29 28 27 26 26 25 25 24 24 24 24 24 24 24 24 -3 -5 -6 -6 -6 -5 -4 -4 -6 -9 -12 -13 -13 -13 -13 -12 -11 -9 -7 -5 -4 -3 -3 -2 -2 -2 -3 -3 -2 -3 -4 -7 -8 -9 -9 -8 -5 -3 -3 -5 -8 -10 -10 -7 -5 -4 -3 -2 -2 -4 -7 -8 -8 -6 -3 -2 -2 -3 -3 -5 -6 -8 -10 -11 -11 -12 -14 -15 -16 -16 -17 -18 -19 -21 -23 -25 -27 -29 -31 -33 -34 -35 -36 -35 -35 -35 -35 -34 -33 -32 -31 -30 -28 -27 -29 -29 -27 -27 -30 -34 -33 -28 -21 -17 -18 -21 -16 -8 -1 -0 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 1 1 1 1 1 2 3 5 7 9 10 10 10 10 9 8 6 5 5 5 5 4 4 3 3 2 2 1 1 1 1 1 1 3 4 5 5 4 4 5 6 6 5 2 0 1 3 5 5 4 3 3 4 4 4 3 2 3 4 6 7 8 7 5 3 2 4 7 8 9 7 5 5 6 7 7 7 7 8 8 9 10 10 11 11 12 12 13 13 14 14 14 15 15 16 16 17 17 18 19 20 21 22 22 23 23 24 25 26 27 28 29 30 31 32 34 34 35 36 36 35 34 34 33 33 33 33 33 33 33 34 34 34 35 35 35 36 36 36 36 37 37 38 37 37 36 35 34 34 33 32 32 31 31 31 31 31 31 30 30 30 30 30 30 31 31 31 32 33 33 34 34 35 36 36 36 36 36 36 37 37 38 39 39 39 38 37 36 34 33 32 32 32 32 31 31 31 31 31 32 32 32 33 33 33 33 33 32 31 30 29 29 28 28 28 28 27 27 25 24 23 22 22 23 23 24 23 22 20 19 17 17 18 19 20 21 23 23 23 23 22 22 23 23 24 24 25 25 26 28 29 30 30 29 28 27 27 27 27 28 30 31 33 34 35 36 37 37 38 38 37 36 34 33 31 29 28 27 27 26 26 26 26 26 26 26 26 26 27 27 -5 -7 -8 -9 -8 -6 -5 -4 -7 -10 -14 -15 -14 -13 -13 -12 -11 -9 -7 -5 -4 -3 -2 -2 -1 -2 -2 -3 -2 -3 -4 -6 -8 -9 -8 -7 -5 -5 -5 -8 -11 -12 -11 -8 -5 -3 -1 -1 -2 -5 -6 -6 -6 -4 -2 -2 -3 -3 -3 -4 -6 -8 -9 -9 -10 -12 -13 -15 -15 -16 -16 -17 -19 -22 -24 -26 -28 -28 -30 -31 -33 -34 -35 -34 -34 -34 -34 -34 -34 -36 -36 -35 -34 -32 -34 -34 -32 -30 -31 -33 -33 -32 -28 -24 -22 -22 -19 -13 -7 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -0 0 1 1 1 1 1 1 2 4 6 8 9 11 11 11 11 11 9 7 6 6 6 5 4 3 3 2 2 1 1 1 1 1 1 1 2 3 4 4 5 5 6 5 4 2 0 1 2 4 4 2 1 2 3 5 5 4 2 2 2 4 5 7 7 6 4 2 2 5 7 8 8 6 5 5 6 7 7 7 8 8 9 10 10 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 18 18 19 20 21 22 22 23 24 25 26 27 28 29 31 32 34 35 36 37 37 36 36 35 34 34 34 34 34 34 33 33 33 33 33 34 34 35 35 36 36 37 37 38 38 38 38 37 37 36 35 34 33 33 32 32 32 32 32 31 31 31 31 31 32 32 32 32 32 32 32 33 33 34 35 35 36 36 35 35 35 35 36 37 38 39 39 39 38 37 35 34 33 33 32 32 32 31 31 32 32 32 33 33 34 34 34 34 34 33 33 32 31 31 30 30 30 29 29 28 27 26 24 23 23 23 23 24 24 23 22 20 18 18 18 19 20 22 23 24 24 24 23 23 23 23 24 24 24 25 26 28 29 30 30 30 29 28 27 27 27 28 30 31 32 33 34 35 36 37 37 38 38 37 36 34 32 30 29 28 27 27 26 26 26 26 27 27 27 28 28 29 -8 -9 -10 -10 -9 -8 -6 -6 -9 -13 -17 -18 -17 -15 -13 -12 -11 -9 -7 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -4 -6 -8 -8 -8 -6 -6 -6 -8 -10 -12 -12 -10 -8 -5 -2 -1 -1 -3 -4 -4 -3 -2 -1 -0 -2 -3 -3 -3 -4 -6 -7 -7 -8 -10 -11 -13 -15 -15 -15 -16 -17 -19 -22 -25 -27 -27 -27 -28 -30 -32 -33 -33 -33 -33 -34 -34 -36 -37 -38 -38 -38 -37 -36 -35 -34 -33 -31 -29 -28 -30 -32 -33 -31 -27 -25 -23 -21 -16 -10 -4 -5 -5 -5 -5 -5 -4 -3 -2 -0 1 1 2 2 1 1 2 3 4 6 8 10 11 12 12 12 12 10 9 7 6 6 5 4 3 2 2 2 1 1 1 1 1 1 1 1 2 4 5 5 5 5 4 2 1 1 3 4 3 2 -0 -0 2 4 5 4 3 2 1 2 3 5 6 6 5 3 3 4 6 8 8 6 5 5 6 7 8 8 8 8 9 10 11 11 12 12 12 13 13 14 14 15 15 15 15 15 16 16 16 17 17 18 18 19 20 21 22 23 24 25 26 28 29 30 32 33 35 36 37 37 37 37 36 35 35 35 35 35 34 34 33 33 33 32 32 32 33 34 34 35 36 37 37 38 39 38 38 38 37 37 36 35 35 34 34 34 34 33 33 32 32 32 33 33 33 33 33 33 33 32 32 32 33 33 34 35 35 35 35 35 35 35 35 36 37 38 39 40 39 38 36 35 34 34 33 33 32 32 32 32 32 33 33 34 34 35 35 35 35 34 34 33 33 32 32 32 31 31 30 30 28 27 25 24 23 23 23 24 24 24 23 22 20 19 19 19 21 22 24 25 25 25 24 24 24 24 24 25 25 25 27 28 30 31 32 31 30 29 28 28 28 29 30 31 32 33 33 34 35 36 37 37 38 37 36 35 33 31 30 29 28 27 27 26 26 26 26 27 27 27 28 28 -9 -10 -10 -10 -9 -8 -8 -9 -11 -15 -18 -19 -18 -16 -14 -12 -11 -9 -8 -7 -6 -5 -3 -2 -2 -2 -3 -3 -3 -3 -4 -6 -8 -8 -7 -6 -6 -7 -9 -11 -12 -11 -10 -7 -4 -2 -2 -2 -3 -3 -2 -0 1 2 1 -1 -2 -3 -3 -4 -4 -5 -6 -8 -10 -12 -13 -14 -15 -15 -15 -17 -19 -21 -24 -26 -27 -27 -28 -29 -30 -31 -32 -32 -33 -34 -35 -37 -38 -38 -38 -38 -37 -36 -35 -34 -32 -29 -26 -25 -28 -31 -33 -33 -30 -29 -28 -28 -25 -18 -8 -6 -6 -6 -6 -5 -4 -3 -2 -0 1 2 2 2 2 1 2 3 5 7 9 11 12 13 13 13 12 12 10 8 7 6 5 4 3 2 2 2 2 1 2 2 1 1 1 1 2 4 5 5 4 3 2 2 2 2 3 3 1 -1 -1 0 3 4 5 4 3 2 2 2 4 6 6 6 4 3 3 5 7 8 7 5 5 6 7 8 8 8 8 9 10 11 11 12 12 12 13 13 13 14 14 14 15 15 15 15 15 16 16 16 16 17 17 18 19 20 22 23 24 25 27 28 30 31 33 34 36 37 37 37 37 37 36 36 36 35 35 35 35 34 34 33 33 32 32 32 32 33 34 35 36 37 38 38 38 38 38 38 38 38 37 37 37 36 36 35 35 34 34 34 34 34 34 34 35 35 35 34 34 33 32 32 32 33 34 34 35 35 35 35 35 35 35 35 36 38 39 40 39 39 38 36 35 35 34 33 33 33 33 33 33 33 34 34 35 36 36 36 36 35 35 34 34 34 34 33 33 32 32 31 30 28 27 26 25 24 23 24 24 24 24 23 21 20 20 20 21 22 24 25 26 26 26 26 25 25 25 26 26 27 28 29 31 33 33 33 32 31 30 30 30 30 31 31 32 33 33 34 34 35 36 37 37 37 37 36 34 33 31 30 29 28 27 26 25 25 26 26 27 27 27 27 -10 -10 -10 -10 -9 -8 -9 -11 -13 -15 -18 -20 -20 -18 -15 -13 -11 -10 -9 -8 -7 -5 -3 -2 -2 -2 -2 -3 -3 -3 -4 -5 -7 -7 -7 -6 -7 -8 -9 -11 -12 -11 -9 -7 -5 -4 -3 -3 -2 -1 0 2 3 3 2 0 -1 -3 -4 -4 -3 -4 -6 -8 -10 -12 -13 -13 -14 -14 -15 -17 -19 -21 -23 -24 -25 -25 -26 -27 -29 -30 -31 -32 -34 -35 -36 -37 -38 -39 -38 -38 -37 -36 -35 -35 -33 -31 -27 -25 -25 -27 -30 -32 -33 -32 -31 -32 -30 -23 -14 -9 -7 -7 -7 -5 -4 -3 -1 0 2 3 3 2 2 2 2 4 6 8 10 11 12 13 13 13 13 12 11 9 8 7 6 4 3 2 2 2 2 2 2 2 2 1 1 2 2 3 4 4 3 2 1 1 1 2 2 1 -0 -2 -1 1 3 4 4 4 3 2 3 4 5 6 7 6 5 4 5 6 7 7 6 5 5 7 8 8 8 8 9 10 11 11 12 12 12 13 13 13 13 13 14 14 14 14 14 15 15 15 15 15 15 16 16 17 18 20 21 22 24 25 27 28 30 32 33 34 35 36 36 36 36 36 36 36 36 36 36 36 35 35 35 34 34 33 33 33 33 33 34 36 37 38 39 39 38 38 38 38 38 38 38 38 38 38 38 37 37 36 36 36 36 36 36 36 36 36 36 35 34 34 33 33 33 33 33 34 34 35 35 36 36 35 35 35 36 37 38 39 39 39 38 37 37 36 35 35 34 34 34 33 33 33 34 35 36 37 37 37 36 36 35 35 35 35 34 34 34 33 33 32 31 30 28 27 26 25 25 24 24 24 24 24 23 22 21 21 21 22 24 25 26 27 27 27 26 26 26 27 27 28 29 30 31 33 34 35 34 33 32 31 31 31 31 31 32 32 33 33 34 34 35 36 37 38 38 37 36 35 33 31 30 29 28 27 26 26 26 26 26 26 27 27 -10 -10 -11 -10 -9 -8 -10 -11 -13 -15 -17 -19 -20 -19 -16 -14 -12 -11 -10 -9 -8 -6 -4 -3 -2 -2 -2 -3 -3 -4 -4 -5 -7 -7 -7 -7 -7 -8 -8 -10 -11 -11 -9 -7 -7 -6 -5 -3 -1 -1 2 3 4 4 3 1 -2 -4 -5 -5 -5 -5 -7 -8 -10 -11 -11 -12 -13 -13 -14 -16 -17 -19 -21 -23 -24 -24 -25 -28 -30 -31 -32 -34 -35 -36 -36 -37 -38 -39 -39 -38 -37 -36 -36 -35 -34 -31 -27 -24 -24 -25 -27 -30 -34 -33 -31 -31 -31 -30 -25 -16 -10 -8 -7 -6 -4 -3 -1 1 2 3 3 2 2 2 3 5 7 9 11 12 13 13 13 14 14 13 12 10 9 7 6 4 3 2 2 3 3 3 3 3 2 2 2 2 2 2 2 2 1 1 -0 -0 -0 0 0 -1 -1 -2 -1 2 3 4 4 4 3 3 4 5 6 7 7 6 5 5 6 7 7 6 5 5 6 7 8 8 8 9 10 11 11 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 14 14 15 15 16 18 19 21 22 24 25 27 29 30 32 33 34 34 34 34 34 34 35 35 36 36 36 36 36 36 36 36 35 35 34 34 34 34 35 36 37 38 39 40 39 39 38 38 38 38 38 38 39 39 39 39 39 39 39 38 38 38 37 37 37 37 36 36 36 35 35 34 34 33 33 33 34 34 35 36 36 37 37 36 36 35 36 37 38 39 39 39 38 38 37 37 36 36 35 35 34 34 34 34 35 37 37 38 38 37 37 36 36 36 35 35 35 34 34 34 33 32 31 30 29 28 27 26 25 25 25 25 25 24 23 23 22 22 23 24 25 27 28 29 28 28 27 27 28 29 30 30 31 31 32 34 35 35 35 33 32 32 32 31 31 31 32 32 33 34 34 35 36 37 38 38 38 38 37 35 33 32 31 30 29 28 27 27 27 27 27 27 27 -10 -11 -11 -10 -9 -8 -9 -10 -12 -14 -16 -18 -19 -19 -17 -15 -13 -12 -11 -10 -9 -8 -6 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -10 -11 -10 -8 -8 -9 -8 -6 -3 -0 2 3 3 2 1 1 -1 -4 -7 -8 -8 -7 -6 -7 -7 -8 -9 -9 -10 -11 -13 -14 -15 -17 -18 -20 -22 -23 -24 -26 -28 -30 -32 -34 -35 -35 -35 -36 -36 -37 -38 -39 -39 -38 -37 -37 -36 -34 -32 -29 -26 -26 -26 -26 -28 -31 -33 -31 -31 -32 -34 -32 -26 -18 -12 -8 -7 -5 -3 -1 1 2 3 3 2 2 3 4 6 8 10 12 12 13 13 13 14 14 14 12 11 10 8 6 4 3 3 3 3 3 3 3 3 3 2 1 1 0 -0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -2 -1 1 3 4 4 4 4 4 5 6 7 8 8 7 6 6 6 7 6 6 6 6 7 8 8 8 9 10 10 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 14 15 16 18 20 21 23 24 26 28 29 30 30 31 31 31 32 32 32 32 33 34 35 35 36 36 37 36 36 36 36 35 35 35 35 36 37 38 39 40 40 40 40 39 38 38 38 38 38 38 39 39 40 40 40 40 40 40 40 39 39 38 38 37 37 37 36 36 36 35 35 34 34 34 34 34 35 36 37 37 38 38 37 36 36 36 37 38 38 39 39 39 39 38 38 37 37 36 35 35 35 35 36 37 38 39 39 39 38 37 37 36 36 35 35 35 35 35 34 33 32 31 30 29 28 28 27 26 26 26 26 25 25 25 24 24 24 25 26 27 29 30 30 29 29 29 29 30 31 31 31 31 32 32 33 34 34 34 33 32 32 32 31 31 31 32 32 33 34 34 35 36 37 38 39 39 38 37 35 34 32 31 31 30 29 29 28 28 28 28 28 -10 -11 -11 -10 -8 -7 -9 -10 -12 -13 -14 -16 -17 -18 -18 -17 -16 -14 -14 -13 -13 -12 -9 -6 -5 -4 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -11 -10 -9 -10 -10 -8 -5 -1 1 1 -1 -1 -1 -1 -2 -4 -7 -9 -9 -8 -8 -8 -7 -7 -7 -8 -8 -9 -11 -12 -14 -15 -17 -18 -19 -20 -22 -23 -26 -29 -31 -33 -34 -35 -35 -35 -35 -36 -37 -38 -39 -39 -39 -39 -38 -38 -36 -33 -30 -29 -29 -28 -27 -27 -31 -33 -32 -29 -28 -30 -31 -31 -27 -20 -13 -9 -7 -5 -2 1 2 3 3 3 3 4 5 7 10 11 13 13 13 13 13 14 14 14 13 12 10 8 6 4 3 3 3 4 4 4 4 3 2 1 0 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -3 -1 1 2 3 4 4 4 4 6 7 8 9 8 7 7 7 7 7 7 6 7 7 8 8 8 9 9 10 10 11 11 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 13 14 15 17 19 20 22 24 25 26 27 28 28 28 28 28 28 28 28 29 30 31 32 33 34 35 36 36 36 36 36 36 36 36 36 37 37 38 39 39 40 40 40 39 39 39 39 38 38 38 38 38 39 40 40 41 41 41 41 41 40 40 39 39 38 37 37 37 37 36 36 36 35 35 34 34 35 35 36 37 38 39 39 38 38 37 37 37 37 38 39 39 40 40 39 39 39 38 37 36 36 36 36 37 38 39 40 40 40 39 38 37 37 36 36 35 36 36 36 36 35 34 33 32 31 30 29 29 28 28 27 27 27 27 27 27 26 26 26 27 28 29 31 31 31 31 30 30 31 32 32 32 31 31 31 32 32 33 33 32 32 32 32 31 31 31 31 32 33 33 34 34 35 36 37 38 39 39 38 36 35 34 33 32 32 31 30 29 29 29 29 29 -11 -11 -11 -9 -8 -8 -10 -11 -13 -14 -15 -16 -17 -17 -17 -18 -19 -18 -17 -17 -18 -18 -15 -10 -7 -6 -5 -5 -6 -7 -7 -8 -8 -8 -9 -10 -11 -11 -11 -12 -12 -11 -11 -11 -10 -8 -5 -3 -2 -4 -5 -6 -5 -5 -5 -7 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -8 -9 -10 -12 -14 -15 -16 -17 -17 -18 -20 -23 -26 -29 -31 -32 -34 -34 -35 -35 -35 -36 -37 -38 -39 -40 -41 -41 -41 -40 -38 -36 -34 -32 -30 -28 -26 -27 -31 -34 -33 -27 -23 -24 -27 -32 -32 -28 -21 -15 -10 -7 -3 -1 1 2 2 3 3 5 6 8 11 13 14 14 14 13 14 14 15 15 14 12 10 8 6 5 4 4 4 4 4 4 4 3 2 1 -1 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -4 -2 -0 2 3 4 4 4 5 6 8 9 10 9 9 8 8 8 8 7 7 8 8 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 13 14 16 18 19 21 23 24 25 26 26 26 26 26 25 25 25 25 25 26 27 28 30 31 32 33 34 34 34 35 35 35 35 36 37 37 38 38 39 39 39 39 39 39 39 39 39 38 38 37 38 38 39 39 40 40 41 41 41 41 41 41 40 39 39 38 37 37 37 37 37 37 36 36 35 35 35 36 37 38 38 39 40 40 39 39 38 38 38 38 39 39 40 40 40 40 40 39 38 38 37 37 38 38 39 40 41 42 42 41 39 38 37 36 36 36 36 37 37 37 37 36 35 34 33 32 31 30 30 30 29 29 29 29 29 30 30 29 29 29 29 30 32 33 33 33 32 32 33 33 33 32 31 31 30 30 31 31 31 31 31 31 32 31 31 31 31 32 33 33 34 34 34 35 36 37 38 38 38 37 36 35 34 34 34 33 32 31 30 30 30 29 -11 -11 -11 -10 -9 -10 -11 -12 -14 -15 -16 -17 -17 -18 -18 -19 -20 -20 -20 -20 -20 -21 -19 -16 -13 -10 -8 -7 -8 -8 -8 -8 -9 -9 -10 -11 -12 -12 -12 -13 -13 -12 -12 -11 -10 -8 -6 -6 -7 -9 -9 -9 -8 -7 -7 -8 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -8 -9 -11 -13 -14 -14 -15 -16 -17 -20 -23 -26 -29 -31 -32 -33 -34 -34 -35 -35 -36 -36 -37 -39 -40 -42 -42 -43 -42 -41 -39 -37 -35 -31 -27 -25 -26 -29 -32 -32 -27 -21 -20 -23 -28 -32 -34 -31 -25 -17 -11 -6 -3 -1 0 1 2 3 5 7 9 12 14 15 15 14 14 14 15 15 15 14 12 11 9 7 5 4 4 4 3 3 3 3 3 2 1 -0 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -8 -7 -6 -3 -1 1 3 3 4 5 6 7 9 10 10 10 10 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 9 9 9 9 9 9 10 10 10 10 11 11 12 13 14 16 17 19 20 21 22 23 24 24 24 24 23 23 23 23 23 23 23 24 25 26 27 28 29 30 31 31 32 33 33 34 34 35 36 36 37 37 37 38 38 38 38 38 39 39 39 38 37 37 37 38 38 39 39 40 40 40 41 41 41 41 41 40 39 39 38 38 38 38 37 37 37 37 36 36 36 37 37 38 39 40 40 40 40 40 39 39 39 39 40 40 40 41 41 41 41 40 39 39 38 38 39 40 41 42 43 43 42 41 40 39 38 37 36 37 37 38 39 39 39 38 37 36 35 34 33 32 32 32 32 32 32 32 32 33 33 33 32 32 32 32 33 34 34 34 34 34 34 34 33 32 31 30 30 30 30 30 30 30 31 31 31 32 32 32 32 32 33 33 34 34 34 35 36 37 38 39 39 39 38 37 36 36 35 35 34 33 32 31 31 31 -11 -11 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -18 -19 -20 -20 -20 -20 -21 -20 -19 -16 -13 -10 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -13 -12 -10 -8 -8 -9 -10 -11 -10 -10 -9 -9 -8 -8 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -7 -8 -9 -11 -12 -12 -11 -13 -15 -17 -20 -23 -26 -28 -30 -31 -31 -32 -33 -34 -35 -36 -37 -38 -40 -41 -42 -43 -43 -43 -43 -42 -41 -38 -33 -28 -25 -25 -25 -28 -30 -28 -24 -23 -22 -24 -29 -34 -37 -35 -26 -17 -11 -7 -4 -2 -0 1 3 5 7 10 12 14 15 15 15 15 15 16 16 16 15 13 11 9 8 6 5 4 3 3 3 3 3 2 2 1 0 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -7 -7 -8 -8 -6 -4 -2 1 2 3 4 5 7 9 10 11 11 11 10 10 9 9 9 9 9 10 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 11 12 13 14 16 17 18 19 20 20 21 21 22 22 21 21 21 21 21 21 21 22 22 23 24 24 25 26 27 28 28 29 30 31 32 32 33 34 34 35 35 35 36 36 36 37 37 38 38 38 38 38 37 37 37 37 38 38 39 39 39 40 40 40 41 41 41 40 40 40 40 39 39 39 38 38 38 37 37 37 37 38 38 38 39 40 40 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 40 40 39 39 40 41 43 43 44 44 43 42 41 39 38 37 37 38 38 39 40 40 40 40 39 37 36 35 35 34 34 34 34 35 35 35 35 36 36 36 36 35 34 34 34 34 35 36 36 37 36 35 34 32 31 30 30 29 29 29 29 30 30 30 31 32 32 32 32 32 33 33 34 34 34 35 36 37 38 38 39 39 39 39 38 38 37 37 36 35 34 33 33 33 -12 -12 -13 -13 -14 -13 -13 -13 -14 -15 -16 -17 -18 -18 -18 -19 -19 -20 -20 -21 -21 -21 -20 -19 -17 -15 -13 -11 -10 -10 -10 -11 -11 -12 -12 -13 -14 -15 -16 -16 -15 -15 -14 -12 -10 -9 -10 -11 -11 -11 -10 -10 -10 -9 -8 -9 -11 -13 -12 -11 -10 -9 -8 -7 -7 -7 -6 -7 -9 -10 -12 -11 -10 -11 -13 -16 -19 -22 -25 -27 -28 -29 -30 -31 -32 -33 -34 -36 -38 -40 -41 -42 -42 -42 -42 -42 -43 -43 -43 -43 -39 -32 -27 -25 -25 -26 -28 -29 -31 -32 -31 -28 -27 -30 -35 -37 -34 -26 -18 -12 -8 -5 -2 -0 2 4 7 10 13 15 16 16 16 16 16 17 17 17 16 14 12 10 8 7 5 4 3 2 2 2 2 2 2 1 1 0 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -7 -5 -2 0 2 4 5 7 8 10 11 12 12 11 10 9 9 8 9 9 10 10 9 9 9 9 8 8 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 10 11 12 13 15 16 17 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 21 21 22 22 23 23 24 25 26 26 27 28 29 30 31 31 32 33 33 34 34 34 35 35 36 36 37 38 38 38 37 37 36 36 37 37 37 38 38 39 39 39 40 40 40 40 40 41 41 41 41 41 40 40 39 39 39 38 38 38 38 39 39 39 39 40 41 41 42 42 42 42 42 42 42 41 41 42 42 42 42 41 41 40 40 40 42 43 44 45 45 44 44 43 41 40 39 38 38 39 39 40 41 42 42 41 40 39 38 37 36 36 36 36 37 37 38 38 38 38 39 39 39 38 37 36 36 35 36 37 38 38 38 37 35 34 32 31 30 29 29 29 30 30 30 30 31 32 32 33 33 33 33 34 34 34 35 35 35 36 37 38 39 39 40 40 39 39 38 38 37 37 36 35 34 35 -12 -13 -13 -14 -14 -14 -14 -14 -15 -16 -17 -18 -18 -18 -19 -19 -19 -20 -21 -21 -22 -22 -21 -20 -18 -16 -14 -13 -12 -11 -11 -12 -12 -13 -13 -14 -15 -16 -17 -17 -17 -16 -15 -13 -11 -10 -11 -12 -12 -10 -10 -10 -10 -9 -9 -10 -12 -13 -12 -11 -9 -8 -7 -7 -7 -7 -7 -7 -9 -10 -10 -10 -10 -11 -12 -15 -18 -21 -24 -25 -26 -27 -29 -30 -31 -32 -33 -35 -38 -40 -42 -43 -42 -41 -41 -41 -41 -43 -44 -44 -41 -35 -30 -28 -28 -28 -30 -34 -38 -42 -44 -41 -33 -27 -25 -30 -35 -35 -29 -20 -14 -9 -5 -2 1 4 7 10 13 15 16 17 17 17 17 17 18 18 17 15 13 10 9 7 6 5 3 2 2 2 1 1 1 2 2 1 0 -1 -2 -2 -3 -4 -5 -5 -5 -6 -6 -7 -7 -7 -5 -3 0 3 5 6 8 9 10 11 12 11 11 10 9 8 8 9 9 9 9 8 8 8 8 7 7 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 9 9 10 12 13 15 16 17 17 17 16 16 16 16 16 16 17 17 17 17 18 18 19 19 20 20 21 21 22 23 24 24 25 26 27 28 29 30 30 31 31 32 33 33 34 34 34 35 36 36 37 38 38 38 37 36 36 36 36 36 37 37 38 38 39 39 39 39 39 40 40 40 41 41 42 42 42 41 41 40 40 40 40 40 40 40 40 40 40 40 41 42 42 43 43 44 43 43 42 42 42 42 42 42 42 42 41 41 41 42 43 45 45 45 45 45 44 43 42 41 40 39 39 40 40 41 42 42 42 42 42 41 40 39 38 37 37 38 39 39 40 40 40 40 40 41 41 41 41 39 38 37 37 37 38 39 39 38 37 35 34 32 31 30 30 30 30 30 30 30 31 31 32 33 33 33 34 34 34 35 35 35 36 36 37 37 38 39 39 40 40 39 39 39 39 38 37 36 36 36 -12 -13 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -19 -19 -19 -19 -19 -20 -22 -22 -23 -23 -22 -22 -20 -18 -16 -14 -13 -12 -12 -12 -13 -13 -13 -14 -15 -16 -17 -18 -18 -17 -16 -14 -12 -12 -12 -13 -12 -11 -11 -11 -10 -10 -9 -10 -11 -12 -11 -10 -8 -6 -5 -5 -5 -6 -6 -8 -10 -11 -10 -9 -8 -8 -10 -13 -17 -19 -21 -23 -24 -26 -28 -30 -31 -32 -34 -36 -38 -41 -43 -43 -43 -43 -42 -41 -41 -42 -43 -44 -43 -41 -39 -38 -37 -34 -35 -39 -42 -43 -43 -46 -43 -36 -27 -27 -34 -38 -36 -30 -22 -16 -10 -5 -1 3 7 10 13 15 16 17 18 18 18 18 19 19 19 17 14 11 9 8 7 6 5 4 3 2 1 1 1 2 2 2 1 0 -1 -2 -3 -3 -4 -5 -5 -5 -5 -6 -6 -6 -5 -2 1 3 6 7 9 9 10 10 11 11 10 9 8 8 8 9 9 9 8 8 7 7 7 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 7 8 9 10 11 13 14 15 15 15 15 15 14 14 14 15 15 15 15 15 15 16 17 17 18 19 19 19 20 20 21 22 23 24 25 26 27 28 29 29 30 30 31 32 33 33 34 34 34 35 36 37 38 38 38 37 37 36 36 35 35 36 36 36 37 37 38 38 38 38 38 39 39 40 41 41 42 43 43 43 42 42 41 41 41 41 41 41 41 41 41 41 41 42 42 43 44 44 44 43 42 42 42 42 43 43 43 42 42 42 43 44 45 46 46 46 46 45 44 44 43 42 41 40 40 40 41 41 42 43 43 43 43 42 42 41 40 39 39 40 40 41 41 42 42 42 42 42 43 43 43 42 41 40 39 39 39 39 39 38 38 37 36 34 33 31 30 30 30 30 30 30 31 31 32 33 33 33 34 34 34 35 35 35 36 36 36 37 38 38 39 39 40 40 39 39 39 39 38 37 36 36 -12 -13 -13 -13 -14 -14 -15 -16 -17 -18 -19 -20 -20 -21 -20 -20 -20 -21 -23 -23 -23 -23 -23 -23 -23 -21 -18 -15 -14 -13 -12 -13 -13 -14 -14 -14 -15 -16 -17 -18 -18 -18 -17 -16 -14 -14 -14 -14 -13 -12 -12 -12 -11 -9 -8 -9 -11 -12 -12 -11 -8 -6 -6 -5 -5 -6 -7 -8 -11 -12 -12 -10 -7 -6 -8 -12 -15 -17 -19 -21 -23 -25 -27 -29 -30 -32 -33 -35 -37 -39 -42 -43 -44 -43 -43 -43 -43 -42 -42 -43 -44 -45 -45 -45 -44 -42 -41 -42 -43 -45 -46 -48 -48 -43 -36 -28 -29 -32 -33 -32 -32 -27 -19 -11 -4 1 6 10 13 15 16 17 18 18 18 19 20 21 21 19 16 12 10 9 8 8 7 6 5 4 2 1 1 1 2 2 2 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -4 -2 1 4 6 8 9 9 9 10 10 10 10 9 8 8 8 8 8 8 7 7 7 6 6 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 7 7 9 10 12 13 13 14 14 13 13 12 13 13 13 13 13 13 14 14 14 15 16 17 17 18 18 18 19 19 20 21 22 23 24 25 26 26 27 27 28 29 30 31 32 32 33 34 34 35 36 37 38 38 38 37 37 36 35 35 35 35 35 35 36 36 36 37 37 37 37 38 38 39 39 40 41 42 43 43 43 43 43 43 43 43 43 43 42 42 42 41 41 41 42 43 44 45 44 43 42 42 42 42 43 43 44 44 44 44 45 46 46 46 46 46 46 45 45 44 43 42 42 41 41 41 41 42 42 43 43 44 44 44 43 42 41 41 41 42 42 43 43 43 43 43 44 44 44 45 45 45 44 43 42 41 40 39 39 38 38 38 38 36 35 32 31 30 30 30 30 30 31 31 32 33 33 34 34 34 34 34 35 35 36 36 37 37 37 38 38 39 39 39 39 39 39 38 38 37 37 36 -12 -12 -13 -13 -13 -13 -14 -15 -17 -18 -20 -21 -22 -22 -22 -22 -22 -23 -24 -24 -24 -24 -23 -23 -23 -22 -19 -16 -14 -13 -12 -12 -13 -14 -15 -15 -15 -15 -16 -17 -18 -19 -19 -18 -17 -16 -16 -15 -14 -14 -14 -13 -11 -9 -8 -9 -11 -12 -12 -11 -10 -9 -8 -7 -7 -7 -8 -9 -11 -12 -12 -8 -4 -4 -7 -11 -14 -16 -18 -20 -22 -24 -27 -28 -30 -32 -34 -35 -36 -37 -39 -41 -43 -44 -45 -45 -44 -43 -42 -42 -43 -45 -46 -47 -47 -46 -44 -44 -45 -45 -47 -48 -48 -46 -43 -36 -30 -27 -26 -27 -30 -31 -26 -19 -11 -3 4 9 12 14 15 16 17 18 19 20 21 22 23 21 18 14 11 10 10 10 9 9 8 6 5 3 2 1 1 2 2 2 1 0 -1 -2 -2 -2 -3 -2 -2 -2 -3 -3 -2 -1 2 4 6 7 8 8 8 9 9 10 10 9 8 8 7 8 8 7 7 6 6 6 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 7 9 10 11 12 12 12 11 11 11 11 11 12 12 12 12 12 13 13 14 15 16 16 17 17 17 17 17 18 19 20 21 21 22 23 23 23 24 24 25 26 27 29 30 31 32 33 34 35 36 36 37 37 37 37 37 36 35 35 34 34 34 34 34 34 35 35 35 36 36 36 37 37 38 39 40 41 42 43 44 44 44 44 44 44 44 44 43 43 42 42 41 41 42 43 44 44 44 43 43 42 42 42 43 44 45 45 45 46 47 47 47 46 46 46 46 46 45 45 44 43 43 42 42 42 42 42 43 43 44 44 45 45 44 43 43 43 44 44 44 44 44 44 45 45 45 46 46 46 46 47 47 47 46 44 42 40 39 38 38 38 38 38 36 34 32 30 30 30 30 30 30 31 32 33 34 34 34 34 34 34 35 35 36 37 37 37 37 38 38 38 39 39 39 39 38 38 37 37 37 36 -12 -12 -13 -13 -13 -13 -14 -15 -16 -18 -20 -22 -23 -23 -24 -25 -24 -24 -25 -25 -24 -23 -22 -21 -21 -21 -19 -17 -15 -13 -12 -12 -13 -14 -15 -15 -15 -15 -15 -16 -17 -18 -19 -19 -19 -19 -18 -17 -16 -16 -16 -14 -12 -10 -9 -9 -10 -11 -12 -12 -11 -12 -11 -10 -10 -9 -10 -11 -11 -12 -10 -5 -2 -3 -7 -10 -13 -16 -18 -20 -22 -24 -26 -29 -31 -33 -35 -35 -35 -35 -37 -39 -41 -43 -45 -46 -45 -44 -43 -43 -44 -45 -46 -47 -47 -46 -46 -46 -46 -47 -49 -49 -47 -46 -46 -44 -37 -31 -26 -23 -23 -25 -25 -24 -19 -12 -3 4 9 13 15 16 17 17 18 20 21 23 24 23 20 17 13 12 11 11 11 11 10 9 8 6 4 2 1 1 2 2 2 1 0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 3 4 6 7 7 7 8 9 9 10 10 9 8 8 7 8 8 7 6 5 5 5 5 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 6 7 8 9 10 10 10 10 9 9 9 10 10 11 11 11 11 12 12 13 14 14 15 16 16 16 16 16 16 16 17 18 18 19 19 19 19 20 20 20 21 23 24 26 28 29 31 32 33 34 35 35 36 36 37 37 36 36 35 34 33 33 32 32 32 33 33 33 34 34 35 35 36 36 37 37 39 40 41 42 43 43 44 44 44 44 44 44 44 43 43 42 41 41 41 42 42 43 43 43 43 42 42 43 44 45 46 46 47 48 48 48 47 46 45 45 46 46 46 45 45 44 43 43 43 43 43 43 44 44 45 45 45 45 45 45 45 45 46 46 46 46 46 46 46 47 47 47 47 47 47 48 49 49 49 48 46 43 41 39 38 38 38 38 37 35 33 31 30 29 29 30 30 31 32 33 34 34 34 34 34 34 34 35 35 36 37 37 37 37 37 38 38 38 38 38 38 37 37 37 37 37 -12 -12 -13 -13 -13 -13 -13 -14 -15 -18 -20 -22 -23 -24 -25 -26 -26 -26 -26 -26 -25 -24 -22 -21 -20 -19 -18 -16 -15 -13 -12 -12 -13 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -20 -20 -20 -19 -18 -17 -17 -17 -14 -12 -11 -9 -8 -8 -9 -11 -11 -12 -13 -13 -13 -13 -13 -13 -12 -12 -10 -7 -2 0 -3 -6 -9 -11 -15 -17 -20 -22 -24 -27 -30 -32 -34 -34 -34 -35 -36 -37 -38 -39 -42 -44 -46 -46 -47 -47 -47 -47 -47 -47 -47 -47 -46 -46 -46 -47 -49 -50 -49 -47 -45 -45 -46 -42 -35 -27 -22 -18 -17 -18 -20 -22 -20 -14 -5 3 9 13 15 16 16 18 19 21 23 24 23 21 18 15 13 12 11 11 12 11 11 10 9 7 4 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 2 3 3 4 5 6 7 7 8 9 9 10 9 9 8 7 8 8 7 6 5 5 4 4 5 4 5 5 5 5 5 5 4 4 5 5 5 5 4 5 5 6 7 7 8 8 8 8 8 8 9 9 10 10 10 10 11 11 12 12 13 14 14 15 15 14 14 14 14 14 14 15 15 15 15 15 15 15 16 17 18 19 21 23 25 27 29 30 31 32 33 34 34 35 35 35 35 35 34 33 32 32 31 31 30 31 31 32 32 33 33 34 34 35 35 36 37 38 39 40 41 42 43 43 43 43 44 44 43 43 42 42 41 41 40 41 41 42 42 43 42 42 42 43 44 45 46 47 48 48 48 47 46 46 45 46 46 46 46 46 45 45 44 44 43 43 44 44 45 45 45 46 46 46 46 46 46 47 47 48 48 48 47 47 48 48 49 50 49 49 49 49 50 51 52 51 50 47 44 41 39 38 37 38 38 36 34 31 30 29 29 29 30 31 32 33 34 34 35 34 34 34 34 34 35 36 36 37 37 37 37 37 38 38 38 37 37 36 36 36 37 37 -12 -13 -13 -13 -13 -12 -12 -13 -15 -17 -19 -21 -23 -23 -24 -25 -25 -26 -26 -25 -25 -24 -22 -21 -20 -19 -17 -16 -15 -13 -12 -11 -12 -12 -12 -12 -13 -15 -16 -16 -17 -18 -18 -19 -20 -20 -20 -19 -19 -18 -17 -14 -13 -11 -10 -8 -7 -8 -9 -10 -11 -12 -13 -15 -16 -17 -16 -14 -12 -9 -4 0 1 -2 -5 -7 -10 -13 -16 -19 -22 -25 -29 -31 -32 -33 -33 -34 -36 -37 -38 -38 -38 -41 -43 -45 -46 -49 -51 -53 -52 -50 -48 -46 -45 -45 -46 -46 -47 -48 -49 -48 -46 -45 -44 -45 -43 -36 -28 -21 -16 -13 -12 -13 -15 -19 -18 -14 -7 -0 7 11 14 15 17 18 20 23 24 24 22 19 16 14 13 12 12 11 12 12 12 12 11 8 5 3 1 1 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 7 8 9 9 9 9 8 8 7 8 7 7 5 4 4 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 5 6 6 7 7 7 7 7 8 8 9 9 9 9 10 10 11 11 12 13 13 13 13 13 12 12 11 11 11 11 11 11 11 11 11 11 12 12 13 15 17 18 20 22 25 26 28 29 30 31 32 33 33 34 34 34 33 33 32 31 30 29 29 29 29 30 30 31 32 32 33 33 34 34 35 36 37 38 39 40 40 41 42 42 42 42 42 42 42 41 41 41 41 40 40 40 41 41 42 42 42 43 44 45 46 47 48 48 48 48 47 46 46 45 46 46 46 47 47 46 46 45 45 44 44 44 45 45 46 46 47 47 47 48 48 48 48 49 49 49 49 49 49 49 50 51 52 52 51 51 51 51 52 52 52 52 50 48 46 42 40 38 37 37 36 34 32 31 29 29 29 30 31 31 32 33 34 34 34 34 34 34 34 35 35 36 36 36 36 37 37 37 37 37 36 36 36 36 36 36 37 -13 -14 -14 -14 -14 -13 -13 -13 -14 -16 -18 -19 -21 -22 -22 -23 -23 -24 -24 -24 -24 -23 -22 -21 -20 -18 -17 -16 -15 -13 -11 -10 -10 -11 -11 -11 -13 -14 -16 -17 -18 -18 -18 -17 -18 -19 -20 -20 -19 -18 -17 -15 -14 -12 -10 -8 -7 -7 -8 -9 -10 -11 -14 -16 -18 -18 -17 -15 -11 -7 -3 0 0 -2 -4 -6 -9 -12 -15 -18 -22 -26 -29 -31 -31 -31 -32 -34 -37 -39 -39 -39 -39 -40 -42 -44 -46 -50 -54 -56 -56 -53 -48 -44 -42 -43 -45 -46 -46 -46 -48 -48 -46 -45 -44 -44 -41 -35 -28 -22 -17 -14 -11 -9 -7 -8 -11 -14 -14 -10 -4 3 10 13 15 17 20 22 23 23 22 20 17 15 13 12 12 11 11 12 12 13 13 12 9 6 3 1 1 2 3 4 5 5 4 4 4 4 4 4 5 5 5 5 5 6 7 8 9 9 9 9 9 8 8 8 7 7 6 4 3 3 4 4 4 5 5 6 6 6 6 5 5 5 5 4 4 3 3 3 4 4 5 6 6 6 6 6 7 8 8 9 9 9 9 9 10 10 11 11 12 12 12 11 10 10 9 8 8 8 8 8 8 8 8 8 8 9 10 11 12 14 16 18 20 22 24 25 26 28 29 29 30 31 32 32 32 31 31 30 30 29 28 28 28 28 28 29 30 31 31 32 32 33 33 34 35 35 36 37 38 39 39 40 41 41 41 40 40 40 40 40 40 40 40 40 40 40 41 42 42 43 43 44 45 46 46 47 47 47 46 46 45 45 45 45 46 47 47 47 47 47 46 46 46 45 45 45 46 46 47 47 48 49 49 49 50 50 50 50 50 50 49 50 51 52 53 54 54 54 53 53 52 52 52 52 52 51 50 49 47 44 41 38 38 37 35 33 32 30 30 30 30 31 31 32 32 33 33 34 34 34 34 35 35 35 35 35 36 36 37 37 37 37 37 36 35 35 35 35 36 36 -14 -14 -14 -15 -14 -14 -14 -14 -14 -16 -17 -18 -18 -19 -19 -20 -21 -21 -22 -22 -22 -21 -20 -19 -19 -18 -17 -16 -14 -12 -11 -10 -10 -10 -10 -11 -12 -13 -15 -17 -18 -18 -17 -16 -17 -17 -18 -18 -18 -18 -17 -16 -15 -13 -11 -9 -8 -8 -9 -10 -10 -12 -15 -17 -18 -17 -16 -14 -11 -7 -3 0 0 -2 -4 -6 -8 -8 -12 -17 -22 -27 -29 -29 -30 -30 -32 -35 -38 -40 -41 -41 -41 -41 -42 -43 -45 -49 -53 -56 -56 -54 -50 -46 -41 -40 -41 -43 -45 -45 -45 -46 -45 -44 -42 -41 -37 -32 -28 -25 -23 -21 -18 -14 -10 -6 -4 -5 -8 -11 -13 -9 1 9 14 16 19 21 22 23 22 20 18 16 14 13 12 11 11 11 12 13 14 14 12 9 6 2 1 1 3 5 6 6 5 4 4 4 4 5 6 6 6 6 6 7 8 8 9 9 10 9 9 8 8 7 7 6 5 3 3 3 3 4 4 5 5 6 6 6 6 6 5 5 4 4 3 3 3 3 4 4 5 6 6 6 6 6 7 8 8 9 9 8 9 9 9 10 10 11 11 10 10 9 7 6 6 5 5 5 5 5 5 5 5 5 5 6 7 8 10 11 13 15 17 18 20 22 23 24 25 26 27 28 29 30 30 29 29 29 28 28 27 27 27 27 27 28 28 29 30 31 31 32 32 33 34 34 35 36 37 37 38 39 39 39 39 39 38 38 38 38 38 39 39 40 40 40 41 41 42 43 44 44 45 45 45 45 46 46 45 45 45 45 45 46 46 47 47 48 48 48 48 47 47 46 46 45 46 46 47 48 49 50 51 51 51 51 51 51 51 51 51 51 52 54 55 57 57 56 55 54 53 53 52 51 51 51 51 51 50 48 45 41 39 37 36 35 33 32 31 31 31 31 31 31 31 32 33 33 34 34 34 35 35 35 35 35 35 36 36 37 37 37 36 36 35 35 35 35 35 36 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -17 -17 -17 -17 -17 -17 -18 -19 -20 -20 -20 -19 -18 -18 -17 -17 -16 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -12 -14 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -16 -14 -12 -10 -9 -9 -10 -12 -13 -15 -17 -18 -18 -16 -14 -11 -7 -4 -1 1 1 -1 -3 -5 -6 -7 -12 -18 -23 -27 -28 -28 -29 -31 -33 -35 -37 -39 -40 -41 -41 -41 -42 -43 -44 -47 -50 -53 -53 -52 -50 -49 -46 -43 -41 -42 -43 -43 -44 -46 -45 -43 -41 -39 -35 -30 -26 -25 -28 -30 -29 -25 -20 -13 -8 -4 -3 -4 -8 -12 -8 1 9 14 17 20 21 22 21 20 18 17 15 14 13 12 11 11 11 12 14 15 15 13 9 5 2 1 2 4 5 6 5 5 4 4 5 5 6 7 7 7 8 8 8 9 9 10 10 9 8 8 7 7 6 5 4 2 2 3 3 4 4 5 5 6 6 7 6 5 5 4 4 3 3 3 3 3 4 5 5 6 6 6 6 7 7 8 8 8 8 8 8 9 9 9 10 9 9 8 7 5 4 3 3 2 2 2 2 2 2 2 2 2 3 4 5 6 7 9 10 12 14 15 17 18 20 21 22 23 25 26 26 27 27 27 27 27 27 26 26 26 26 26 26 26 27 27 28 29 29 30 31 32 33 33 34 35 36 37 37 38 38 38 38 37 37 37 37 37 37 38 39 40 40 41 41 41 42 42 43 43 44 44 43 43 44 44 44 44 44 44 45 45 46 47 47 48 48 48 48 48 48 47 46 46 46 46 48 49 51 52 52 53 53 53 53 53 52 52 52 52 54 55 57 59 59 58 57 55 54 53 52 51 50 50 50 51 51 51 49 45 41 39 37 35 34 33 33 32 32 32 31 31 31 31 32 33 33 34 34 35 35 36 36 36 36 36 36 36 36 36 36 36 35 35 35 35 36 36 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -17 -17 -16 -16 -16 -16 -17 -19 -19 -19 -19 -18 -17 -16 -16 -16 -16 -15 -15 -15 -14 -14 -13 -13 -12 -12 -12 -12 -13 -15 -15 -16 -17 -17 -16 -16 -16 -15 -15 -16 -16 -17 -16 -15 -13 -12 -11 -12 -12 -14 -15 -18 -19 -19 -17 -15 -12 -8 -4 -1 1 2 0 -2 -3 -5 -6 -9 -14 -20 -24 -26 -27 -29 -30 -32 -33 -35 -36 -37 -38 -39 -40 -41 -42 -43 -45 -46 -48 -49 -49 -48 -48 -49 -48 -46 -44 -43 -42 -42 -43 -44 -44 -43 -40 -36 -30 -26 -25 -26 -28 -30 -30 -28 -27 -25 -20 -13 -8 -6 -7 -13 -14 -7 2 9 13 17 19 20 20 20 19 18 17 16 15 13 12 11 11 12 13 15 16 15 13 9 5 3 2 3 4 5 5 5 4 5 5 6 7 7 8 8 9 9 9 9 9 9 9 8 8 7 7 6 5 4 3 2 2 2 3 3 4 4 5 5 6 6 6 5 4 4 3 3 3 3 3 4 5 5 6 6 6 6 6 7 7 8 8 8 8 8 8 8 8 8 8 7 6 5 4 3 1 1 0 -0 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 4 5 6 8 9 11 12 14 15 17 18 19 20 21 22 23 23 24 24 24 24 24 24 24 24 24 24 24 24 25 25 26 27 27 28 29 30 31 33 34 35 36 37 37 37 37 37 36 36 36 36 36 36 37 37 38 39 40 41 41 41 41 42 42 42 42 41 41 41 42 42 43 44 44 45 45 45 46 46 47 47 48 48 49 48 48 47 46 46 46 47 48 50 52 53 53 54 54 54 54 54 54 53 53 54 55 57 59 60 60 59 57 56 54 53 51 51 50 50 50 51 52 53 51 48 44 40 38 36 35 34 34 33 33 32 32 31 31 31 31 32 33 34 35 35 36 36 36 36 36 36 36 36 36 36 36 36 35 35 35 35 36 37 -13 -14 -14 -14 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -17 -17 -18 -19 -20 -19 -18 -17 -16 -15 -15 -15 -15 -15 -16 -16 -15 -15 -14 -13 -13 -12 -12 -13 -14 -15 -15 -16 -16 -17 -17 -17 -16 -16 -15 -15 -16 -16 -16 -15 -14 -14 -14 -15 -15 -15 -16 -18 -20 -19 -17 -14 -10 -6 -2 1 2 2 -0 -3 -6 -7 -9 -12 -17 -21 -23 -24 -26 -28 -30 -32 -33 -35 -36 -36 -37 -38 -39 -40 -42 -44 -46 -47 -47 -47 -47 -46 -46 -47 -48 -48 -46 -45 -43 -41 -41 -41 -42 -41 -38 -32 -28 -27 -27 -29 -31 -32 -31 -30 -29 -28 -26 -23 -18 -13 -10 -14 -17 -14 -7 0 7 12 15 17 19 19 19 18 17 16 15 14 13 12 12 12 13 14 16 16 16 13 9 5 3 2 3 4 5 5 5 5 6 6 7 8 8 9 9 9 9 9 9 8 8 7 6 6 6 5 4 3 2 2 2 2 3 3 3 4 4 5 6 6 6 5 4 4 3 3 3 4 4 5 5 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 6 5 4 3 1 0 -1 -2 -2 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 0 1 2 3 5 6 7 8 10 11 12 14 15 16 18 18 19 19 20 20 21 21 21 21 22 22 22 22 22 22 22 23 23 24 25 25 26 28 29 31 32 34 35 36 37 37 37 36 36 36 36 36 36 36 36 37 38 38 39 40 40 41 41 41 41 40 40 39 39 39 39 40 41 42 43 44 45 45 45 45 45 45 46 47 48 48 48 48 47 47 47 47 48 49 51 52 53 54 55 56 56 56 56 55 55 55 55 57 58 59 60 60 59 57 56 54 52 51 50 50 50 50 51 52 53 53 50 46 43 40 38 37 35 35 34 34 33 32 32 31 31 31 32 33 34 35 35 36 36 37 37 37 37 37 37 37 36 36 36 36 35 35 35 36 37 -13 -14 -14 -14 -14 -14 -15 -14 -14 -14 -15 -15 -15 -16 -18 -18 -19 -19 -20 -19 -18 -17 -15 -15 -15 -15 -15 -16 -16 -17 -16 -16 -15 -14 -14 -13 -13 -14 -14 -15 -15 -15 -15 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -19 -20 -20 -19 -17 -14 -9 -5 -1 2 3 1 -2 -6 -9 -10 -12 -14 -18 -19 -21 -22 -25 -27 -29 -31 -33 -35 -36 -36 -36 -38 -39 -41 -43 -45 -46 -46 -46 -46 -46 -46 -45 -46 -47 -48 -48 -47 -46 -43 -40 -39 -39 -39 -37 -34 -33 -32 -32 -33 -34 -33 -32 -31 -30 -29 -28 -26 -24 -20 -17 -17 -17 -16 -13 -9 -3 3 9 13 15 17 17 17 16 16 15 13 12 11 11 11 12 14 15 16 16 16 13 9 5 3 3 4 5 6 6 6 7 7 7 8 8 9 9 9 9 8 7 7 6 6 5 5 5 4 3 2 2 2 2 2 3 3 3 3 4 5 5 6 5 5 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 7 7 7 7 7 7 6 6 6 5 4 4 3 1 0 -1 -2 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -3 -2 -1 -0 1 2 3 4 5 6 8 9 10 12 13 14 15 16 16 17 17 17 18 18 19 19 19 20 20 20 20 20 21 21 22 22 23 24 25 27 28 30 32 34 35 36 37 37 36 36 36 35 35 35 36 36 37 38 38 38 39 39 40 40 41 41 40 39 38 38 37 37 38 39 40 41 43 43 44 44 43 43 43 44 45 46 47 48 48 48 47 47 47 48 48 50 51 52 53 55 56 57 58 57 57 56 56 56 57 58 59 59 59 59 58 57 55 54 52 51 50 50 50 51 52 53 54 53 51 48 45 42 40 38 37 36 35 34 34 33 32 31 31 31 31 32 34 35 36 36 37 37 37 37 37 37 37 37 37 36 36 36 36 35 35 36 37 -13 -14 -14 -14 -13 -14 -14 -14 -13 -14 -14 -14 -15 -16 -18 -19 -20 -21 -21 -19 -18 -16 -15 -15 -15 -15 -15 -16 -17 -18 -17 -16 -15 -15 -15 -16 -16 -16 -16 -16 -15 -14 -14 -15 -16 -17 -17 -17 -17 -17 -16 -17 -18 -18 -18 -19 -19 -19 -20 -20 -21 -21 -20 -19 -17 -13 -9 -4 -0 2 1 -1 -5 -8 -10 -12 -14 -15 -17 -17 -19 -22 -24 -25 -27 -30 -33 -35 -35 -35 -36 -38 -40 -42 -44 -45 -45 -46 -46 -46 -46 -46 -46 -47 -48 -48 -49 -49 -48 -46 -41 -38 -37 -36 -37 -38 -37 -36 -35 -34 -35 -34 -33 -32 -31 -30 -29 -27 -25 -24 -22 -21 -20 -17 -16 -15 -14 -9 -1 6 10 13 14 15 15 14 13 12 11 10 10 10 11 12 14 15 15 16 14 12 8 5 4 5 6 7 7 8 8 8 8 8 9 9 10 9 9 7 6 5 5 4 4 4 3 3 3 2 2 2 2 2 3 3 3 3 4 5 5 5 5 5 5 4 4 4 5 5 5 6 6 6 6 7 7 7 7 7 7 6 6 6 6 5 5 4 3 2 1 0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -7 -7 -6 -6 -5 -4 -3 -3 -2 -1 -0 1 2 3 4 5 6 8 9 10 12 13 14 14 15 15 15 16 16 17 17 18 18 19 19 20 20 20 20 21 21 22 22 23 25 26 28 29 31 33 34 35 36 36 36 36 36 36 36 36 36 37 38 38 39 39 39 39 40 40 40 40 39 38 37 36 36 35 36 37 38 40 41 42 43 42 42 42 42 42 43 45 46 47 48 47 47 47 47 48 49 50 51 52 53 55 57 58 59 58 58 57 57 57 57 58 58 58 58 58 57 56 55 54 52 51 50 50 50 51 52 53 54 53 52 49 47 44 42 41 39 38 36 35 35 34 33 32 31 31 31 32 33 34 36 36 37 37 37 38 38 38 38 38 38 37 36 36 36 36 36 36 36 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -15 -17 -19 -20 -21 -21 -21 -19 -17 -15 -14 -14 -14 -15 -15 -16 -18 -19 -19 -17 -16 -15 -17 -18 -18 -17 -17 -15 -13 -13 -13 -14 -15 -15 -15 -16 -17 -18 -18 -19 -20 -20 -20 -20 -20 -20 -21 -22 -22 -21 -20 -19 -17 -13 -8 -3 0 1 -1 -4 -7 -9 -11 -13 -15 -17 -17 -17 -19 -21 -23 -23 -26 -29 -32 -34 -35 -35 -36 -39 -41 -43 -44 -45 -45 -45 -46 -47 -47 -48 -48 -49 -50 -50 -49 -49 -50 -49 -45 -40 -36 -35 -35 -37 -36 -35 -34 -34 -34 -34 -33 -32 -31 -30 -29 -28 -26 -25 -24 -23 -21 -18 -16 -16 -18 -16 -9 -3 2 6 9 11 12 12 11 10 9 8 8 8 9 10 11 13 14 14 14 13 11 8 6 5 7 8 9 9 9 8 8 9 9 10 10 10 8 7 5 4 4 3 3 3 3 3 2 2 2 2 2 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 6 6 6 6 6 5 4 3 2 1 -0 -1 -2 -3 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -1 0 1 2 3 4 6 7 8 10 11 12 13 13 14 14 14 15 15 16 17 18 18 19 20 20 21 21 21 21 21 22 22 23 24 25 27 28 30 31 32 33 34 35 36 36 36 36 36 36 37 37 38 39 39 39 39 39 40 39 39 39 38 37 36 35 34 34 34 35 36 38 39 40 41 41 41 40 40 40 42 43 45 46 47 47 47 47 47 48 49 49 50 52 54 55 57 59 59 59 58 57 57 57 57 57 57 57 57 57 56 56 55 53 52 50 49 49 49 50 51 53 54 53 51 50 48 47 45 43 42 40 39 37 36 36 35 34 33 32 31 31 32 34 35 37 37 38 38 38 38 39 39 39 38 38 37 36 36 36 36 36 36 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -12 -13 -15 -17 -19 -20 -20 -20 -20 -18 -17 -15 -14 -14 -14 -15 -16 -16 -18 -20 -20 -18 -16 -14 -15 -17 -17 -17 -15 -13 -13 -13 -13 -13 -13 -13 -13 -15 -17 -18 -20 -22 -23 -21 -19 -18 -19 -21 -23 -23 -22 -20 -18 -17 -16 -13 -8 -3 0 -0 -3 -8 -10 -11 -13 -15 -18 -19 -19 -20 -22 -23 -23 -23 -26 -29 -32 -33 -33 -34 -36 -39 -42 -44 -45 -45 -46 -47 -48 -48 -48 -48 -49 -50 -52 -52 -51 -49 -48 -48 -47 -43 -38 -35 -34 -35 -36 -35 -34 -33 -34 -34 -33 -32 -31 -30 -29 -28 -26 -23 -21 -20 -18 -16 -15 -14 -15 -16 -14 -12 -8 -4 1 5 7 9 9 8 7 6 5 5 6 8 9 10 11 12 13 13 12 9 7 6 7 8 9 10 9 9 9 9 10 11 11 10 8 6 5 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 5 5 5 5 5 6 6 6 6 7 7 7 7 7 6 5 5 5 6 5 3 2 1 -0 -1 -2 -3 -4 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 -0 0 1 2 4 5 6 7 8 9 10 11 12 12 13 13 14 14 15 16 16 18 19 20 20 21 21 21 21 21 21 21 22 23 23 24 25 26 27 29 30 31 33 34 35 36 36 36 36 36 37 37 38 39 39 39 40 40 39 39 38 37 37 36 34 33 32 32 32 33 34 35 37 38 39 40 40 39 39 39 40 42 44 45 46 47 47 47 47 48 48 49 50 52 54 56 57 58 59 58 58 57 57 56 56 56 56 56 56 56 55 55 54 53 51 50 48 47 48 49 50 52 53 53 51 50 49 48 47 46 44 43 41 40 39 38 37 36 35 34 33 32 32 33 35 36 37 38 38 38 38 39 39 39 39 38 37 36 36 36 36 36 36 -12 -12 -12 -11 -11 -11 -10 -10 -10 -11 -12 -12 -14 -16 -18 -19 -19 -19 -19 -18 -17 -15 -15 -14 -15 -16 -17 -18 -18 -20 -21 -19 -15 -12 -12 -13 -14 -14 -13 -13 -13 -13 -12 -12 -11 -11 -12 -14 -16 -18 -21 -22 -21 -18 -17 -18 -21 -23 -24 -25 -24 -21 -19 -18 -15 -12 -7 -3 -2 -3 -7 -11 -12 -14 -17 -19 -20 -21 -22 -23 -24 -24 -24 -24 -27 -29 -31 -33 -33 -34 -36 -39 -41 -44 -45 -46 -48 -50 -51 -50 -49 -49 -49 -50 -52 -53 -52 -50 -47 -44 -43 -40 -38 -35 -34 -34 -34 -34 -33 -32 -33 -33 -33 -32 -32 -31 -31 -29 -24 -18 -13 -13 -15 -17 -17 -16 -15 -16 -17 -17 -16 -13 -8 -4 0 4 5 5 5 4 3 3 4 5 6 7 8 9 10 11 11 9 7 6 6 8 9 10 10 10 10 10 11 12 11 9 8 6 5 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 5 5 5 5 6 6 6 6 6 7 7 7 7 6 5 4 5 5 5 3 2 0 -1 -2 -3 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 1 2 3 5 6 6 7 8 8 9 9 10 11 11 12 12 13 14 15 16 17 18 19 20 20 20 20 20 20 20 21 21 21 22 22 23 24 25 26 27 29 31 33 34 35 35 35 36 36 37 37 38 38 39 39 39 39 38 37 36 35 34 33 32 31 30 30 30 31 32 33 35 37 38 38 38 38 38 38 39 41 42 44 46 46 47 47 47 48 48 49 50 52 53 55 57 57 57 57 57 56 56 55 55 55 55 55 55 55 55 54 54 53 51 49 47 47 47 48 49 51 53 52 51 50 49 49 49 48 46 45 43 42 41 40 39 38 38 37 36 35 34 34 35 36 37 38 38 38 38 39 39 40 40 39 38 37 36 36 36 36 36 -12 -11 -10 -10 -10 -10 -10 -9 -10 -10 -11 -11 -12 -14 -16 -17 -18 -18 -18 -18 -17 -16 -16 -15 -16 -17 -18 -19 -20 -21 -20 -17 -13 -11 -11 -12 -13 -12 -12 -12 -12 -12 -11 -10 -10 -10 -11 -13 -15 -16 -17 -17 -17 -17 -17 -17 -19 -21 -23 -25 -25 -23 -20 -18 -16 -12 -8 -5 -4 -5 -8 -11 -13 -16 -18 -20 -20 -18 -19 -21 -22 -23 -24 -26 -28 -30 -32 -33 -33 -35 -37 -39 -41 -43 -44 -46 -48 -51 -52 -52 -50 -49 -49 -49 -50 -50 -50 -49 -48 -47 -45 -42 -39 -35 -32 -30 -31 -31 -32 -32 -32 -33 -33 -33 -33 -33 -32 -28 -20 -13 -11 -12 -14 -17 -18 -17 -17 -16 -15 -14 -12 -13 -15 -14 -9 -3 1 2 2 2 1 1 1 2 3 4 5 5 7 8 8 8 7 6 6 7 9 10 10 10 11 12 12 12 11 9 7 6 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 6 5 5 5 5 5 6 6 6 6 6 6 7 6 5 4 4 4 4 4 3 2 -0 -2 -3 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -5 -4 -3 -2 -1 -0 1 1 2 3 4 5 5 5 5 5 5 6 7 8 8 9 10 10 11 12 13 14 15 16 17 18 18 18 19 19 19 19 20 20 20 20 21 21 21 22 23 25 27 29 31 32 33 34 35 35 36 36 37 37 38 38 39 38 38 37 36 35 34 33 31 30 29 29 28 28 29 30 31 33 35 36 37 38 38 38 38 38 39 41 43 45 46 47 47 47 48 48 49 50 51 52 54 55 55 56 56 55 55 54 54 53 54 54 54 54 54 54 54 53 52 51 49 47 46 46 47 49 51 52 52 51 50 50 50 49 48 47 45 44 43 42 41 40 40 39 39 38 37 36 36 36 36 37 38 39 39 39 39 39 40 40 40 39 38 37 36 36 36 36 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -14 -15 -16 -16 -17 -18 -17 -17 -17 -16 -16 -17 -18 -20 -21 -21 -18 -14 -11 -10 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -12 -12 -12 -12 -12 -12 -14 -16 -19 -22 -24 -24 -24 -22 -20 -19 -17 -14 -10 -7 -5 -6 -8 -10 -12 -15 -18 -19 -18 -16 -18 -20 -21 -22 -23 -26 -29 -31 -33 -33 -34 -35 -37 -39 -40 -41 -43 -45 -48 -50 -51 -51 -50 -49 -48 -48 -48 -48 -49 -49 -50 -49 -47 -44 -40 -37 -34 -31 -30 -30 -31 -31 -32 -33 -33 -33 -33 -33 -30 -24 -18 -14 -12 -12 -13 -14 -15 -15 -16 -15 -14 -13 -11 -9 -10 -12 -13 -12 -7 -4 -2 -1 -1 -1 -1 -0 0 1 1 2 3 4 5 6 7 6 6 7 8 10 11 11 12 13 13 13 11 9 7 6 5 5 5 5 6 6 6 5 5 6 6 6 6 5 5 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 6 6 6 6 5 4 3 3 3 3 3 1 -0 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -9 -7 -6 -5 -4 -3 -1 -0 0 1 2 2 3 3 3 3 3 2 2 2 2 3 4 5 6 7 8 8 9 10 11 12 13 14 15 15 16 17 18 18 18 18 18 19 19 19 19 19 20 22 24 26 28 29 30 31 32 33 34 35 36 36 37 37 37 37 37 37 36 35 34 33 32 31 30 28 27 27 27 28 29 30 32 34 35 36 37 37 37 37 38 39 40 42 44 46 47 48 48 48 48 49 49 50 51 51 52 53 54 54 53 53 52 52 52 53 53 53 53 53 53 53 52 51 50 49 48 47 47 47 48 50 51 52 51 51 50 50 50 49 47 45 43 43 42 41 40 40 40 40 39 39 38 38 37 37 37 38 39 39 39 39 39 39 40 40 40 39 38 37 36 36 36 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -14 -15 -17 -17 -17 -17 -17 -16 -17 -18 -19 -21 -22 -22 -18 -14 -11 -10 -11 -11 -10 -10 -10 -10 -11 -11 -11 -12 -13 -14 -14 -12 -11 -10 -9 -9 -9 -10 -13 -17 -20 -22 -23 -23 -21 -20 -18 -18 -17 -16 -12 -9 -6 -5 -5 -8 -11 -14 -17 -18 -17 -16 -18 -20 -21 -21 -22 -25 -29 -32 -33 -34 -34 -36 -37 -38 -39 -40 -42 -45 -47 -49 -50 -50 -50 -49 -48 -47 -46 -46 -47 -48 -49 -49 -47 -45 -42 -40 -36 -33 -31 -30 -30 -31 -32 -33 -34 -33 -31 -28 -25 -22 -19 -16 -15 -15 -15 -14 -13 -13 -14 -15 -14 -12 -12 -12 -12 -11 -11 -12 -13 -11 -8 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 1 2 4 5 6 7 7 8 10 11 12 14 14 14 13 10 8 7 6 5 5 6 6 6 6 6 6 6 6 7 6 6 5 4 4 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 3 2 2 2 2 1 -1 -2 -3 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -9 -8 -7 -6 -4 -3 -2 -1 -0 0 1 1 1 1 1 0 -0 -1 -2 -2 -2 -1 -0 1 2 3 4 4 5 5 6 7 8 9 10 11 12 13 15 16 16 16 16 16 17 17 17 17 18 19 21 23 24 26 27 28 29 30 31 33 34 34 35 35 36 36 36 35 35 35 35 35 35 34 32 30 28 27 26 27 27 28 30 31 33 34 36 37 37 37 37 37 38 39 42 44 46 47 48 48 48 48 48 49 49 49 49 50 51 51 52 51 51 51 51 51 52 52 52 52 52 52 51 51 50 50 49 48 48 47 47 48 49 50 51 51 51 51 51 50 49 47 44 43 41 41 41 40 40 40 40 40 40 39 39 39 38 38 38 39 39 39 39 39 39 40 41 41 41 40 38 37 36 36 -8 -8 -8 -9 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -13 -14 -15 -15 -15 -15 -16 -17 -19 -20 -22 -22 -21 -17 -13 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -15 -15 -13 -12 -10 -8 -8 -8 -7 -10 -13 -18 -21 -21 -21 -20 -19 -18 -17 -17 -17 -16 -14 -11 -7 -4 -3 -6 -10 -13 -14 -15 -15 -16 -19 -20 -21 -21 -23 -26 -29 -32 -35 -36 -36 -37 -37 -38 -38 -40 -42 -45 -47 -48 -49 -49 -49 -49 -48 -46 -46 -45 -46 -47 -47 -47 -45 -45 -44 -43 -40 -36 -33 -32 -31 -32 -32 -33 -34 -34 -31 -26 -24 -22 -21 -20 -21 -22 -20 -17 -13 -12 -12 -12 -12 -13 -16 -19 -18 -16 -13 -11 -9 -8 -10 -12 -14 -11 -7 -7 -5 -5 -4 -4 -3 -2 -0 1 3 5 7 8 9 10 12 14 15 15 14 12 10 8 7 6 6 6 6 6 6 6 5 5 6 6 7 6 5 4 3 3 3 3 3 4 4 5 5 5 5 5 6 5 5 5 5 5 5 4 4 3 2 2 1 1 -0 -2 -3 -3 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 -0 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -5 -4 -3 -2 -1 -0 0 0 1 1 3 3 4 5 6 8 10 11 12 13 13 13 13 13 14 14 15 16 18 20 21 23 24 24 25 26 28 29 31 32 33 33 34 34 34 34 34 35 35 36 36 36 35 33 30 28 26 26 26 27 28 30 31 33 34 35 36 36 36 36 36 37 39 41 44 46 48 49 49 48 48 48 48 48 47 47 48 48 49 49 49 49 50 50 51 51 52 52 51 51 51 50 49 49 49 49 48 48 47 47 47 48 48 49 50 50 50 50 50 49 47 44 42 41 40 40 40 40 40 41 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 41 42 42 41 40 39 37 37 -8 -7 -7 -9 -9 -8 -7 -6 -6 -6 -6 -7 -8 -8 -9 -9 -10 -11 -12 -12 -13 -14 -15 -16 -18 -19 -20 -21 -21 -20 -16 -13 -11 -9 -9 -9 -10 -11 -11 -12 -12 -13 -14 -14 -14 -13 -12 -10 -9 -8 -7 -7 -8 -10 -14 -18 -20 -19 -18 -16 -16 -16 -16 -16 -16 -16 -14 -12 -7 -3 -2 -5 -9 -12 -12 -12 -13 -16 -20 -21 -21 -22 -25 -28 -31 -34 -37 -40 -39 -38 -38 -39 -40 -41 -43 -44 -46 -48 -48 -48 -47 -47 -47 -46 -47 -47 -47 -47 -46 -45 -45 -45 -45 -44 -43 -39 -36 -34 -33 -33 -33 -33 -33 -34 -32 -28 -27 -25 -25 -26 -27 -27 -24 -21 -18 -16 -13 -12 -12 -15 -19 -22 -23 -22 -21 -18 -13 -10 -11 -14 -16 -13 -11 -11 -11 -9 -8 -7 -5 -4 -3 -1 1 4 6 8 9 11 13 15 15 15 13 11 9 8 7 6 6 6 6 6 5 5 5 5 6 6 6 5 4 3 2 2 2 2 2 3 4 5 5 5 5 5 5 5 4 4 4 4 4 4 3 2 1 1 -0 -1 -2 -3 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -8 -9 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -3 -3 -2 -2 -1 0 2 4 5 7 7 8 8 9 9 9 10 11 12 14 16 18 19 20 21 22 23 24 25 27 28 29 30 31 32 32 33 33 33 34 35 35 36 35 33 31 29 27 26 26 26 27 28 29 31 32 34 34 35 35 35 35 36 36 38 40 43 45 47 49 49 49 48 48 47 47 46 46 46 46 46 47 47 48 49 50 50 51 51 51 50 50 49 49 48 48 48 48 48 48 47 46 46 46 46 47 48 48 48 49 48 48 47 44 42 40 40 39 40 40 41 41 41 41 40 40 40 41 40 40 39 39 39 39 40 40 41 41 42 42 42 41 40 38 37 -8 -6 -7 -8 -8 -7 -6 -5 -5 -6 -7 -7 -8 -8 -8 -9 -9 -9 -10 -11 -12 -13 -14 -16 -17 -17 -18 -19 -20 -18 -16 -14 -12 -10 -9 -10 -12 -13 -14 -14 -14 -14 -14 -13 -12 -11 -10 -10 -9 -9 -8 -8 -10 -12 -15 -17 -17 -17 -15 -14 -13 -14 -15 -15 -15 -14 -14 -11 -7 -3 -2 -5 -10 -11 -10 -9 -10 -14 -19 -21 -23 -25 -29 -33 -36 -38 -41 -43 -42 -41 -40 -41 -42 -42 -42 -43 -44 -45 -45 -44 -43 -43 -44 -45 -48 -50 -50 -48 -47 -45 -45 -44 -44 -44 -43 -41 -39 -37 -36 -35 -34 -33 -33 -32 -31 -30 -30 -30 -30 -31 -32 -29 -26 -25 -25 -24 -19 -16 -14 -16 -20 -23 -24 -26 -28 -27 -24 -19 -17 -17 -17 -13 -9 -9 -12 -14 -14 -11 -9 -7 -5 -3 -1 2 5 8 10 12 14 15 15 14 12 11 9 8 7 7 6 6 5 5 4 4 4 5 5 5 5 4 3 2 1 1 1 1 2 3 4 4 5 5 5 5 5 4 4 4 4 4 3 3 2 1 0 -1 -2 -3 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -11 -12 -12 -12 -12 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -4 -3 -1 0 1 2 3 4 4 5 6 7 8 10 12 14 16 17 18 19 19 20 21 23 24 25 27 28 29 30 31 31 31 32 32 33 33 33 32 30 29 27 26 25 25 25 26 27 28 30 32 33 33 34 34 34 35 35 36 37 39 41 44 46 48 48 48 48 48 47 46 45 44 44 44 44 44 45 46 47 48 49 50 50 50 49 49 48 48 47 48 48 48 48 48 47 45 44 44 44 44 45 46 47 47 47 47 46 45 43 41 40 39 39 40 41 42 42 42 42 41 41 41 41 40 40 39 39 39 40 40 41 41 42 42 43 42 41 39 38 -7 -6 -6 -8 -7 -6 -5 -5 -5 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -10 -11 -12 -13 -15 -15 -16 -16 -17 -18 -17 -16 -15 -13 -12 -11 -12 -14 -15 -16 -16 -16 -15 -13 -11 -9 -9 -9 -9 -10 -11 -11 -12 -13 -14 -15 -15 -14 -14 -13 -11 -11 -11 -13 -13 -13 -12 -11 -8 -6 -5 -4 -5 -7 -8 -8 -8 -10 -14 -19 -23 -26 -30 -35 -39 -42 -43 -43 -42 -40 -38 -37 -37 -39 -39 -40 -40 -41 -41 -41 -42 -42 -42 -43 -44 -47 -51 -53 -52 -50 -47 -46 -45 -44 -43 -41 -40 -40 -40 -40 -39 -37 -35 -32 -28 -26 -28 -31 -32 -33 -34 -34 -32 -30 -29 -29 -30 -27 -23 -20 -18 -19 -23 -25 -27 -30 -32 -32 -28 -25 -22 -19 -14 -8 -7 -10 -14 -17 -16 -13 -10 -8 -5 -2 0 4 7 11 13 14 15 14 13 12 10 9 8 7 6 5 4 4 3 3 3 3 4 4 4 3 2 1 0 -0 -0 -0 1 2 3 3 4 4 5 5 4 4 3 3 3 3 3 3 2 1 0 -1 -2 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -11 -12 -14 -15 -15 -15 -15 -14 -14 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -7 -6 -4 -3 -2 -1 -0 1 2 3 5 6 8 10 11 13 14 15 16 17 18 19 21 22 23 24 25 26 27 27 28 28 28 29 29 29 29 28 27 26 25 25 25 24 24 25 26 27 28 30 31 32 32 33 33 34 34 35 35 37 39 41 44 45 46 47 46 46 46 45 44 43 42 41 41 41 42 42 44 45 46 47 48 48 47 47 47 46 47 47 47 48 48 48 47 45 43 42 41 42 43 44 45 45 46 46 46 45 44 42 40 39 39 40 41 42 43 43 43 42 41 41 41 40 40 39 39 39 39 40 40 41 41 42 43 43 42 40 38 -6 -5 -6 -7 -7 -6 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -14 -14 -15 -16 -16 -17 -17 -16 -15 -14 -14 -15 -16 -16 -16 -16 -14 -12 -10 -9 -9 -9 -10 -12 -13 -14 -15 -15 -15 -14 -13 -13 -12 -11 -9 -8 -9 -11 -11 -11 -9 -7 -5 -4 -4 -4 -5 -7 -7 -7 -9 -12 -17 -22 -25 -29 -33 -37 -40 -42 -41 -40 -38 -37 -36 -36 -37 -38 -38 -38 -38 -38 -38 -38 -40 -41 -43 -44 -45 -46 -50 -54 -56 -54 -51 -48 -46 -43 -42 -40 -39 -40 -40 -41 -40 -39 -36 -31 -27 -25 -27 -30 -33 -34 -35 -36 -35 -33 -32 -31 -32 -33 -32 -29 -26 -23 -23 -25 -27 -30 -32 -33 -32 -29 -25 -22 -19 -14 -12 -11 -12 -15 -16 -15 -13 -11 -8 -5 -2 2 6 9 12 13 13 13 12 11 10 9 8 6 5 4 3 2 2 1 2 2 3 3 3 2 0 -0 -1 -1 -1 -1 0 1 2 3 3 4 4 4 3 3 3 3 3 3 3 2 1 0 -1 -3 -4 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -15 -16 -17 -17 -17 -17 -16 -16 -15 -14 -14 -14 -14 -14 -13 -14 -14 -14 -14 -13 -12 -11 -9 -8 -7 -5 -4 -3 -1 1 2 4 5 7 8 9 11 12 13 14 15 16 18 18 19 20 21 22 22 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 26 28 29 30 30 31 32 33 33 34 34 35 36 38 40 42 43 43 44 43 43 42 42 41 40 39 38 38 38 39 40 41 42 44 44 45 45 45 45 45 45 46 47 47 48 48 47 45 43 41 40 40 41 42 43 44 45 46 46 46 45 43 42 40 39 40 40 41 43 43 43 43 42 41 41 40 40 40 39 39 39 40 40 40 41 41 42 43 43 41 39 -5 -5 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -14 -15 -17 -19 -19 -18 -17 -16 -14 -14 -14 -15 -15 -14 -13 -12 -11 -10 -10 -11 -12 -13 -14 -15 -15 -15 -14 -13 -12 -11 -9 -7 -6 -7 -9 -9 -7 -5 -3 -1 -1 -2 -4 -5 -5 -6 -9 -12 -17 -21 -25 -29 -33 -36 -38 -39 -39 -38 -37 -36 -36 -37 -37 -37 -36 -36 -37 -37 -36 -36 -37 -38 -41 -43 -45 -46 -46 -50 -54 -56 -56 -54 -51 -48 -45 -42 -39 -39 -39 -40 -40 -40 -39 -38 -35 -33 -32 -31 -32 -33 -35 -36 -36 -36 -35 -34 -34 -34 -34 -33 -32 -32 -30 -27 -27 -28 -30 -33 -34 -32 -28 -25 -25 -25 -24 -21 -17 -15 -14 -14 -15 -14 -14 -12 -10 -6 -1 3 7 9 11 11 11 10 9 8 7 6 5 4 3 1 1 0 0 1 1 1 1 1 -0 -1 -2 -3 -3 -2 -1 -0 1 2 2 3 3 3 3 3 2 2 2 3 2 2 1 -0 -2 -3 -4 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -17 -18 -18 -19 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -13 -12 -10 -9 -7 -6 -4 -2 -0 1 3 4 5 6 8 9 10 11 13 14 15 15 16 17 18 18 19 19 19 19 20 20 20 20 21 21 21 22 22 22 22 22 22 22 23 23 23 24 25 26 26 27 28 29 30 31 32 32 33 33 34 35 36 37 38 39 40 40 40 40 39 38 37 36 35 35 35 35 36 37 38 40 41 42 42 42 42 42 42 43 44 46 47 48 47 46 44 41 40 39 39 40 42 43 44 45 46 46 45 44 43 41 40 40 40 41 42 43 43 43 42 41 41 40 40 40 40 40 40 40 40 40 40 40 41 42 43 42 41 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -9 -9 -10 -11 -11 -12 -13 -15 -18 -19 -19 -18 -16 -14 -13 -13 -14 -14 -14 -12 -11 -12 -12 -11 -11 -12 -12 -12 -12 -13 -14 -13 -13 -13 -12 -10 -8 -6 -4 -4 -5 -5 -3 -1 1 3 3 -0 -4 -6 -8 -10 -14 -19 -23 -26 -30 -33 -36 -37 -36 -34 -34 -35 -37 -37 -37 -38 -37 -36 -35 -35 -35 -36 -36 -36 -36 -37 -40 -42 -45 -46 -47 -49 -52 -54 -55 -55 -53 -51 -47 -43 -40 -38 -38 -39 -39 -38 -38 -37 -35 -34 -33 -33 -33 -34 -36 -37 -37 -37 -37 -37 -37 -37 -36 -36 -36 -35 -34 -32 -30 -30 -29 -30 -30 -29 -28 -28 -29 -30 -29 -26 -24 -23 -22 -19 -17 -17 -17 -17 -17 -13 -7 -2 2 5 7 8 9 8 7 6 6 5 4 3 1 0 -0 -1 -1 -0 -0 -0 -0 -1 -2 -3 -4 -4 -4 -3 -2 -1 -0 1 1 2 2 2 2 2 2 3 3 2 1 0 -1 -2 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -14 -15 -17 -18 -18 -19 -19 -19 -19 -19 -20 -20 -19 -18 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -15 -14 -12 -10 -8 -6 -5 -3 -1 0 1 3 4 5 6 8 9 10 11 12 12 13 14 15 15 16 16 17 17 17 18 18 18 19 19 19 19 20 20 20 20 20 20 21 21 22 22 23 23 24 24 25 26 26 27 29 30 30 31 31 31 31 32 33 34 35 35 36 36 36 36 35 34 34 33 33 33 32 33 33 34 35 37 38 39 39 39 39 39 39 41 42 44 46 47 46 45 43 40 39 39 40 41 42 44 45 45 46 46 45 44 42 41 40 40 41 42 42 43 43 43 42 41 40 40 40 40 40 40 40 40 39 39 40 40 42 43 44 43 -5 -4 -4 -4 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -8 -7 -7 -8 -10 -11 -13 -15 -17 -19 -18 -17 -15 -14 -14 -14 -14 -13 -13 -11 -10 -10 -11 -12 -12 -12 -12 -12 -11 -11 -11 -12 -11 -12 -12 -12 -10 -8 -5 -3 -1 -1 -0 1 3 5 6 3 -2 -7 -12 -15 -18 -21 -25 -28 -31 -33 -35 -36 -35 -32 -30 -32 -34 -36 -37 -38 -37 -36 -35 -34 -34 -34 -35 -35 -35 -36 -37 -39 -41 -43 -44 -46 -49 -52 -54 -54 -54 -53 -52 -49 -45 -41 -39 -38 -38 -38 -37 -36 -35 -34 -34 -33 -33 -34 -35 -37 -38 -39 -38 -38 -39 -40 -39 -38 -38 -39 -38 -37 -36 -35 -33 -31 -27 -22 -22 -26 -29 -30 -28 -26 -26 -26 -26 -27 -28 -26 -24 -23 -24 -26 -24 -18 -11 -5 -0 2 4 6 6 5 4 3 2 2 1 0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -5 -4 -3 -3 -2 -1 -0 0 1 1 1 2 2 3 3 2 1 -0 -2 -3 -4 -5 -6 -7 -8 -9 -9 -10 -10 -10 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -9 -9 -10 -11 -11 -11 -10 -10 -10 -11 -13 -15 -17 -18 -20 -21 -21 -21 -20 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -19 -19 -20 -20 -20 -20 -20 -20 -20 -19 -18 -17 -15 -13 -11 -9 -7 -5 -3 -1 -0 1 1 3 4 5 7 8 9 9 9 10 10 11 12 13 14 15 15 16 16 17 17 18 18 18 18 18 18 18 17 17 17 18 18 19 19 20 21 22 22 23 23 24 25 26 27 28 28 29 29 29 29 29 30 30 31 32 32 33 33 33 33 33 32 32 31 31 31 31 31 31 32 33 35 36 37 37 37 36 36 37 38 41 43 45 46 45 44 42 40 39 39 40 42 43 44 45 46 46 45 44 43 42 41 41 41 41 42 42 43 43 42 41 41 40 40 40 40 40 40 40 39 39 39 40 41 43 45 45 -5 -4 -3 -2 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -10 -10 -10 -10 -10 -10 -8 -7 -6 -7 -8 -10 -12 -15 -17 -19 -19 -18 -15 -13 -13 -14 -14 -14 -13 -11 -9 -8 -9 -10 -12 -13 -13 -12 -11 -11 -11 -10 -9 -9 -10 -11 -12 -10 -8 -5 -2 1 2 4 5 6 7 5 -1 -7 -14 -19 -23 -26 -28 -29 -31 -33 -35 -35 -34 -31 -27 -28 -31 -33 -34 -35 -36 -35 -34 -33 -33 -33 -33 -34 -34 -35 -36 -37 -39 -40 -41 -42 -45 -49 -53 -56 -56 -53 -52 -52 -50 -47 -43 -40 -38 -37 -36 -36 -35 -33 -33 -32 -32 -33 -34 -36 -38 -39 -40 -39 -39 -39 -39 -39 -39 -40 -40 -40 -39 -38 -38 -37 -35 -31 -26 -24 -26 -28 -30 -28 -27 -27 -28 -28 -27 -26 -24 -24 -24 -25 -27 -27 -27 -23 -17 -9 -4 -1 1 3 2 1 0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -4 -5 -5 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 -1 -1 -0 1 2 3 3 2 1 -0 -2 -4 -5 -6 -7 -8 -9 -9 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -12 -12 -14 -15 -17 -19 -21 -22 -23 -23 -23 -22 -21 -21 -21 -21 -20 -20 -19 -18 -18 -19 -19 -20 -21 -21 -21 -21 -21 -20 -20 -19 -18 -17 -16 -14 -11 -9 -7 -4 -3 -1 -1 -0 0 1 3 4 5 6 7 7 7 7 8 9 10 11 12 13 14 15 16 16 17 17 17 17 17 16 16 15 15 15 15 16 16 16 17 18 19 20 21 21 22 23 23 24 25 26 27 27 27 27 27 27 27 27 28 29 30 31 31 32 32 31 31 31 31 31 31 30 30 30 30 30 31 33 34 35 35 34 34 34 35 37 39 42 44 45 44 42 41 40 39 40 41 43 44 45 46 46 46 45 44 43 42 41 41 41 41 41 42 42 42 41 41 40 40 40 40 40 40 40 40 39 39 39 41 43 45 46 -5 -4 -3 -2 -3 -4 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -9 -9 -8 -7 -6 -6 -7 -9 -11 -14 -16 -18 -18 -18 -17 -15 -13 -13 -14 -15 -14 -12 -9 -7 -7 -8 -10 -12 -13 -12 -11 -11 -10 -10 -9 -8 -8 -9 -11 -11 -10 -7 -4 -1 2 5 6 6 6 4 -1 -9 -15 -20 -24 -27 -30 -32 -33 -33 -35 -36 -35 -31 -27 -24 -28 -31 -32 -31 -32 -33 -32 -32 -32 -32 -32 -33 -34 -35 -35 -36 -38 -39 -39 -40 -41 -44 -49 -53 -56 -56 -53 -50 -49 -49 -47 -45 -42 -38 -37 -36 -35 -33 -31 -30 -30 -31 -32 -34 -36 -38 -39 -39 -39 -39 -38 -38 -39 -40 -41 -41 -41 -41 -40 -39 -39 -37 -34 -30 -27 -26 -27 -28 -29 -29 -29 -30 -31 -29 -27 -26 -26 -26 -25 -27 -28 -29 -29 -26 -20 -13 -8 -4 -2 -1 -2 -3 -3 -3 -3 -2 -2 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -1 1 2 3 3 1 -0 -2 -4 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -14 -14 -13 -13 -14 -15 -16 -17 -19 -21 -23 -24 -25 -25 -24 -23 -22 -21 -21 -21 -20 -20 -19 -18 -19 -19 -20 -20 -21 -21 -21 -21 -20 -20 -19 -19 -18 -17 -16 -14 -12 -9 -7 -5 -3 -2 -2 -1 -1 -0 1 2 4 4 4 4 4 4 5 6 8 10 11 12 14 15 15 16 16 16 16 16 16 15 14 13 13 13 14 15 15 15 15 16 17 18 19 20 21 22 22 23 23 24 25 25 25 25 25 24 24 25 26 27 28 29 30 30 31 30 30 30 30 30 30 30 29 28 28 28 28 29 31 32 33 33 32 32 32 33 35 38 41 42 43 42 41 40 39 39 40 42 44 45 46 46 47 46 45 44 43 42 41 40 40 40 41 41 41 41 40 40 40 40 40 40 39 40 40 40 40 39 40 43 45 47 -5 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -7 -7 -8 -8 -8 -9 -9 -9 -8 -6 -5 -6 -8 -10 -13 -16 -18 -19 -18 -17 -16 -15 -15 -15 -15 -15 -13 -11 -9 -8 -8 -9 -10 -11 -12 -11 -10 -10 -10 -10 -9 -8 -8 -9 -10 -10 -10 -7 -4 -1 2 4 4 3 1 -3 -10 -17 -21 -24 -25 -27 -29 -31 -33 -35 -37 -37 -34 -30 -26 -25 -28 -31 -31 -31 -30 -31 -31 -31 -31 -32 -33 -34 -35 -36 -36 -36 -37 -38 -38 -38 -40 -44 -49 -52 -54 -54 -52 -48 -46 -45 -46 -45 -42 -39 -37 -36 -34 -31 -29 -27 -27 -29 -31 -34 -36 -38 -38 -38 -39 -39 -39 -39 -40 -42 -42 -42 -42 -42 -41 -41 -41 -39 -36 -32 -29 -27 -27 -27 -28 -29 -31 -33 -34 -32 -30 -30 -30 -29 -26 -26 -28 -31 -32 -31 -27 -23 -19 -15 -10 -7 -6 -6 -6 -6 -6 -5 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 1 2 3 1 -0 -2 -4 -5 -7 -8 -9 -9 -10 -11 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -11 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -15 -16 -16 -17 -18 -20 -21 -23 -24 -25 -26 -25 -25 -23 -22 -21 -21 -20 -20 -19 -19 -18 -19 -19 -20 -20 -20 -20 -20 -19 -19 -19 -18 -18 -18 -17 -16 -15 -13 -10 -8 -6 -5 -4 -3 -3 -2 -1 -0 1 2 2 2 2 2 2 3 5 7 8 10 11 13 14 14 15 15 15 15 14 14 13 12 12 12 12 13 14 14 14 14 15 15 15 16 18 19 20 20 21 21 22 23 23 23 23 22 22 22 23 24 25 27 28 29 29 30 30 29 29 29 29 29 29 28 27 26 25 26 26 28 30 31 32 31 31 30 30 31 34 36 39 40 40 39 39 38 38 39 41 43 44 46 46 47 47 47 46 45 43 42 41 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 42 45 47 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -8 -9 -8 -6 -6 -7 -9 -11 -14 -17 -19 -19 -18 -16 -15 -15 -16 -16 -16 -15 -13 -11 -9 -9 -10 -10 -10 -10 -10 -9 -8 -8 -9 -10 -10 -10 -10 -10 -9 -8 -9 -8 -6 -3 0 1 -1 -5 -10 -15 -19 -22 -24 -24 -23 -22 -22 -24 -28 -32 -35 -35 -33 -31 -29 -28 -29 -29 -30 -30 -31 -31 -31 -31 -32 -33 -34 -35 -36 -36 -35 -36 -36 -37 -37 -38 -40 -44 -48 -52 -53 -52 -48 -44 -41 -40 -42 -43 -41 -39 -38 -36 -34 -31 -28 -27 -27 -29 -31 -33 -35 -36 -36 -37 -39 -40 -41 -41 -40 -42 -43 -43 -43 -42 -42 -43 -43 -42 -38 -34 -31 -29 -28 -27 -27 -28 -31 -34 -36 -35 -34 -34 -33 -30 -27 -27 -28 -30 -32 -33 -31 -29 -27 -24 -21 -18 -15 -12 -10 -9 -9 -8 -7 -6 -6 -7 -8 -9 -9 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -5 -5 -4 -2 -0 1 2 1 -0 -2 -4 -5 -7 -8 -9 -10 -10 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -16 -17 -17 -17 -17 -18 -19 -20 -21 -22 -24 -25 -26 -26 -26 -26 -25 -24 -22 -21 -20 -20 -19 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -18 -17 -17 -17 -17 -16 -15 -14 -11 -9 -8 -6 -5 -4 -4 -3 -2 -1 -0 0 0 0 0 0 1 3 4 6 8 9 10 11 12 13 13 13 13 13 13 12 11 11 11 11 11 12 12 13 13 14 14 13 13 14 15 16 17 18 19 19 19 20 20 20 20 19 19 19 20 21 23 25 26 27 28 28 28 28 28 28 28 28 27 27 26 25 24 23 24 25 26 28 30 30 30 29 28 28 29 32 34 36 37 37 37 37 37 37 39 41 43 45 46 47 47 48 47 46 45 43 41 39 38 39 39 40 40 40 39 40 40 40 40 40 40 41 41 41 41 41 42 43 46 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -8 -7 -7 -8 -10 -12 -15 -17 -18 -18 -17 -15 -15 -15 -16 -16 -16 -14 -12 -11 -10 -10 -10 -10 -10 -9 -8 -7 -7 -8 -9 -10 -11 -13 -13 -12 -9 -8 -8 -8 -7 -6 -5 -7 -11 -16 -20 -23 -24 -25 -25 -24 -23 -22 -22 -23 -26 -30 -33 -33 -32 -31 -30 -30 -30 -29 -30 -31 -31 -31 -31 -31 -32 -33 -35 -36 -36 -35 -34 -34 -33 -34 -36 -38 -40 -42 -45 -47 -48 -48 -45 -42 -40 -39 -38 -38 -39 -38 -38 -36 -34 -31 -28 -27 -28 -30 -31 -32 -33 -34 -35 -36 -38 -42 -44 -44 -42 -43 -45 -45 -44 -42 -43 -46 -47 -45 -41 -36 -32 -30 -29 -28 -28 -29 -31 -34 -36 -36 -35 -34 -33 -30 -29 -28 -29 -30 -32 -33 -33 -32 -31 -31 -30 -28 -26 -23 -19 -14 -12 -11 -10 -9 -9 -9 -10 -10 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -1 0 1 1 -0 -2 -3 -5 -7 -8 -9 -10 -10 -11 -12 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -19 -19 -19 -19 -20 -21 -22 -23 -24 -25 -26 -26 -27 -26 -26 -25 -23 -22 -21 -20 -19 -18 -18 -17 -17 -18 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -15 -14 -12 -11 -9 -7 -6 -5 -3 -2 -2 -1 -1 -0 -1 -1 -1 0 1 3 4 6 7 8 9 10 11 11 11 11 11 11 11 10 10 10 10 10 10 11 11 12 12 13 13 12 12 12 12 13 14 15 16 16 16 17 17 17 17 16 16 16 17 18 20 22 23 24 25 25 25 25 25 26 26 25 25 25 24 23 22 22 22 22 23 25 27 28 29 28 27 26 26 27 30 32 34 35 35 35 35 36 37 39 41 43 44 46 47 48 48 47 46 43 41 38 37 37 38 39 39 39 39 39 40 40 41 41 42 42 42 42 41 41 41 42 43 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -9 -8 -8 -9 -11 -13 -14 -14 -14 -14 -14 -13 -13 -14 -14 -14 -14 -13 -12 -10 -9 -10 -10 -11 -10 -9 -8 -7 -8 -10 -11 -12 -14 -16 -15 -13 -11 -10 -10 -11 -10 -11 -12 -15 -19 -23 -26 -28 -28 -28 -28 -27 -26 -25 -25 -25 -26 -28 -29 -30 -30 -30 -31 -32 -31 -31 -31 -32 -33 -33 -33 -33 -34 -35 -36 -36 -36 -35 -34 -33 -32 -33 -35 -37 -39 -40 -41 -43 -44 -44 -43 -42 -41 -39 -37 -35 -35 -35 -36 -36 -34 -32 -30 -30 -31 -32 -31 -30 -30 -32 -34 -35 -36 -37 -38 -40 -42 -43 -43 -42 -42 -42 -44 -46 -47 -46 -42 -38 -34 -31 -30 -29 -30 -30 -31 -33 -35 -35 -34 -33 -32 -32 -31 -31 -31 -32 -33 -35 -35 -34 -34 -34 -34 -34 -34 -32 -28 -22 -17 -14 -13 -12 -11 -11 -11 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -3 -1 0 0 -1 -2 -3 -5 -6 -8 -9 -9 -10 -11 -12 -13 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -16 -17 -18 -19 -20 -20 -20 -21 -22 -23 -24 -25 -26 -26 -26 -27 -27 -26 -25 -24 -23 -21 -20 -19 -18 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -16 -15 -14 -13 -11 -10 -8 -6 -5 -3 -2 -2 -1 -1 -1 -1 -1 -0 0 2 3 4 5 6 7 8 8 9 9 10 10 10 10 10 9 9 9 9 9 9 9 10 10 11 11 11 11 10 10 10 10 11 12 13 13 14 14 14 14 14 14 14 14 14 15 16 18 20 21 21 22 22 22 22 23 23 23 23 23 22 22 21 21 20 20 20 22 24 26 27 27 26 24 23 24 26 28 31 33 34 34 34 34 35 36 38 40 42 44 46 47 48 47 46 44 41 38 36 36 36 37 38 38 39 39 40 40 41 42 43 43 43 43 42 42 41 41 41 -9 -10 -10 -10 -9 -9 -8 -7 -7 -7 -8 -7 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -10 -11 -12 -13 -14 -14 -13 -12 -12 -12 -13 -13 -13 -12 -11 -10 -9 -9 -10 -11 -11 -11 -10 -9 -9 -11 -12 -14 -16 -17 -17 -16 -14 -13 -13 -14 -15 -15 -17 -20 -23 -26 -29 -30 -31 -31 -31 -31 -30 -29 -29 -28 -28 -27 -27 -27 -27 -27 -29 -31 -34 -35 -36 -36 -35 -36 -37 -36 -35 -34 -34 -35 -35 -35 -34 -33 -32 -32 -33 -35 -37 -38 -38 -38 -39 -40 -41 -41 -41 -40 -39 -37 -35 -34 -33 -33 -33 -33 -33 -33 -33 -33 -34 -34 -32 -32 -32 -34 -35 -36 -36 -36 -38 -39 -40 -40 -41 -41 -42 -44 -46 -46 -45 -42 -38 -35 -32 -30 -30 -30 -31 -32 -32 -32 -32 -33 -34 -34 -35 -35 -34 -34 -34 -35 -36 -37 -37 -37 -37 -37 -38 -38 -38 -36 -32 -26 -20 -17 -15 -14 -13 -13 -13 -12 -11 -10 -10 -9 -10 -10 -10 -10 -9 -8 -7 -5 -3 -1 -1 -1 -2 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -17 -18 -19 -20 -21 -21 -21 -22 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -25 -24 -22 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -15 -15 -14 -13 -11 -10 -8 -7 -5 -4 -3 -2 -2 -1 -1 -1 -0 0 1 2 3 4 5 5 6 6 7 7 8 8 9 9 9 9 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 9 10 11 11 11 11 12 12 12 12 12 12 12 13 13 15 16 17 18 18 18 19 19 20 21 21 21 21 21 21 20 20 19 19 19 19 21 23 25 26 25 24 22 21 22 25 28 30 31 32 32 32 33 34 36 38 39 41 43 44 46 46 46 44 40 37 35 34 34 35 36 37 38 39 39 40 41 43 44 45 45 45 44 43 42 41 41 -10 -11 -10 -10 -10 -9 -8 -7 -6 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -12 -11 -10 -10 -11 -12 -14 -15 -14 -13 -13 -12 -12 -12 -11 -11 -10 -8 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -14 -15 -16 -17 -18 -17 -17 -16 -16 -17 -19 -20 -21 -22 -25 -29 -31 -32 -33 -32 -32 -32 -32 -31 -31 -31 -30 -29 -28 -27 -27 -26 -26 -28 -31 -35 -38 -39 -39 -38 -37 -38 -37 -36 -35 -34 -35 -34 -34 -33 -33 -33 -34 -35 -37 -38 -38 -37 -37 -37 -37 -38 -39 -39 -39 -39 -38 -36 -34 -33 -31 -30 -31 -32 -33 -34 -35 -35 -36 -34 -33 -33 -34 -35 -35 -35 -36 -37 -39 -40 -40 -40 -40 -40 -42 -44 -45 -44 -41 -37 -34 -32 -30 -30 -30 -31 -32 -33 -33 -32 -33 -35 -37 -39 -39 -38 -37 -38 -38 -39 -39 -39 -39 -39 -39 -40 -41 -42 -42 -41 -36 -29 -23 -19 -17 -16 -14 -14 -13 -12 -11 -10 -10 -10 -11 -11 -10 -10 -8 -7 -5 -3 -2 -2 -3 -4 -5 -6 -7 -8 -9 -9 -10 -11 -12 -13 -14 -16 -16 -17 -17 -18 -18 -18 -19 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -19 -20 -20 -21 -21 -22 -22 -23 -25 -25 -26 -26 -26 -26 -25 -25 -25 -24 -23 -22 -20 -18 -17 -16 -16 -15 -15 -15 -14 -14 -14 -15 -16 -16 -17 -17 -17 -16 -16 -16 -15 -15 -14 -13 -13 -12 -11 -10 -9 -7 -6 -5 -4 -3 -3 -2 -1 -0 0 1 1 2 3 3 4 4 5 5 5 6 6 7 7 8 8 8 7 7 6 6 6 6 6 7 7 7 7 8 8 8 8 7 7 7 8 9 10 10 10 10 10 10 11 11 11 11 11 11 12 13 13 15 15 16 16 17 18 19 19 20 20 20 20 20 19 19 18 18 18 19 20 22 24 24 23 22 20 20 22 25 27 29 29 29 29 30 31 32 34 36 37 38 40 42 44 44 43 40 36 34 32 32 32 33 35 36 38 39 40 42 43 45 46 46 46 45 44 43 41 41 -12 -12 -11 -11 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -10 -11 -12 -12 -12 -12 -12 -11 -11 -11 -12 -14 -15 -15 -14 -13 -13 -12 -11 -10 -9 -8 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -14 -15 -16 -16 -16 -16 -16 -17 -19 -20 -22 -24 -24 -25 -26 -28 -31 -33 -34 -34 -33 -33 -32 -31 -31 -31 -31 -30 -29 -29 -29 -28 -26 -26 -27 -30 -34 -38 -39 -38 -37 -37 -37 -37 -36 -35 -35 -34 -33 -33 -32 -33 -33 -36 -38 -40 -40 -39 -38 -37 -36 -37 -37 -36 -36 -37 -38 -38 -37 -35 -33 -30 -29 -29 -30 -32 -33 -35 -36 -36 -35 -34 -33 -35 -35 -35 -36 -36 -37 -39 -40 -41 -41 -40 -39 -40 -41 -42 -42 -40 -37 -34 -32 -31 -31 -31 -31 -32 -34 -34 -33 -34 -36 -40 -43 -44 -43 -41 -40 -41 -42 -42 -42 -42 -41 -41 -42 -44 -45 -45 -44 -42 -38 -32 -25 -20 -18 -16 -15 -13 -12 -11 -11 -11 -11 -11 -11 -11 -10 -8 -7 -5 -4 -3 -3 -4 -5 -6 -7 -8 -9 -9 -9 -10 -11 -12 -14 -15 -16 -17 -17 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -19 -19 -20 -20 -21 -21 -21 -22 -22 -23 -24 -25 -25 -25 -24 -24 -24 -24 -24 -23 -22 -21 -20 -18 -17 -16 -15 -15 -14 -14 -13 -13 -14 -15 -16 -17 -17 -17 -16 -16 -15 -15 -14 -14 -13 -12 -12 -12 -11 -11 -9 -8 -8 -7 -6 -5 -3 -2 -1 -0 1 1 1 1 2 2 2 3 3 3 3 4 4 5 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 7 8 8 7 7 6 6 7 8 8 9 8 8 8 9 9 9 10 10 10 10 10 10 11 12 13 14 15 16 17 18 18 19 19 19 19 19 19 18 18 18 18 18 19 20 22 22 22 21 20 19 20 22 24 25 26 26 26 26 27 28 29 31 32 33 35 38 40 41 41 39 36 33 31 30 30 31 33 35 37 39 40 42 43 45 46 47 47 46 46 45 43 42 -13 -13 -12 -11 -10 -9 -7 -7 -7 -7 -8 -9 -10 -10 -10 -11 -11 -12 -12 -13 -13 -13 -12 -12 -13 -14 -15 -14 -14 -13 -12 -11 -9 -9 -8 -8 -9 -11 -12 -13 -13 -14 -15 -16 -17 -16 -14 -14 -14 -14 -13 -14 -16 -19 -22 -25 -27 -28 -28 -27 -28 -30 -32 -34 -34 -33 -32 -32 -31 -31 -31 -32 -32 -31 -31 -31 -30 -28 -27 -26 -26 -28 -32 -35 -36 -35 -35 -36 -36 -36 -36 -36 -35 -34 -33 -32 -32 -32 -34 -38 -40 -41 -40 -39 -38 -37 -37 -36 -35 -34 -34 -34 -35 -36 -35 -34 -32 -30 -29 -28 -29 -30 -32 -33 -34 -35 -34 -33 -33 -34 -35 -36 -36 -36 -37 -38 -39 -40 -40 -39 -38 -38 -39 -39 -39 -38 -35 -33 -32 -31 -31 -31 -32 -33 -33 -34 -34 -35 -37 -40 -44 -46 -45 -43 -42 -43 -45 -46 -46 -45 -44 -43 -44 -46 -47 -47 -47 -46 -44 -40 -32 -24 -21 -19 -16 -14 -13 -11 -11 -11 -12 -12 -12 -11 -10 -9 -8 -6 -5 -5 -5 -5 -5 -6 -8 -9 -9 -9 -10 -10 -11 -13 -14 -15 -16 -17 -18 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -19 -20 -20 -20 -20 -20 -21 -21 -21 -21 -21 -22 -23 -23 -24 -24 -23 -23 -23 -23 -23 -23 -23 -22 -21 -20 -19 -17 -16 -15 -14 -14 -13 -13 -13 -13 -14 -16 -16 -16 -16 -15 -15 -15 -15 -14 -13 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -3 -2 -1 -0 -0 -0 -0 -0 0 0 0 0 1 1 1 2 2 3 4 5 5 5 4 4 3 3 4 4 4 4 5 6 7 7 7 7 6 6 6 6 7 8 8 7 7 7 7 8 8 9 9 9 9 8 8 8 9 11 12 13 14 15 16 17 18 18 19 19 18 18 18 18 18 18 18 18 19 20 21 21 20 18 18 18 19 20 21 22 22 22 22 22 23 24 25 26 28 29 32 35 37 39 38 36 33 31 29 28 29 30 33 35 38 40 42 43 45 46 47 47 47 47 46 45 43 -13 -12 -11 -11 -10 -8 -8 -7 -8 -9 -10 -10 -10 -11 -11 -11 -11 -11 -12 -13 -13 -14 -13 -13 -13 -14 -14 -14 -13 -12 -11 -10 -9 -9 -10 -11 -12 -13 -14 -14 -14 -15 -16 -17 -16 -15 -12 -12 -12 -12 -13 -14 -17 -21 -25 -29 -31 -31 -29 -29 -29 -30 -32 -33 -32 -32 -31 -30 -31 -32 -32 -33 -32 -32 -32 -31 -30 -28 -27 -25 -24 -25 -28 -30 -32 -32 -33 -35 -35 -35 -36 -36 -36 -34 -34 -33 -33 -33 -35 -39 -42 -42 -41 -39 -38 -37 -36 -35 -34 -33 -33 -33 -34 -34 -34 -33 -31 -29 -29 -29 -30 -31 -31 -31 -32 -32 -31 -31 -32 -33 -35 -36 -36 -36 -36 -37 -37 -38 -38 -39 -38 -37 -36 -36 -36 -36 -34 -33 -32 -31 -31 -32 -33 -34 -34 -35 -35 -36 -38 -40 -43 -45 -45 -44 -44 -45 -48 -49 -49 -47 -45 -45 -46 -46 -47 -48 -49 -50 -49 -44 -36 -27 -24 -21 -19 -16 -14 -12 -12 -12 -12 -13 -12 -12 -11 -10 -8 -7 -6 -6 -5 -5 -6 -7 -8 -9 -10 -10 -10 -11 -12 -13 -14 -15 -16 -17 -18 -18 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -22 -22 -22 -22 -22 -22 -21 -21 -21 -22 -22 -23 -22 -22 -21 -19 -18 -16 -15 -14 -13 -12 -12 -12 -13 -14 -15 -16 -16 -16 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -7 -6 -5 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -0 1 2 3 4 4 3 3 2 2 2 3 3 4 4 5 6 7 7 7 6 5 5 5 6 7 7 7 6 5 5 6 7 8 8 8 7 7 6 6 7 9 10 12 13 13 14 15 16 17 17 18 18 17 17 17 17 18 18 18 18 19 19 18 18 17 16 15 15 16 18 18 19 18 18 18 18 19 19 21 22 24 27 30 33 35 36 34 32 30 28 27 27 28 31 34 36 39 41 43 44 45 46 47 47 48 48 47 44 -13 -12 -11 -9 -8 -8 -8 -8 -9 -11 -11 -11 -12 -12 -12 -11 -11 -12 -12 -13 -14 -15 -14 -14 -13 -13 -13 -13 -12 -11 -10 -9 -9 -11 -13 -14 -15 -14 -14 -13 -14 -14 -15 -15 -14 -12 -10 -10 -11 -12 -14 -17 -20 -24 -28 -31 -33 -32 -31 -30 -30 -31 -31 -31 -30 -30 -29 -29 -30 -31 -32 -32 -32 -32 -32 -31 -30 -28 -25 -22 -21 -21 -24 -27 -29 -30 -32 -34 -35 -35 -36 -36 -36 -36 -36 -37 -37 -38 -39 -42 -43 -42 -40 -38 -36 -35 -34 -34 -33 -33 -33 -32 -33 -33 -33 -32 -30 -29 -30 -31 -32 -32 -32 -32 -31 -31 -31 -31 -31 -32 -34 -36 -37 -36 -36 -36 -36 -37 -38 -39 -38 -36 -33 -32 -32 -33 -33 -32 -31 -30 -31 -33 -35 -37 -37 -37 -38 -39 -40 -41 -42 -43 -44 -44 -45 -46 -50 -53 -53 -51 -48 -47 -47 -47 -47 -49 -50 -52 -52 -49 -41 -32 -28 -25 -22 -19 -16 -14 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -9 -10 -10 -11 -11 -12 -13 -14 -15 -15 -16 -17 -17 -18 -19 -20 -20 -20 -20 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -21 -21 -21 -21 -21 -22 -21 -21 -20 -20 -20 -20 -21 -22 -22 -23 -22 -21 -20 -18 -17 -15 -14 -13 -12 -11 -11 -12 -13 -15 -16 -16 -16 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -13 -12 -12 -11 -10 -10 -9 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -4 -3 -3 -1 0 1 2 3 3 2 1 1 1 1 2 2 3 4 5 6 7 7 6 5 4 4 5 6 6 6 5 4 4 5 6 7 8 7 7 6 5 4 5 6 8 9 11 11 12 13 14 15 15 16 16 16 16 16 16 17 17 18 18 18 17 16 15 14 14 13 13 13 14 15 15 15 15 14 14 14 14 15 17 19 22 25 28 31 33 32 31 29 27 26 26 27 29 32 35 37 40 42 43 44 45 46 47 48 49 48 46 -14 -12 -10 -8 -7 -7 -8 -9 -10 -11 -13 -14 -15 -14 -13 -12 -12 -13 -13 -14 -15 -15 -15 -15 -14 -13 -13 -12 -11 -11 -10 -10 -11 -13 -14 -15 -15 -14 -13 -13 -14 -14 -13 -12 -10 -9 -9 -11 -13 -15 -17 -19 -21 -25 -29 -32 -34 -33 -32 -32 -32 -32 -31 -30 -29 -29 -29 -29 -30 -31 -32 -31 -31 -31 -31 -30 -29 -27 -24 -22 -20 -20 -21 -24 -27 -29 -31 -33 -35 -36 -36 -37 -37 -38 -39 -40 -40 -40 -41 -42 -42 -41 -39 -38 -37 -36 -35 -33 -32 -31 -31 -31 -31 -32 -32 -31 -30 -29 -30 -32 -33 -34 -33 -33 -32 -31 -31 -32 -33 -34 -33 -34 -35 -37 -37 -36 -36 -36 -37 -38 -37 -36 -34 -31 -30 -30 -30 -30 -30 -29 -30 -33 -36 -39 -40 -40 -40 -41 -42 -42 -43 -43 -44 -44 -45 -46 -49 -54 -55 -53 -50 -49 -48 -47 -48 -49 -51 -53 -54 -52 -48 -40 -35 -32 -28 -23 -19 -17 -15 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -13 -14 -15 -15 -16 -16 -16 -17 -18 -19 -19 -20 -20 -20 -20 -20 -21 -22 -22 -23 -23 -23 -23 -23 -23 -22 -21 -21 -20 -21 -21 -21 -21 -20 -20 -19 -19 -19 -20 -21 -22 -22 -22 -21 -20 -18 -17 -15 -13 -12 -11 -11 -11 -11 -13 -14 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -13 -12 -12 -11 -10 -10 -9 -8 -7 -6 -6 -5 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -6 -5 -4 -2 -1 0 1 1 1 -0 -1 -1 -1 -0 1 2 3 4 5 6 6 6 5 4 3 4 5 6 6 5 4 4 4 5 6 7 7 6 5 4 4 4 5 6 7 8 9 9 10 11 12 13 13 13 13 14 13 14 14 16 17 17 16 15 13 12 12 11 11 10 10 10 11 12 12 12 11 11 11 11 11 12 14 17 21 23 27 29 29 29 27 25 24 24 25 27 29 32 35 38 40 42 43 44 44 45 47 49 49 48 -15 -12 -10 -8 -7 -7 -8 -9 -10 -11 -14 -16 -17 -16 -15 -13 -13 -14 -15 -15 -15 -15 -15 -15 -15 -13 -12 -11 -11 -10 -10 -11 -12 -13 -13 -13 -13 -13 -14 -14 -13 -13 -12 -10 -8 -8 -9 -12 -15 -17 -19 -20 -22 -25 -28 -31 -34 -35 -35 -35 -35 -34 -32 -30 -29 -29 -29 -30 -31 -31 -31 -30 -29 -29 -28 -28 -27 -25 -23 -21 -20 -20 -21 -23 -25 -28 -31 -32 -34 -35 -36 -37 -38 -40 -42 -42 -42 -41 -41 -41 -42 -41 -39 -38 -37 -36 -35 -34 -33 -31 -30 -29 -30 -31 -31 -31 -30 -31 -32 -34 -34 -34 -34 -34 -33 -32 -32 -32 -34 -37 -36 -34 -33 -35 -36 -35 -34 -35 -36 -36 -35 -35 -34 -33 -31 -30 -29 -29 -29 -29 -30 -33 -37 -40 -41 -42 -43 -43 -44 -44 -45 -45 -45 -45 -46 -46 -48 -52 -54 -54 -51 -51 -50 -49 -48 -49 -52 -54 -54 -54 -52 -46 -40 -36 -31 -27 -23 -21 -18 -16 -15 -15 -15 -14 -13 -12 -11 -10 -9 -8 -8 -8 -9 -10 -11 -12 -13 -13 -14 -14 -15 -15 -16 -16 -16 -16 -17 -18 -18 -19 -19 -19 -20 -20 -20 -21 -22 -22 -23 -23 -24 -24 -24 -24 -23 -22 -21 -21 -20 -21 -21 -21 -20 -20 -19 -19 -19 -19 -20 -21 -22 -22 -21 -20 -18 -16 -15 -13 -12 -11 -10 -10 -11 -12 -14 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -10 -9 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -2 -3 -4 -3 -2 -1 0 1 3 4 5 6 5 4 3 3 3 4 5 6 6 5 5 4 5 6 6 6 6 5 4 4 4 4 4 6 7 7 7 7 7 9 9 10 10 10 10 10 11 12 13 15 15 15 14 12 10 10 10 9 8 7 7 8 9 9 9 9 9 9 9 9 8 7 10 14 17 21 24 26 26 25 24 23 23 24 25 27 30 33 35 38 40 41 42 43 44 45 48 49 49 -16 -13 -10 -9 -9 -9 -9 -9 -10 -11 -12 -14 -14 -15 -14 -13 -14 -15 -16 -16 -16 -16 -16 -15 -15 -13 -12 -10 -10 -10 -11 -11 -11 -11 -11 -11 -12 -13 -14 -13 -13 -12 -11 -10 -8 -8 -10 -13 -16 -18 -19 -20 -22 -25 -28 -31 -34 -36 -36 -37 -38 -37 -34 -31 -30 -30 -30 -30 -31 -30 -29 -28 -27 -27 -26 -26 -26 -25 -23 -22 -22 -22 -23 -24 -25 -28 -30 -32 -33 -34 -34 -35 -38 -41 -44 -44 -43 -42 -40 -41 -41 -40 -39 -37 -36 -36 -35 -34 -33 -31 -30 -30 -30 -31 -31 -31 -32 -33 -34 -35 -35 -34 -34 -34 -33 -33 -33 -34 -34 -35 -34 -33 -32 -32 -33 -34 -34 -34 -34 -35 -34 -34 -33 -33 -32 -31 -30 -29 -29 -30 -31 -33 -35 -37 -40 -42 -44 -46 -46 -46 -46 -46 -47 -47 -48 -48 -48 -50 -52 -53 -53 -54 -53 -50 -48 -48 -52 -54 -55 -55 -54 -50 -44 -38 -32 -29 -27 -25 -23 -20 -18 -16 -15 -14 -13 -12 -11 -10 -10 -9 -9 -10 -11 -12 -13 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -18 -19 -19 -19 -20 -21 -21 -22 -23 -23 -24 -24 -24 -24 -24 -23 -22 -21 -21 -21 -21 -21 -21 -20 -19 -19 -19 -19 -20 -21 -21 -21 -21 -20 -18 -16 -14 -13 -11 -10 -10 -10 -10 -12 -14 -16 -17 -18 -18 -18 -17 -17 -17 -18 -18 -18 -18 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -0 1 2 4 5 5 4 3 3 3 3 4 6 7 7 7 6 5 6 6 6 6 5 4 4 3 3 3 4 5 6 6 5 5 6 6 6 6 5 5 6 7 8 10 12 13 13 12 11 9 9 8 7 6 5 5 5 6 7 7 7 7 7 7 6 2 -0 1 5 7 13 19 22 23 23 22 21 21 22 23 25 27 30 32 35 37 39 40 41 42 44 46 49 50 -16 -14 -13 -12 -13 -13 -12 -12 -12 -12 -11 -10 -11 -12 -12 -13 -14 -15 -16 -17 -17 -17 -16 -15 -14 -13 -11 -10 -10 -11 -12 -11 -10 -9 -9 -10 -13 -15 -14 -13 -12 -11 -11 -10 -9 -9 -10 -12 -15 -18 -19 -21 -23 -25 -28 -30 -33 -35 -36 -38 -38 -38 -35 -32 -31 -30 -31 -31 -31 -30 -28 -27 -26 -26 -26 -26 -26 -25 -25 -24 -23 -24 -24 -25 -27 -29 -30 -31 -32 -33 -34 -35 -38 -42 -45 -46 -45 -42 -40 -41 -41 -40 -39 -38 -36 -35 -34 -33 -33 -32 -31 -30 -30 -29 -30 -31 -32 -34 -36 -36 -35 -33 -32 -32 -32 -33 -34 -36 -36 -34 -33 -33 -32 -32 -32 -34 -34 -33 -32 -33 -33 -33 -33 -33 -33 -33 -32 -31 -31 -31 -33 -34 -36 -37 -38 -41 -44 -48 -50 -50 -48 -48 -48 -49 -50 -50 -49 -49 -50 -52 -54 -56 -55 -52 -49 -48 -51 -53 -55 -55 -55 -54 -49 -41 -34 -32 -31 -30 -28 -26 -22 -18 -16 -14 -13 -12 -12 -11 -11 -11 -11 -12 -13 -14 -15 -16 -16 -17 -17 -18 -18 -17 -17 -17 -16 -16 -17 -17 -17 -17 -18 -18 -18 -19 -19 -20 -21 -22 -22 -23 -23 -24 -24 -25 -24 -24 -23 -22 -22 -22 -22 -22 -21 -21 -20 -19 -19 -19 -19 -20 -21 -20 -20 -19 -17 -16 -14 -12 -11 -10 -9 -10 -11 -13 -15 -16 -17 -18 -18 -18 -17 -17 -17 -18 -18 -19 -19 -18 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -8 -7 -5 -4 -3 -3 -2 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -8 -8 -7 -7 -6 -5 -4 -2 -1 0 2 3 4 4 3 3 3 3 4 6 8 9 9 8 6 6 5 5 5 4 3 2 2 1 1 2 3 4 5 4 3 3 3 3 1 -3 -3 -0 2 3 3 7 9 10 11 10 9 7 6 5 4 3 2 3 4 5 6 6 6 6 5 3 -3 -6 -6 -4 -3 3 10 16 20 20 20 20 20 20 21 22 24 26 29 31 34 36 37 39 40 42 44 47 49 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -11 -11 -11 -11 -12 -13 -15 -16 -17 -17 -18 -17 -16 -16 -15 -14 -12 -11 -12 -13 -12 -11 -9 -8 -9 -11 -14 -15 -15 -14 -13 -12 -12 -11 -10 -10 -11 -12 -15 -17 -19 -21 -24 -27 -29 -31 -32 -34 -36 -37 -37 -36 -35 -33 -32 -31 -31 -32 -32 -30 -28 -26 -25 -26 -27 -26 -26 -26 -26 -25 -25 -25 -26 -28 -30 -30 -30 -30 -30 -33 -35 -37 -39 -42 -45 -46 -46 -44 -41 -41 -41 -40 -40 -39 -37 -36 -34 -33 -31 -30 -30 -29 -29 -29 -30 -31 -32 -34 -36 -37 -36 -34 -31 -30 -30 -32 -34 -36 -37 -36 -35 -34 -34 -33 -33 -34 -34 -33 -31 -31 -31 -32 -33 -34 -34 -34 -34 -34 -34 -34 -35 -36 -36 -37 -37 -39 -42 -46 -48 -50 -52 -52 -51 -50 -50 -50 -49 -49 -50 -51 -53 -56 -57 -55 -52 -49 -49 -51 -53 -55 -55 -55 -51 -46 -40 -37 -35 -34 -34 -32 -29 -22 -18 -15 -14 -13 -12 -12 -12 -12 -13 -14 -15 -16 -17 -17 -18 -18 -19 -19 -19 -18 -18 -17 -17 -17 -16 -16 -17 -17 -17 -18 -18 -19 -19 -20 -21 -21 -22 -22 -23 -24 -24 -25 -25 -25 -24 -23 -23 -23 -23 -23 -22 -22 -21 -20 -19 -19 -19 -20 -20 -20 -19 -18 -16 -15 -13 -12 -11 -10 -10 -10 -12 -13 -15 -16 -17 -18 -18 -18 -17 -17 -17 -17 -18 -19 -19 -18 -18 -17 -16 -14 -14 -13 -12 -12 -11 -10 -8 -7 -5 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -8 -9 -9 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -2 -1 1 2 2 3 3 3 3 4 6 8 9 10 9 7 5 4 3 3 2 1 -0 -1 -2 -2 -2 -1 -0 1 3 0 -3 -4 -4 -7 -12 -12 -9 -6 -5 -5 -0 2 5 8 9 8 6 5 4 3 2 1 1 2 3 4 4 5 5 3 -1 -7 -10 -11 -9 -4 -3 1 8 17 18 18 18 18 18 19 20 21 23 25 28 30 32 35 36 38 40 42 45 47 -15 -16 -16 -17 -17 -16 -15 -15 -14 -13 -13 -12 -11 -12 -13 -14 -16 -17 -18 -19 -19 -19 -18 -17 -16 -15 -14 -13 -14 -14 -13 -11 -10 -9 -10 -12 -15 -15 -15 -15 -15 -14 -14 -13 -12 -12 -13 -14 -16 -18 -20 -22 -25 -27 -30 -31 -33 -34 -35 -35 -35 -34 -33 -33 -32 -32 -32 -32 -32 -30 -28 -26 -26 -26 -27 -27 -26 -27 -27 -26 -25 -25 -27 -29 -30 -30 -30 -30 -32 -34 -37 -38 -39 -41 -44 -47 -48 -47 -44 -42 -41 -40 -40 -40 -38 -36 -34 -31 -29 -28 -27 -27 -28 -30 -31 -31 -32 -34 -35 -36 -37 -35 -32 -30 -29 -30 -31 -33 -34 -35 -35 -35 -35 -35 -34 -34 -35 -34 -31 -30 -29 -31 -32 -34 -35 -35 -36 -36 -36 -37 -38 -38 -38 -38 -38 -39 -41 -43 -46 -49 -53 -55 -54 -52 -51 -51 -51 -51 -51 -51 -52 -54 -56 -58 -57 -53 -51 -51 -52 -54 -55 -55 -53 -50 -46 -44 -42 -39 -38 -38 -36 -30 -22 -18 -15 -13 -13 -13 -13 -14 -15 -16 -17 -18 -18 -19 -19 -19 -20 -20 -20 -19 -19 -18 -17 -17 -16 -16 -17 -17 -17 -18 -18 -18 -19 -20 -21 -22 -22 -23 -23 -24 -25 -26 -26 -26 -26 -25 -24 -24 -24 -24 -24 -23 -22 -21 -20 -20 -20 -19 -19 -19 -18 -16 -15 -14 -13 -11 -11 -10 -11 -12 -13 -14 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -18 -18 -19 -19 -18 -18 -17 -15 -14 -13 -12 -12 -11 -10 -9 -7 -5 -3 -2 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -2 -1 0 1 2 3 3 4 5 7 8 9 8 6 4 1 -0 -1 -1 -2 -4 -6 -7 -8 -8 -8 -9 -7 -1 -4 -10 -13 -13 -14 -13 -13 -14 -16 -16 -13 -9 -7 -4 2 6 6 5 4 3 2 1 1 0 1 2 2 3 3 3 2 -4 -10 -12 -13 -11 -2 -1 -1 4 13 15 16 16 16 16 17 17 18 20 21 24 27 29 31 33 36 38 40 42 44 -15 -15 -16 -17 -17 -17 -15 -15 -14 -14 -14 -13 -13 -13 -14 -16 -18 -19 -19 -20 -21 -20 -19 -18 -18 -17 -16 -16 -16 -15 -14 -12 -12 -12 -13 -14 -14 -15 -16 -17 -18 -17 -16 -16 -15 -15 -15 -16 -18 -20 -21 -23 -25 -28 -30 -32 -33 -34 -34 -33 -31 -31 -31 -33 -33 -33 -33 -32 -31 -29 -28 -27 -26 -26 -27 -27 -27 -27 -27 -27 -26 -26 -28 -30 -31 -31 -31 -32 -34 -37 -38 -38 -39 -40 -43 -45 -46 -47 -46 -43 -41 -40 -39 -38 -36 -34 -31 -29 -28 -27 -26 -26 -28 -30 -31 -32 -32 -33 -34 -35 -35 -34 -32 -30 -29 -29 -29 -30 -32 -33 -34 -35 -36 -36 -35 -35 -35 -34 -32 -30 -29 -30 -32 -34 -35 -35 -35 -36 -37 -38 -40 -42 -41 -40 -40 -40 -41 -42 -43 -46 -51 -55 -56 -54 -51 -52 -53 -53 -53 -52 -52 -54 -56 -57 -57 -56 -55 -55 -54 -54 -54 -54 -54 -53 -52 -52 -51 -47 -41 -37 -37 -37 -30 -24 -18 -15 -13 -13 -14 -15 -16 -18 -19 -19 -20 -20 -20 -20 -21 -21 -21 -20 -20 -19 -18 -17 -17 -17 -17 -17 -17 -18 -18 -19 -20 -21 -22 -22 -23 -23 -24 -25 -25 -26 -27 -27 -27 -26 -25 -25 -25 -25 -25 -24 -23 -22 -21 -21 -20 -19 -19 -18 -16 -15 -14 -13 -12 -11 -11 -11 -12 -13 -14 -15 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -18 -18 -18 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -7 -6 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -5 -6 -7 -8 -9 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -7 -6 -4 -2 -0 1 3 3 4 4 5 5 6 6 5 2 -1 -4 -5 -5 -6 -9 -13 -16 -17 -17 -18 -19 -17 -8 -11 -15 -18 -17 -15 -9 -7 -10 -16 -19 -18 -17 -16 -14 -7 -0 3 4 3 2 2 2 1 1 1 1 2 2 2 2 0 -5 -10 -12 -11 -13 -5 1 4 6 10 12 13 14 14 14 15 15 16 17 18 20 23 25 28 30 33 36 38 40 41 -15 -15 -15 -16 -16 -16 -15 -14 -15 -15 -15 -14 -15 -15 -17 -18 -20 -20 -21 -21 -22 -22 -21 -20 -19 -18 -17 -17 -18 -17 -15 -14 -14 -14 -15 -15 -15 -16 -18 -20 -20 -20 -19 -19 -18 -18 -18 -18 -19 -20 -22 -24 -26 -27 -29 -30 -31 -30 -28 -28 -29 -29 -31 -33 -34 -34 -33 -32 -30 -28 -26 -26 -26 -27 -26 -27 -27 -26 -26 -26 -27 -27 -28 -30 -32 -33 -33 -34 -36 -37 -38 -37 -38 -41 -45 -46 -45 -45 -46 -45 -42 -40 -38 -36 -34 -32 -30 -29 -27 -27 -26 -26 -28 -30 -31 -31 -32 -32 -33 -34 -34 -33 -32 -30 -29 -28 -29 -30 -31 -33 -34 -34 -35 -34 -35 -36 -36 -36 -34 -32 -31 -30 -31 -33 -34 -34 -34 -34 -35 -37 -41 -43 -43 -42 -42 -43 -43 -42 -43 -44 -48 -52 -54 -54 -52 -53 -53 -54 -54 -54 -53 -54 -56 -57 -58 -58 -57 -56 -54 -52 -51 -51 -53 -53 -52 -51 -50 -47 -41 -36 -33 -36 -37 -34 -28 -19 -15 -14 -15 -16 -17 -19 -20 -20 -21 -21 -21 -21 -22 -22 -22 -21 -21 -20 -20 -19 -18 -18 -18 -18 -18 -18 -19 -19 -20 -21 -22 -23 -23 -24 -25 -25 -26 -27 -28 -28 -27 -27 -26 -26 -26 -26 -26 -26 -25 -24 -23 -22 -21 -19 -18 -17 -16 -14 -13 -13 -12 -12 -12 -13 -14 -15 -15 -15 -15 -16 -16 -17 -17 -18 -18 -18 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -16 -14 -13 -12 -12 -11 -10 -9 -7 -6 -5 -5 -5 -4 -4 -4 -3 -4 -4 -5 -7 -8 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -10 -9 -7 -4 -2 0 2 3 3 3 3 3 3 4 3 1 -2 -6 -10 -12 -13 -16 -21 -27 -27 -26 -27 -27 -24 -17 -18 -18 -17 -16 -12 -9 -7 -9 -15 -20 -20 -19 -19 -21 -18 -10 -2 3 3 2 3 3 2 2 1 1 1 1 -1 -1 -1 -4 -8 -11 -8 -14 -11 -3 5 6 7 9 10 11 12 12 12 13 14 14 15 16 19 22 24 27 30 34 36 38 39 -17 -16 -16 -16 -15 -15 -14 -15 -16 -16 -17 -17 -17 -18 -19 -20 -21 -21 -21 -21 -22 -24 -23 -22 -20 -19 -18 -18 -18 -18 -17 -17 -16 -16 -16 -15 -16 -17 -19 -20 -21 -20 -20 -20 -20 -20 -19 -18 -18 -19 -20 -22 -24 -25 -27 -28 -28 -26 -24 -24 -25 -27 -29 -32 -33 -34 -33 -31 -28 -25 -24 -23 -25 -26 -26 -26 -25 -25 -24 -24 -25 -26 -27 -29 -31 -34 -35 -37 -38 -38 -36 -35 -36 -41 -46 -45 -43 -42 -43 -42 -41 -39 -38 -35 -31 -29 -28 -27 -27 -27 -27 -27 -28 -29 -30 -30 -30 -31 -32 -33 -33 -33 -31 -29 -29 -29 -29 -31 -32 -32 -33 -33 -33 -32 -33 -35 -36 -35 -34 -33 -32 -31 -31 -32 -34 -33 -33 -33 -34 -37 -39 -41 -42 -43 -44 -45 -44 -44 -44 -45 -46 -48 -50 -52 -53 -54 -54 -54 -54 -55 -54 -55 -57 -58 -59 -60 -58 -56 -54 -51 -49 -49 -50 -50 -50 -50 -49 -48 -44 -39 -34 -32 -34 -35 -35 -30 -23 -19 -17 -16 -18 -19 -20 -21 -21 -21 -22 -22 -23 -23 -23 -23 -22 -22 -21 -21 -20 -19 -19 -19 -19 -19 -19 -20 -21 -22 -23 -23 -24 -24 -25 -26 -27 -27 -28 -28 -28 -27 -27 -27 -27 -27 -28 -28 -27 -26 -25 -23 -21 -20 -18 -17 -16 -15 -14 -13 -13 -14 -14 -15 -16 -16 -15 -15 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -15 -14 -13 -12 -12 -11 -10 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -7 -9 -10 -11 -11 -11 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -12 -12 -12 -11 -10 -9 -6 -3 -1 1 3 3 2 1 1 0 1 1 -0 -3 -8 -14 -21 -24 -26 -29 -33 -30 -25 -25 -29 -28 -26 -24 -21 -18 -15 -12 -13 -14 -15 -18 -22 -22 -20 -18 -22 -22 -18 -9 0 3 2 3 3 3 2 1 0 -0 -1 -4 -9 -9 -10 -12 -13 -9 -16 -16 -8 3 4 5 6 8 9 9 10 10 11 12 12 12 13 15 18 22 24 28 31 34 36 36 -19 -17 -17 -16 -15 -15 -15 -16 -17 -18 -19 -20 -20 -21 -21 -23 -22 -21 -21 -22 -24 -24 -24 -22 -21 -20 -20 -20 -20 -19 -19 -18 -18 -17 -17 -17 -17 -18 -19 -20 -20 -20 -19 -19 -19 -18 -18 -17 -16 -16 -17 -19 -20 -23 -26 -27 -26 -23 -20 -20 -22 -24 -27 -30 -32 -33 -32 -29 -25 -23 -21 -21 -22 -24 -25 -25 -25 -24 -23 -23 -23 -24 -26 -27 -30 -33 -35 -38 -39 -38 -35 -33 -34 -39 -44 -45 -43 -41 -40 -38 -37 -37 -35 -32 -29 -27 -25 -25 -25 -26 -27 -28 -29 -29 -29 -29 -29 -30 -31 -32 -33 -33 -32 -30 -28 -29 -31 -32 -33 -32 -33 -33 -33 -32 -32 -35 -36 -35 -34 -33 -33 -32 -32 -32 -33 -32 -32 -33 -34 -36 -38 -39 -40 -42 -44 -46 -46 -46 -47 -48 -46 -46 -48 -50 -53 -54 -54 -53 -53 -54 -54 -55 -57 -59 -61 -62 -60 -57 -54 -50 -48 -46 -46 -47 -49 -50 -50 -48 -47 -43 -37 -32 -31 -33 -34 -35 -35 -32 -26 -20 -18 -20 -21 -22 -22 -22 -22 -23 -24 -24 -24 -24 -24 -24 -24 -23 -22 -21 -20 -20 -20 -20 -20 -21 -22 -22 -23 -24 -24 -25 -26 -26 -27 -28 -28 -28 -28 -28 -27 -27 -27 -28 -29 -29 -29 -27 -26 -23 -21 -20 -18 -17 -16 -15 -14 -14 -15 -15 -16 -17 -17 -16 -15 -15 -15 -16 -17 -18 -19 -19 -19 -18 -18 -17 -17 -17 -16 -16 -17 -17 -18 -18 -18 -17 -16 -15 -14 -13 -13 -12 -11 -11 -10 -10 -9 -9 -8 -7 -6 -6 -6 -6 -7 -8 -10 -11 -12 -12 -11 -11 -10 -10 -11 -11 -12 -12 -13 -13 -12 -12 -12 -12 -11 -10 -7 -4 -2 0 2 3 2 1 -1 -2 -2 -2 -2 -4 -8 -17 -27 -32 -33 -34 -35 -32 -26 -25 -30 -31 -29 -28 -27 -24 -18 -15 -19 -22 -23 -23 -24 -24 -23 -22 -23 -23 -22 -15 -6 1 2 2 2 2 2 -1 -3 -5 -6 -9 -18 -20 -20 -19 -18 -15 -18 -16 -9 -1 2 3 4 5 7 8 8 8 9 10 11 11 10 11 13 19 22 25 28 32 34 34 -19 -18 -17 -16 -16 -16 -18 -19 -20 -20 -21 -22 -22 -23 -23 -23 -22 -22 -23 -24 -26 -25 -24 -23 -22 -21 -20 -21 -21 -20 -20 -19 -18 -19 -19 -18 -18 -19 -19 -20 -21 -21 -19 -18 -18 -17 -16 -15 -15 -14 -14 -15 -17 -21 -24 -25 -24 -21 -20 -20 -21 -22 -24 -28 -31 -32 -30 -26 -22 -20 -19 -19 -19 -21 -23 -24 -24 -23 -23 -22 -22 -22 -23 -25 -28 -31 -34 -37 -39 -38 -35 -34 -34 -38 -42 -43 -42 -39 -38 -36 -34 -33 -31 -28 -26 -25 -23 -22 -22 -24 -27 -29 -30 -30 -29 -28 -29 -29 -30 -32 -33 -34 -33 -32 -30 -30 -31 -32 -32 -31 -32 -33 -34 -34 -32 -32 -33 -33 -32 -33 -33 -33 -33 -33 -33 -32 -32 -32 -33 -35 -37 -38 -40 -43 -45 -45 -44 -46 -48 -50 -48 -47 -48 -50 -52 -53 -53 -54 -55 -55 -54 -55 -56 -57 -60 -62 -61 -57 -53 -48 -46 -44 -43 -44 -47 -50 -50 -49 -47 -45 -40 -36 -33 -33 -33 -31 -34 -37 -35 -30 -22 -20 -21 -22 -23 -23 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -25 -24 -23 -22 -21 -21 -22 -22 -22 -23 -23 -24 -25 -25 -26 -27 -27 -27 -28 -28 -28 -28 -27 -28 -28 -28 -29 -29 -29 -28 -26 -24 -21 -20 -19 -18 -17 -16 -15 -15 -16 -17 -17 -17 -17 -16 -15 -15 -16 -17 -18 -19 -20 -20 -20 -19 -19 -18 -18 -17 -16 -16 -16 -17 -18 -18 -19 -18 -18 -17 -16 -15 -15 -14 -13 -13 -12 -12 -11 -11 -10 -8 -7 -7 -6 -6 -7 -8 -9 -11 -11 -12 -12 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -9 -6 -4 -1 0 1 1 0 -1 -3 -4 -5 -5 -6 -9 -17 -28 -35 -36 -35 -34 -30 -26 -25 -32 -33 -31 -30 -26 -20 -15 -18 -22 -25 -26 -26 -26 -26 -26 -25 -24 -23 -23 -21 -15 -6 -2 -0 -0 -1 -2 -5 -10 -14 -15 -16 -23 -25 -24 -23 -22 -22 -21 -15 -8 -4 -0 2 3 4 5 7 7 7 7 8 10 10 9 8 7 16 20 23 26 28 30 30 -19 -18 -17 -17 -18 -19 -20 -21 -22 -22 -23 -24 -24 -24 -23 -22 -21 -22 -23 -24 -26 -26 -25 -24 -23 -22 -21 -21 -21 -21 -20 -19 -19 -19 -20 -20 -20 -20 -20 -21 -21 -21 -20 -19 -17 -16 -15 -15 -14 -13 -13 -13 -15 -18 -21 -22 -22 -20 -20 -21 -21 -22 -25 -28 -30 -30 -26 -22 -19 -17 -16 -17 -17 -19 -21 -22 -22 -22 -23 -22 -21 -20 -21 -23 -26 -30 -33 -36 -38 -38 -37 -35 -35 -37 -40 -41 -40 -37 -36 -35 -32 -29 -27 -25 -24 -23 -22 -21 -21 -23 -26 -29 -30 -30 -29 -28 -28 -29 -30 -31 -32 -33 -34 -34 -32 -32 -32 -32 -31 -30 -31 -33 -35 -35 -33 -30 -30 -31 -31 -33 -33 -33 -33 -33 -33 -32 -32 -32 -33 -34 -36 -38 -40 -43 -45 -46 -45 -46 -48 -50 -49 -48 -48 -49 -50 -52 -53 -54 -55 -56 -55 -54 -55 -55 -57 -58 -58 -55 -51 -47 -45 -44 -43 -43 -45 -47 -49 -49 -47 -45 -42 -39 -37 -35 -32 -28 -30 -34 -36 -34 -27 -22 -22 -23 -24 -24 -24 -25 -25 -26 -27 -28 -28 -28 -28 -28 -28 -27 -26 -24 -24 -23 -23 -23 -24 -24 -24 -24 -25 -26 -26 -27 -27 -28 -28 -28 -27 -27 -27 -27 -28 -28 -29 -29 -28 -27 -25 -23 -21 -20 -19 -18 -17 -16 -16 -17 -17 -18 -18 -17 -17 -16 -16 -16 -17 -18 -19 -21 -22 -22 -22 -21 -21 -20 -19 -18 -17 -16 -16 -17 -18 -19 -20 -20 -20 -19 -18 -17 -16 -15 -15 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -11 -9 -7 -4 -2 -1 -1 -1 -2 -4 -6 -7 -8 -8 -10 -15 -25 -33 -36 -33 -28 -25 -24 -26 -33 -34 -33 -30 -25 -15 -15 -23 -28 -28 -28 -28 -28 -28 -28 -27 -24 -20 -20 -21 -18 -12 -10 -8 -6 -8 -11 -12 -18 -23 -24 -24 -27 -28 -27 -25 -25 -25 -23 -20 -14 -12 -5 -1 1 2 4 5 6 6 6 6 8 9 9 8 5 14 18 21 23 24 23 22 -18 -18 -18 -18 -19 -20 -21 -22 -23 -24 -24 -24 -24 -24 -23 -21 -21 -23 -24 -25 -25 -26 -25 -24 -24 -24 -25 -24 -22 -21 -20 -20 -19 -19 -19 -20 -21 -22 -21 -21 -20 -20 -20 -20 -19 -17 -16 -15 -14 -13 -12 -12 -13 -15 -17 -18 -19 -18 -19 -21 -23 -25 -29 -31 -31 -28 -22 -18 -15 -14 -15 -16 -17 -19 -20 -21 -21 -21 -21 -21 -19 -18 -19 -22 -25 -28 -32 -35 -37 -38 -38 -38 -38 -39 -40 -40 -39 -35 -33 -33 -30 -28 -26 -26 -25 -23 -21 -21 -22 -24 -26 -28 -29 -29 -29 -28 -28 -28 -29 -30 -31 -32 -33 -35 -35 -34 -34 -33 -32 -31 -31 -32 -34 -35 -33 -30 -29 -29 -31 -33 -34 -35 -34 -34 -34 -33 -33 -33 -33 -35 -37 -39 -41 -43 -45 -46 -47 -47 -47 -48 -48 -48 -48 -49 -49 -51 -52 -54 -55 -55 -55 -54 -54 -53 -54 -56 -57 -55 -51 -46 -44 -43 -42 -42 -43 -44 -47 -47 -47 -45 -43 -41 -40 -37 -32 -27 -27 -29 -30 -30 -27 -22 -22 -23 -25 -25 -26 -26 -27 -27 -28 -29 -30 -30 -30 -31 -30 -30 -29 -27 -26 -26 -26 -26 -25 -25 -25 -25 -26 -26 -27 -27 -28 -28 -28 -28 -27 -27 -27 -27 -27 -28 -28 -27 -27 -25 -24 -22 -20 -19 -18 -18 -17 -17 -18 -18 -18 -18 -18 -17 -17 -16 -17 -17 -18 -20 -21 -23 -23 -24 -24 -23 -23 -22 -20 -19 -18 -17 -17 -18 -18 -19 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -15 -14 -14 -14 -13 -11 -10 -8 -7 -6 -6 -6 -6 -8 -9 -10 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -14 -13 -11 -8 -6 -4 -3 -3 -4 -5 -7 -9 -10 -11 -11 -13 -19 -27 -34 -28 -21 -20 -23 -29 -34 -34 -34 -32 -27 -18 -18 -25 -29 -30 -30 -30 -29 -29 -28 -28 -24 -18 -16 -18 -18 -14 -15 -16 -16 -18 -22 -22 -24 -29 -30 -30 -30 -29 -28 -27 -27 -26 -25 -24 -22 -20 -13 -5 -0 1 3 4 4 4 4 4 6 8 9 9 8 12 15 18 19 18 14 12 -19 -19 -19 -20 -20 -21 -22 -23 -24 -25 -25 -25 -25 -25 -24 -22 -21 -23 -24 -25 -25 -25 -24 -24 -25 -26 -28 -27 -24 -22 -20 -19 -18 -18 -19 -20 -21 -22 -21 -20 -19 -20 -21 -22 -21 -20 -19 -18 -16 -14 -13 -12 -11 -12 -13 -14 -15 -16 -17 -20 -23 -26 -31 -33 -31 -26 -19 -14 -13 -13 -14 -15 -17 -19 -20 -21 -21 -22 -21 -20 -18 -17 -18 -22 -24 -26 -29 -31 -34 -37 -39 -39 -39 -39 -40 -40 -37 -31 -25 -24 -25 -27 -27 -26 -27 -25 -23 -22 -23 -25 -26 -27 -28 -28 -27 -27 -27 -28 -28 -29 -29 -30 -32 -34 -36 -36 -34 -32 -32 -32 -32 -32 -33 -34 -32 -29 -27 -27 -29 -33 -36 -37 -37 -36 -36 -36 -35 -35 -35 -37 -38 -41 -43 -45 -45 -47 -48 -49 -48 -47 -47 -47 -48 -49 -50 -51 -52 -53 -54 -54 -54 -54 -53 -52 -51 -51 -51 -50 -48 -45 -43 -41 -41 -41 -42 -43 -44 -45 -45 -45 -44 -42 -40 -37 -32 -27 -26 -26 -26 -26 -26 -23 -23 -24 -25 -27 -28 -28 -28 -29 -29 -30 -31 -32 -32 -32 -32 -32 -31 -31 -29 -29 -28 -28 -28 -27 -27 -27 -27 -27 -27 -28 -28 -28 -28 -28 -28 -27 -27 -27 -27 -27 -26 -26 -25 -23 -22 -21 -20 -19 -19 -18 -19 -19 -19 -19 -20 -19 -19 -18 -18 -18 -18 -19 -20 -22 -23 -24 -25 -25 -25 -25 -24 -23 -22 -21 -20 -19 -19 -19 -19 -20 -20 -21 -21 -21 -21 -20 -19 -17 -16 -15 -15 -15 -14 -14 -13 -12 -11 -9 -8 -6 -5 -5 -5 -6 -7 -9 -10 -11 -11 -11 -12 -13 -14 -14 -15 -14 -14 -14 -15 -15 -16 -17 -17 -17 -15 -13 -10 -8 -7 -6 -6 -7 -8 -9 -11 -12 -12 -13 -15 -21 -26 -22 -22 -25 -29 -34 -35 -35 -35 -34 -31 -26 -23 -27 -29 -28 -27 -29 -29 -27 -27 -29 -26 -19 -15 -18 -21 -17 -17 -19 -23 -27 -27 -28 -30 -31 -32 -32 -29 -28 -28 -29 -28 -27 -26 -26 -25 -23 -17 -9 -2 -1 0 2 3 3 3 3 4 6 7 7 4 5 9 13 13 9 5 4 -20 -20 -20 -21 -22 -23 -24 -24 -25 -25 -25 -26 -26 -27 -26 -24 -23 -23 -24 -24 -24 -24 -24 -23 -24 -26 -29 -31 -29 -25 -21 -18 -17 -18 -19 -20 -21 -21 -20 -19 -19 -20 -21 -22 -22 -21 -19 -17 -15 -14 -12 -11 -10 -9 -10 -11 -13 -14 -16 -19 -22 -25 -28 -30 -29 -25 -19 -14 -13 -13 -13 -14 -16 -19 -20 -22 -23 -23 -22 -19 -17 -17 -18 -20 -22 -24 -26 -29 -32 -35 -37 -38 -39 -39 -40 -40 -37 -29 -21 -16 -16 -18 -20 -22 -23 -25 -28 -29 -26 -25 -26 -26 -27 -27 -27 -27 -27 -27 -28 -28 -29 -30 -32 -34 -37 -36 -34 -32 -33 -34 -33 -34 -34 -33 -32 -30 -28 -27 -28 -32 -36 -38 -39 -38 -38 -39 -38 -38 -38 -40 -41 -43 -45 -47 -47 -47 -48 -49 -48 -47 -46 -46 -47 -48 -49 -50 -51 -52 -52 -52 -52 -52 -51 -50 -49 -49 -49 -48 -47 -45 -42 -40 -39 -40 -41 -42 -41 -41 -41 -41 -41 -41 -39 -36 -31 -26 -26 -27 -29 -31 -33 -28 -25 -24 -25 -27 -28 -29 -30 -30 -30 -31 -32 -33 -34 -34 -34 -34 -34 -33 -32 -32 -31 -31 -31 -30 -30 -29 -29 -28 -28 -28 -28 -29 -28 -28 -28 -27 -27 -26 -26 -26 -25 -24 -23 -22 -21 -20 -19 -19 -19 -19 -20 -20 -21 -21 -21 -20 -20 -19 -19 -19 -20 -21 -22 -23 -24 -25 -26 -26 -26 -25 -24 -23 -22 -22 -22 -22 -21 -21 -20 -20 -20 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -14 -14 -14 -14 -13 -11 -10 -8 -7 -6 -5 -4 -5 -6 -8 -10 -11 -11 -12 -13 -13 -15 -16 -16 -16 -16 -16 -16 -17 -18 -19 -20 -20 -19 -17 -15 -12 -10 -9 -8 -8 -9 -10 -11 -12 -13 -14 -14 -15 -18 -20 -28 -34 -35 -35 -36 -36 -36 -36 -35 -33 -30 -30 -29 -25 -24 -28 -28 -26 -24 -28 -27 -22 -19 -22 -28 -25 -20 -19 -24 -28 -28 -30 -32 -33 -34 -32 -28 -26 -28 -30 -29 -27 -26 -27 -26 -24 -18 -10 -3 -3 -2 -0 1 1 1 0 -0 1 2 1 -3 -2 0 3 3 -1 -1 3 -21 -21 -22 -22 -23 -24 -26 -26 -26 -26 -26 -27 -28 -29 -28 -27 -25 -23 -23 -23 -24 -24 -24 -23 -22 -24 -30 -37 -37 -31 -24 -18 -17 -18 -18 -19 -19 -19 -19 -20 -21 -22 -23 -22 -22 -20 -18 -16 -14 -13 -12 -11 -9 -8 -9 -10 -11 -12 -14 -17 -20 -23 -26 -27 -26 -23 -19 -16 -14 -14 -13 -14 -16 -18 -20 -22 -23 -24 -21 -18 -17 -17 -18 -20 -22 -24 -26 -28 -30 -33 -35 -37 -39 -41 -43 -41 -36 -27 -18 -13 -14 -16 -19 -20 -22 -25 -28 -30 -30 -27 -26 -26 -26 -26 -27 -27 -27 -28 -28 -29 -29 -31 -32 -35 -37 -37 -35 -33 -32 -33 -34 -36 -36 -33 -28 -26 -25 -26 -28 -31 -34 -37 -38 -39 -40 -41 -40 -40 -40 -42 -44 -45 -46 -48 -48 -46 -46 -47 -48 -48 -47 -46 -47 -47 -49 -50 -50 -51 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -45 -43 -40 -38 -38 -38 -38 -38 -39 -40 -41 -39 -38 -37 -34 -30 -25 -24 -25 -28 -31 -35 -34 -30 -27 -26 -27 -28 -30 -31 -31 -31 -31 -32 -34 -34 -35 -35 -35 -35 -35 -35 -34 -34 -34 -34 -33 -33 -32 -31 -31 -30 -30 -29 -29 -29 -29 -28 -28 -27 -26 -25 -24 -24 -23 -22 -21 -20 -20 -19 -20 -20 -20 -21 -21 -22 -22 -22 -21 -21 -20 -20 -20 -21 -22 -23 -24 -25 -25 -26 -26 -26 -26 -25 -24 -23 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -20 -20 -20 -19 -18 -17 -16 -15 -14 -14 -14 -14 -14 -13 -11 -9 -8 -7 -5 -5 -4 -5 -7 -9 -11 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -18 -19 -20 -21 -22 -23 -23 -21 -19 -17 -14 -13 -11 -11 -11 -11 -12 -13 -15 -17 -18 -18 -18 -22 -30 -36 -36 -35 -37 -38 -38 -38 -37 -36 -35 -34 -32 -28 -27 -29 -30 -29 -27 -28 -28 -26 -24 -27 -32 -32 -26 -21 -23 -27 -30 -32 -34 -34 -34 -33 -31 -29 -30 -31 -30 -28 -26 -27 -26 -24 -20 -12 -4 -4 -4 -3 -2 -1 -1 -2 -5 -7 -6 -6 -8 -7 -5 -5 -6 -7 -4 5 -22 -22 -23 -24 -25 -27 -28 -29 -28 -27 -28 -29 -30 -29 -29 -28 -27 -25 -26 -26 -25 -25 -25 -24 -23 -25 -29 -35 -38 -35 -28 -20 -17 -17 -17 -17 -18 -18 -19 -20 -22 -24 -23 -21 -20 -19 -17 -15 -13 -12 -11 -11 -9 -8 -9 -11 -12 -12 -13 -15 -18 -21 -24 -24 -23 -21 -19 -17 -16 -15 -14 -14 -15 -16 -18 -21 -22 -23 -20 -17 -16 -17 -19 -21 -22 -24 -26 -28 -29 -32 -35 -37 -38 -39 -41 -40 -35 -25 -16 -12 -14 -17 -19 -19 -20 -23 -28 -33 -36 -34 -30 -27 -26 -27 -27 -27 -27 -28 -28 -29 -30 -31 -33 -35 -38 -37 -35 -32 -31 -31 -33 -35 -35 -33 -28 -26 -26 -27 -29 -32 -34 -36 -36 -37 -38 -39 -39 -39 -40 -43 -45 -47 -49 -50 -49 -46 -45 -46 -47 -48 -47 -47 -47 -47 -48 -49 -49 -49 -49 -49 -48 -48 -47 -47 -47 -46 -46 -46 -45 -44 -42 -40 -38 -36 -36 -36 -36 -37 -37 -38 -37 -35 -32 -29 -26 -23 -23 -23 -24 -26 -30 -34 -35 -33 -30 -29 -29 -30 -31 -31 -31 -31 -32 -34 -35 -35 -36 -36 -36 -36 -36 -36 -36 -36 -36 -36 -36 -35 -35 -34 -33 -32 -31 -31 -30 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -20 -20 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -21 -21 -21 -21 -22 -22 -23 -24 -24 -25 -26 -26 -26 -26 -25 -24 -23 -23 -23 -24 -24 -23 -22 -19 -18 -17 -17 -18 -19 -19 -19 -18 -17 -16 -15 -14 -13 -13 -14 -14 -14 -13 -11 -10 -9 -7 -6 -5 -6 -7 -9 -11 -12 -13 -13 -14 -15 -16 -18 -19 -19 -19 -19 -21 -22 -23 -24 -25 -25 -24 -23 -21 -18 -16 -15 -14 -13 -13 -13 -14 -17 -22 -26 -26 -27 -29 -33 -36 -36 -35 -37 -38 -39 -39 -39 -38 -37 -36 -35 -33 -33 -33 -33 -32 -30 -30 -31 -31 -32 -34 -35 -34 -31 -27 -27 -30 -33 -35 -36 -35 -34 -33 -32 -31 -32 -32 -32 -31 -29 -27 -23 -23 -20 -14 -6 -6 -8 -7 -5 -4 -4 -6 -11 -16 -14 -12 -11 -9 -9 -10 -9 -8 -3 8 -23 -24 -25 -26 -28 -29 -30 -31 -31 -30 -29 -29 -28 -29 -29 -28 -27 -27 -29 -29 -29 -28 -28 -27 -26 -26 -28 -31 -33 -32 -27 -20 -17 -15 -15 -15 -16 -17 -18 -21 -24 -26 -24 -21 -19 -17 -15 -13 -11 -10 -10 -10 -9 -8 -9 -11 -12 -12 -12 -14 -16 -19 -22 -21 -19 -18 -17 -17 -17 -17 -17 -16 -17 -17 -18 -20 -21 -21 -19 -17 -16 -17 -19 -21 -24 -26 -28 -29 -30 -32 -34 -36 -36 -35 -37 -37 -34 -26 -17 -14 -15 -18 -20 -20 -20 -22 -26 -30 -35 -35 -31 -28 -27 -28 -28 -27 -27 -28 -28 -29 -31 -32 -34 -36 -38 -38 -35 -33 -31 -30 -31 -34 -36 -34 -29 -27 -27 -29 -31 -33 -35 -36 -36 -35 -36 -37 -37 -37 -38 -42 -46 -50 -53 -53 -51 -48 -45 -44 -46 -48 -48 -47 -47 -46 -47 -48 -48 -48 -48 -47 -47 -46 -46 -46 -46 -45 -45 -45 -44 -43 -41 -39 -37 -35 -35 -35 -34 -35 -36 -36 -35 -32 -28 -25 -24 -24 -23 -23 -22 -23 -25 -29 -33 -36 -38 -36 -33 -31 -31 -32 -32 -32 -32 -33 -35 -36 -36 -36 -36 -37 -37 -37 -37 -37 -37 -37 -38 -38 -38 -37 -36 -34 -34 -33 -32 -31 -30 -29 -27 -26 -24 -23 -22 -21 -20 -20 -20 -20 -20 -21 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -23 -24 -25 -26 -26 -26 -26 -26 -25 -24 -23 -23 -23 -24 -24 -23 -22 -19 -17 -16 -16 -16 -18 -18 -19 -18 -18 -16 -15 -14 -13 -13 -13 -14 -15 -15 -14 -13 -11 -10 -9 -8 -7 -8 -10 -11 -13 -14 -14 -14 -15 -16 -18 -20 -22 -22 -21 -21 -23 -24 -25 -25 -26 -26 -25 -24 -22 -20 -18 -17 -16 -16 -16 -16 -20 -28 -34 -34 -34 -36 -37 -38 -37 -38 -38 -39 -40 -40 -40 -40 -38 -38 -37 -36 -36 -36 -35 -34 -32 -33 -34 -35 -36 -37 -36 -36 -35 -35 -35 -35 -36 -36 -37 -36 -35 -33 -32 -32 -33 -32 -31 -29 -25 -22 -17 -19 -20 -17 -10 -11 -13 -13 -10 -10 -10 -12 -15 -18 -16 -13 -12 -11 -11 -10 -8 -5 2 12 -25 -25 -26 -28 -29 -31 -32 -33 -33 -33 -31 -29 -29 -28 -29 -30 -31 -33 -33 -32 -30 -30 -31 -31 -30 -30 -30 -31 -31 -29 -25 -20 -17 -14 -14 -14 -15 -16 -18 -21 -24 -26 -25 -20 -17 -15 -14 -13 -10 -10 -10 -9 -8 -7 -9 -10 -11 -10 -11 -13 -15 -17 -19 -18 -16 -14 -14 -16 -18 -19 -19 -19 -19 -19 -20 -20 -21 -20 -18 -17 -17 -18 -19 -21 -24 -26 -28 -29 -32 -33 -34 -33 -32 -31 -33 -33 -31 -26 -20 -17 -17 -20 -22 -21 -21 -22 -24 -26 -29 -30 -29 -28 -28 -29 -29 -28 -28 -29 -29 -30 -31 -33 -35 -37 -38 -37 -36 -33 -32 -30 -30 -32 -34 -34 -31 -29 -29 -31 -33 -34 -35 -36 -37 -36 -36 -35 -35 -36 -37 -40 -45 -49 -51 -52 -52 -50 -48 -45 -44 -45 -46 -46 -46 -45 -46 -46 -47 -47 -46 -45 -45 -45 -44 -44 -44 -44 -44 -44 -43 -42 -40 -38 -36 -35 -34 -33 -33 -33 -33 -33 -32 -29 -27 -24 -23 -24 -25 -24 -24 -23 -23 -25 -27 -30 -33 -35 -37 -38 -36 -34 -33 -33 -33 -34 -35 -35 -36 -36 -36 -37 -37 -37 -37 -37 -37 -38 -39 -39 -40 -40 -39 -38 -37 -36 -35 -34 -32 -31 -29 -27 -25 -23 -22 -21 -20 -20 -20 -20 -20 -21 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -23 -23 -23 -24 -25 -26 -27 -27 -26 -26 -25 -24 -23 -23 -23 -23 -23 -23 -21 -19 -17 -15 -15 -15 -16 -17 -18 -18 -18 -17 -15 -14 -13 -13 -13 -15 -16 -16 -16 -16 -15 -14 -12 -11 -10 -10 -11 -12 -14 -15 -15 -15 -16 -18 -21 -24 -28 -28 -25 -22 -23 -24 -25 -25 -26 -27 -27 -26 -25 -23 -22 -21 -20 -19 -19 -20 -25 -31 -36 -36 -36 -39 -40 -41 -40 -40 -40 -41 -41 -41 -41 -40 -40 -39 -39 -37 -37 -37 -36 -35 -34 -35 -36 -36 -37 -37 -37 -37 -36 -36 -36 -36 -36 -37 -37 -37 -35 -33 -32 -32 -33 -32 -29 -23 -16 -14 -13 -17 -21 -22 -17 -17 -18 -19 -16 -16 -18 -19 -20 -20 -18 -15 -13 -12 -12 -9 -4 1 7 15 -26 -28 -29 -30 -31 -33 -34 -33 -33 -33 -33 -31 -31 -32 -33 -33 -34 -35 -35 -33 -32 -32 -33 -33 -33 -34 -35 -34 -31 -27 -24 -21 -19 -15 -13 -13 -14 -16 -18 -21 -23 -24 -23 -19 -16 -14 -13 -12 -11 -11 -10 -9 -7 -6 -7 -9 -9 -9 -10 -13 -14 -14 -14 -14 -12 -11 -12 -15 -18 -20 -21 -22 -22 -23 -22 -21 -21 -20 -19 -18 -17 -18 -19 -20 -22 -24 -26 -30 -34 -35 -34 -32 -29 -29 -30 -30 -27 -24 -22 -21 -20 -21 -22 -22 -22 -23 -25 -27 -27 -26 -25 -26 -28 -30 -31 -30 -30 -30 -30 -31 -32 -34 -36 -38 -39 -37 -36 -34 -33 -32 -31 -31 -32 -32 -32 -31 -32 -33 -35 -36 -36 -37 -37 -37 -36 -35 -35 -36 -38 -40 -44 -47 -48 -50 -51 -54 -53 -49 -45 -43 -44 -44 -44 -44 -44 -45 -45 -45 -44 -43 -43 -42 -42 -42 -43 -43 -43 -43 -42 -41 -40 -38 -36 -35 -33 -33 -32 -32 -30 -28 -25 -24 -23 -22 -22 -24 -25 -26 -26 -25 -25 -25 -25 -27 -29 -33 -37 -39 -38 -37 -35 -34 -35 -35 -35 -35 -35 -35 -36 -36 -37 -37 -38 -38 -38 -38 -39 -40 -40 -41 -41 -41 -40 -39 -38 -37 -35 -33 -31 -29 -26 -24 -22 -21 -20 -20 -20 -20 -20 -21 -21 -21 -21 -22 -22 -22 -23 -23 -23 -23 -23 -23 -24 -24 -24 -25 -25 -26 -27 -27 -27 -26 -25 -24 -24 -24 -23 -23 -22 -21 -20 -18 -17 -15 -14 -14 -15 -16 -17 -17 -18 -17 -16 -15 -14 -13 -14 -15 -17 -18 -19 -19 -18 -17 -16 -15 -14 -13 -13 -14 -16 -17 -17 -19 -21 -23 -28 -30 -32 -33 -31 -27 -24 -24 -24 -25 -26 -26 -27 -27 -27 -28 -27 -27 -26 -26 -26 -28 -33 -37 -38 -37 -38 -40 -43 -43 -42 -42 -42 -42 -42 -41 -41 -41 -40 -41 -40 -39 -37 -36 -35 -35 -35 -36 -36 -36 -37 -37 -37 -37 -36 -36 -36 -36 -36 -36 -36 -36 -34 -33 -31 -31 -32 -31 -27 -19 -15 -14 -15 -20 -25 -26 -23 -21 -20 -20 -20 -21 -21 -22 -22 -23 -21 -19 -16 -14 -12 -6 1 6 10 14 -28 -29 -31 -32 -33 -34 -34 -34 -34 -34 -34 -33 -34 -35 -36 -36 -35 -35 -34 -33 -33 -34 -35 -35 -36 -37 -39 -38 -33 -27 -24 -22 -19 -15 -13 -13 -15 -16 -18 -19 -20 -21 -20 -17 -14 -13 -12 -12 -12 -12 -11 -9 -6 -5 -6 -7 -8 -9 -10 -11 -11 -11 -10 -10 -9 -10 -13 -16 -18 -20 -22 -24 -24 -24 -24 -23 -22 -21 -19 -17 -16 -15 -15 -16 -18 -20 -25 -30 -33 -33 -31 -28 -25 -26 -28 -28 -27 -25 -26 -27 -25 -23 -23 -23 -23 -25 -27 -30 -30 -26 -24 -25 -28 -31 -33 -33 -32 -31 -32 -32 -34 -35 -37 -38 -39 -37 -36 -35 -34 -34 -33 -33 -32 -31 -32 -32 -33 -35 -36 -37 -37 -37 -37 -37 -37 -36 -36 -37 -39 -41 -43 -45 -46 -47 -49 -52 -54 -52 -48 -44 -43 -43 -43 -43 -43 -44 -44 -44 -43 -42 -41 -41 -41 -41 -41 -41 -41 -41 -41 -40 -39 -39 -37 -35 -33 -32 -31 -30 -29 -24 -18 -16 -16 -17 -19 -22 -24 -26 -28 -29 -30 -30 -29 -29 -29 -32 -34 -35 -35 -34 -35 -38 -39 -39 -36 -35 -34 -34 -35 -35 -36 -37 -37 -38 -38 -38 -38 -39 -41 -42 -43 -43 -43 -42 -41 -39 -38 -36 -34 -31 -28 -26 -23 -22 -20 -20 -20 -20 -20 -20 -20 -21 -21 -22 -23 -23 -24 -24 -24 -24 -24 -24 -25 -25 -25 -25 -25 -26 -26 -26 -26 -26 -25 -25 -25 -25 -24 -23 -22 -20 -18 -18 -17 -16 -15 -14 -14 -15 -16 -17 -17 -18 -18 -18 -17 -17 -17 -19 -20 -22 -23 -24 -22 -20 -20 -19 -17 -16 -15 -16 -18 -20 -22 -25 -28 -30 -32 -34 -35 -36 -36 -33 -29 -26 -24 -25 -25 -26 -27 -28 -30 -33 -35 -35 -36 -35 -36 -37 -39 -40 -40 -39 -39 -41 -42 -43 -43 -43 -42 -42 -42 -41 -41 -40 -40 -40 -40 -38 -37 -36 -36 -36 -36 -35 -36 -36 -37 -37 -37 -37 -37 -37 -37 -36 -35 -35 -34 -34 -33 -31 -31 -30 -31 -31 -26 -20 -19 -19 -19 -22 -26 -25 -22 -20 -19 -19 -20 -21 -21 -21 -21 -23 -22 -21 -19 -16 -10 -2 2 5 8 12 -28 -30 -32 -35 -36 -36 -35 -35 -35 -35 -35 -35 -35 -37 -38 -38 -38 -37 -34 -33 -33 -34 -35 -36 -37 -39 -41 -41 -35 -30 -25 -21 -18 -15 -14 -15 -16 -17 -18 -18 -18 -17 -16 -14 -13 -12 -11 -11 -11 -11 -9 -7 -4 -4 -6 -7 -9 -9 -9 -10 -10 -10 -8 -7 -9 -12 -15 -18 -19 -20 -22 -24 -25 -24 -24 -23 -22 -19 -16 -15 -13 -13 -13 -14 -16 -20 -24 -28 -30 -29 -27 -25 -24 -24 -26 -28 -29 -28 -28 -28 -27 -26 -26 -26 -26 -28 -29 -29 -25 -24 -25 -27 -28 -30 -33 -34 -33 -33 -33 -33 -35 -36 -37 -37 -38 -37 -37 -36 -35 -35 -34 -33 -32 -32 -32 -33 -34 -35 -37 -38 -39 -39 -38 -36 -36 -36 -37 -39 -40 -41 -43 -44 -45 -45 -45 -46 -49 -52 -52 -49 -45 -43 -42 -43 -43 -43 -43 -43 -43 -42 -41 -40 -40 -39 -40 -40 -40 -40 -39 -39 -38 -37 -37 -36 -34 -33 -32 -31 -30 -27 -20 -16 -15 -16 -17 -19 -22 -24 -28 -32 -35 -36 -35 -34 -33 -33 -33 -33 -33 -34 -36 -38 -40 -41 -40 -38 -36 -35 -34 -35 -35 -36 -37 -38 -38 -38 -39 -40 -41 -42 -44 -44 -44 -44 -43 -42 -41 -39 -37 -35 -32 -28 -26 -23 -21 -20 -20 -20 -20 -20 -20 -21 -22 -23 -24 -24 -25 -25 -25 -25 -25 -25 -26 -26 -26 -26 -25 -25 -25 -26 -26 -26 -26 -26 -27 -26 -25 -23 -20 -18 -17 -16 -17 -16 -16 -15 -15 -16 -16 -17 -18 -19 -22 -24 -23 -23 -24 -25 -27 -28 -31 -31 -28 -26 -25 -22 -21 -20 -19 -19 -21 -27 -29 -32 -35 -35 -36 -37 -38 -38 -37 -34 -31 -27 -24 -24 -25 -25 -26 -27 -31 -38 -41 -42 -42 -42 -42 -43 -43 -43 -41 -40 -40 -40 -40 -40 -41 -41 -41 -41 -41 -40 -39 -39 -39 -39 -39 -37 -37 -37 -38 -38 -36 -35 -35 -37 -38 -37 -37 -37 -38 -38 -37 -36 -34 -33 -32 -31 -30 -30 -30 -30 -31 -31 -29 -24 -24 -24 -24 -25 -26 -24 -22 -20 -19 -18 -18 -19 -20 -20 -20 -22 -23 -23 -21 -17 -8 -2 1 3 6 9 -28 -30 -33 -37 -38 -38 -37 -37 -37 -37 -37 -37 -37 -38 -40 -41 -41 -40 -37 -35 -35 -35 -36 -36 -38 -40 -42 -42 -37 -32 -26 -22 -18 -17 -16 -15 -15 -14 -16 -17 -17 -15 -13 -13 -12 -12 -11 -10 -10 -10 -7 -4 -2 -2 -5 -7 -8 -7 -7 -7 -8 -8 -8 -8 -10 -13 -15 -17 -17 -18 -19 -21 -21 -21 -20 -19 -18 -17 -16 -14 -13 -12 -12 -14 -18 -21 -23 -25 -25 -24 -23 -23 -23 -24 -25 -28 -30 -31 -30 -29 -30 -31 -30 -27 -26 -26 -26 -26 -25 -25 -27 -28 -30 -30 -31 -32 -33 -33 -33 -35 -36 -37 -37 -37 -38 -38 -38 -38 -37 -36 -35 -34 -33 -32 -32 -33 -34 -36 -37 -38 -39 -39 -39 -37 -36 -36 -37 -39 -40 -41 -43 -44 -45 -45 -43 -41 -44 -49 -53 -52 -47 -43 -42 -43 -43 -43 -43 -43 -42 -42 -41 -40 -39 -39 -39 -38 -38 -38 -37 -37 -37 -36 -36 -35 -34 -33 -31 -31 -31 -27 -21 -17 -15 -16 -17 -18 -19 -21 -23 -27 -31 -35 -38 -40 -41 -39 -37 -36 -37 -37 -38 -38 -39 -41 -42 -41 -40 -39 -37 -35 -35 -36 -36 -37 -38 -38 -39 -40 -42 -43 -44 -45 -45 -45 -44 -43 -42 -41 -40 -38 -36 -33 -30 -27 -24 -22 -20 -20 -20 -20 -21 -21 -22 -24 -25 -25 -26 -26 -26 -26 -26 -27 -28 -28 -28 -27 -26 -25 -25 -25 -25 -26 -27 -27 -27 -27 -24 -21 -18 -16 -15 -15 -16 -18 -19 -19 -19 -19 -20 -21 -21 -23 -27 -29 -30 -29 -30 -30 -31 -31 -33 -34 -34 -34 -32 -28 -28 -27 -26 -25 -25 -33 -36 -37 -37 -38 -38 -39 -39 -38 -36 -29 -26 -25 -23 -24 -24 -24 -25 -26 -30 -39 -43 -44 -44 -44 -44 -45 -45 -44 -42 -41 -41 -39 -37 -37 -38 -38 -38 -38 -38 -37 -37 -37 -38 -39 -39 -38 -38 -38 -39 -39 -38 -37 -37 -38 -38 -37 -37 -37 -38 -38 -37 -35 -33 -32 -31 -30 -28 -27 -29 -30 -31 -31 -31 -28 -25 -24 -26 -27 -26 -23 -21 -21 -20 -19 -17 -17 -18 -20 -20 -22 -23 -23 -22 -16 -9 -4 -1 1 4 7 -27 -30 -34 -38 -40 -40 -39 -38 -39 -39 -39 -39 -38 -40 -42 -44 -44 -41 -40 -39 -38 -36 -36 -36 -38 -41 -44 -44 -39 -32 -26 -22 -19 -18 -17 -17 -16 -16 -16 -16 -15 -14 -13 -12 -11 -10 -10 -10 -9 -7 -3 -1 0 -1 -3 -4 -5 -5 -4 -4 -5 -6 -8 -10 -12 -14 -15 -14 -14 -15 -17 -18 -19 -18 -17 -16 -16 -17 -17 -16 -15 -14 -14 -16 -19 -21 -21 -20 -18 -18 -20 -22 -24 -25 -26 -27 -29 -31 -31 -31 -31 -31 -29 -27 -26 -26 -26 -27 -28 -28 -29 -29 -30 -31 -32 -32 -33 -33 -34 -35 -37 -38 -38 -38 -38 -39 -40 -40 -38 -36 -36 -35 -34 -33 -33 -34 -35 -35 -37 -38 -39 -40 -40 -39 -37 -36 -35 -36 -38 -41 -43 -44 -44 -45 -44 -41 -41 -44 -48 -49 -47 -44 -43 -43 -43 -43 -43 -43 -42 -41 -41 -40 -40 -39 -38 -38 -37 -36 -36 -36 -36 -36 -35 -35 -34 -33 -32 -31 -31 -28 -24 -20 -17 -16 -16 -17 -19 -20 -21 -22 -25 -30 -35 -39 -42 -42 -42 -41 -41 -40 -39 -39 -40 -41 -42 -43 -43 -42 -41 -40 -39 -37 -36 -36 -37 -38 -39 -41 -43 -45 -46 -47 -47 -46 -45 -44 -43 -42 -42 -41 -40 -38 -35 -32 -28 -24 -22 -21 -20 -21 -21 -22 -23 -25 -26 -26 -27 -27 -27 -27 -29 -30 -30 -30 -30 -29 -27 -26 -25 -25 -26 -27 -28 -28 -27 -25 -22 -19 -16 -14 -14 -16 -19 -22 -25 -26 -27 -27 -28 -29 -29 -29 -30 -31 -32 -32 -31 -32 -32 -31 -32 -35 -36 -38 -38 -37 -36 -34 -31 -29 -26 -32 -35 -36 -37 -39 -39 -38 -36 -32 -30 -25 -23 -23 -23 -23 -24 -24 -24 -26 -32 -39 -44 -45 -45 -45 -45 -45 -45 -45 -43 -43 -41 -39 -35 -35 -36 -37 -36 -36 -35 -34 -35 -36 -37 -39 -40 -40 -40 -40 -40 -39 -40 -40 -41 -41 -40 -39 -38 -38 -38 -38 -37 -35 -33 -32 -32 -30 -27 -25 -27 -30 -31 -32 -33 -31 -23 -20 -23 -29 -27 -22 -19 -19 -22 -20 -18 -17 -17 -18 -19 -21 -22 -23 -22 -18 -13 -8 -4 -1 1 4 -27 -30 -36 -39 -40 -40 -40 -40 -40 -41 -40 -40 -40 -42 -45 -46 -46 -43 -42 -41 -39 -37 -35 -34 -35 -40 -45 -48 -42 -33 -25 -20 -18 -17 -18 -17 -17 -17 -18 -17 -16 -14 -12 -10 -8 -8 -7 -7 -5 -3 -1 1 1 -1 -2 -3 -4 -4 -3 -3 -4 -6 -8 -11 -14 -15 -14 -11 -10 -13 -15 -17 -16 -15 -15 -15 -16 -18 -19 -18 -17 -17 -17 -19 -20 -20 -18 -16 -13 -14 -17 -21 -25 -27 -28 -28 -29 -31 -33 -32 -31 -29 -29 -28 -27 -27 -27 -28 -30 -30 -30 -31 -31 -32 -32 -32 -32 -33 -34 -36 -37 -38 -39 -39 -39 -40 -40 -40 -39 -37 -36 -35 -35 -34 -34 -34 -34 -35 -37 -38 -39 -40 -41 -41 -39 -37 -35 -35 -37 -37 -38 -39 -41 -43 -46 -45 -43 -42 -42 -45 -47 -46 -44 -43 -43 -43 -43 -43 -42 -42 -41 -41 -40 -39 -39 -38 -37 -36 -35 -35 -35 -36 -35 -35 -33 -32 -32 -31 -31 -29 -27 -24 -20 -17 -16 -17 -18 -19 -20 -21 -23 -27 -32 -37 -43 -45 -46 -45 -44 -43 -42 -41 -41 -41 -42 -43 -44 -44 -43 -43 -42 -40 -38 -37 -36 -37 -38 -41 -43 -45 -47 -48 -48 -47 -46 -45 -44 -43 -43 -44 -44 -43 -41 -38 -33 -29 -25 -23 -22 -22 -23 -24 -25 -26 -27 -27 -27 -27 -28 -29 -31 -33 -34 -33 -32 -31 -30 -28 -27 -27 -27 -28 -28 -27 -25 -22 -19 -16 -15 -14 -16 -20 -24 -27 -29 -29 -30 -30 -31 -32 -30 -29 -30 -33 -34 -32 -31 -31 -31 -29 -31 -34 -37 -39 -40 -40 -37 -31 -26 -24 -23 -25 -26 -27 -30 -34 -35 -33 -29 -24 -24 -23 -23 -23 -23 -24 -24 -25 -27 -29 -35 -41 -44 -46 -46 -46 -46 -46 -46 -45 -44 -44 -43 -40 -35 -33 -36 -39 -39 -36 -35 -35 -36 -37 -39 -41 -41 -42 -42 -41 -40 -40 -41 -42 -42 -41 -41 -40 -39 -38 -38 -38 -37 -35 -34 -33 -33 -31 -29 -28 -29 -30 -31 -32 -34 -32 -24 -20 -23 -29 -28 -24 -20 -19 -22 -21 -19 -19 -19 -20 -20 -21 -22 -23 -23 -21 -19 -14 -7 -4 -2 1 -28 -32 -38 -40 -41 -40 -40 -40 -41 -41 -40 -40 -43 -47 -48 -48 -47 -47 -43 -41 -40 -39 -36 -34 -35 -39 -44 -48 -45 -36 -27 -20 -17 -17 -17 -17 -16 -17 -19 -20 -19 -17 -13 -10 -8 -7 -6 -5 -3 -1 -1 -0 -1 -1 -2 -3 -4 -4 -3 -3 -4 -6 -9 -12 -14 -14 -12 -9 -9 -10 -12 -13 -13 -13 -13 -15 -17 -20 -21 -22 -21 -21 -21 -22 -21 -19 -16 -13 -10 -12 -16 -21 -26 -29 -30 -30 -30 -32 -35 -34 -31 -29 -29 -28 -28 -28 -29 -30 -31 -31 -32 -32 -32 -32 -33 -32 -33 -33 -34 -36 -37 -39 -40 -40 -41 -41 -40 -40 -39 -37 -36 -35 -35 -35 -34 -34 -35 -35 -37 -38 -39 -40 -40 -41 -41 -39 -37 -35 -34 -34 -33 -35 -39 -44 -48 -49 -48 -45 -43 -45 -48 -48 -46 -43 -43 -44 -44 -43 -43 -43 -42 -42 -41 -40 -39 -39 -38 -37 -36 -35 -35 -35 -35 -35 -33 -32 -31 -30 -30 -30 -29 -28 -25 -22 -19 -17 -18 -19 -20 -21 -22 -25 -29 -34 -40 -46 -49 -50 -48 -44 -44 -44 -43 -42 -42 -43 -45 -45 -45 -44 -42 -42 -41 -40 -39 -38 -38 -40 -42 -45 -47 -48 -48 -48 -47 -46 -45 -44 -44 -45 -47 -47 -46 -44 -39 -33 -29 -26 -25 -25 -26 -26 -27 -27 -28 -28 -28 -29 -30 -32 -34 -36 -37 -36 -35 -33 -32 -31 -30 -29 -29 -28 -27 -25 -22 -18 -17 -17 -19 -19 -21 -25 -28 -29 -30 -31 -32 -32 -33 -34 -31 -28 -27 -29 -29 -27 -25 -25 -26 -27 -30 -33 -37 -39 -42 -40 -33 -25 -22 -21 -21 -22 -23 -24 -25 -25 -24 -23 -22 -22 -23 -24 -24 -25 -25 -24 -25 -28 -32 -34 -38 -42 -45 -46 -47 -47 -47 -47 -47 -47 -46 -45 -44 -42 -37 -34 -38 -42 -41 -37 -37 -37 -39 -41 -41 -41 -42 -42 -42 -41 -40 -41 -41 -42 -42 -41 -40 -40 -39 -39 -39 -38 -37 -37 -36 -35 -33 -32 -31 -30 -30 -30 -31 -32 -34 -33 -26 -22 -22 -26 -28 -28 -25 -22 -22 -22 -22 -21 -21 -20 -21 -22 -22 -23 -23 -23 -23 -18 -12 -8 -5 -2 -29 -34 -39 -40 -40 -40 -39 -39 -40 -39 -39 -39 -44 -50 -51 -51 -49 -47 -44 -43 -43 -43 -39 -37 -36 -38 -40 -44 -44 -39 -30 -21 -17 -17 -16 -16 -16 -18 -21 -23 -22 -20 -16 -13 -10 -9 -7 -6 -3 -2 -2 -3 -3 -2 -2 -3 -4 -4 -3 -3 -4 -6 -9 -13 -14 -12 -10 -8 -7 -8 -8 -9 -10 -11 -14 -16 -18 -21 -23 -24 -25 -25 -25 -23 -20 -17 -14 -11 -10 -12 -16 -20 -25 -29 -31 -31 -32 -34 -37 -36 -33 -30 -29 -30 -29 -30 -31 -32 -33 -33 -33 -33 -33 -33 -34 -34 -33 -34 -35 -36 -37 -38 -40 -42 -43 -43 -42 -40 -38 -37 -36 -35 -35 -35 -35 -35 -35 -36 -36 -36 -36 -37 -39 -41 -42 -40 -37 -35 -34 -33 -32 -34 -38 -43 -47 -48 -49 -48 -46 -46 -47 -46 -44 -43 -44 -44 -44 -43 -43 -44 -44 -44 -43 -42 -40 -39 -38 -38 -37 -36 -35 -35 -35 -35 -33 -32 -30 -29 -29 -31 -32 -32 -31 -30 -26 -21 -18 -19 -21 -22 -23 -26 -29 -34 -39 -44 -48 -50 -49 -45 -45 -45 -45 -43 -41 -42 -44 -45 -46 -45 -44 -43 -42 -42 -42 -41 -40 -41 -43 -45 -47 -48 -49 -49 -48 -48 -47 -46 -45 -46 -48 -49 -49 -46 -42 -37 -33 -30 -28 -28 -28 -29 -29 -29 -28 -29 -29 -30 -32 -34 -36 -38 -39 -39 -37 -34 -33 -33 -33 -32 -30 -27 -24 -21 -19 -19 -20 -22 -26 -27 -27 -27 -28 -30 -31 -33 -34 -35 -34 -33 -30 -27 -25 -24 -24 -25 -24 -23 -24 -26 -28 -32 -36 -40 -43 -39 -29 -22 -21 -21 -21 -21 -22 -23 -24 -24 -23 -22 -21 -22 -24 -25 -26 -26 -26 -26 -26 -30 -36 -37 -40 -43 -46 -47 -49 -49 -49 -48 -49 -49 -47 -46 -45 -43 -40 -38 -39 -41 -41 -38 -39 -40 -42 -42 -42 -42 -43 -43 -42 -40 -40 -40 -41 -41 -42 -41 -41 -40 -40 -39 -38 -37 -37 -38 -37 -35 -33 -31 -30 -29 -26 -24 -25 -28 -33 -33 -29 -25 -24 -23 -26 -28 -28 -26 -25 -25 -24 -22 -21 -20 -20 -20 -21 -22 -22 -22 -22 -21 -16 -13 -9 -5 -29 -34 -39 -40 -40 -40 -39 -39 -39 -38 -38 -39 -43 -47 -49 -49 -48 -47 -46 -47 -47 -46 -42 -38 -36 -36 -36 -37 -39 -38 -32 -24 -18 -17 -16 -16 -18 -20 -24 -25 -25 -23 -20 -16 -13 -12 -11 -9 -7 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 -2 -4 -7 -10 -12 -11 -9 -7 -6 -6 -6 -6 -7 -9 -12 -15 -17 -19 -21 -23 -25 -27 -28 -28 -25 -20 -16 -13 -11 -11 -13 -17 -20 -23 -27 -30 -33 -35 -37 -39 -39 -37 -33 -31 -32 -32 -32 -32 -32 -34 -34 -34 -35 -34 -35 -35 -35 -35 -35 -35 -36 -37 -38 -40 -42 -44 -45 -44 -41 -38 -37 -36 -36 -36 -36 -36 -36 -36 -36 -35 -34 -34 -35 -37 -41 -42 -40 -38 -35 -34 -33 -33 -35 -39 -43 -45 -46 -47 -48 -47 -47 -46 -45 -43 -42 -44 -45 -45 -44 -43 -43 -44 -45 -45 -45 -42 -40 -39 -38 -37 -36 -36 -36 -36 -36 -34 -32 -30 -28 -29 -31 -34 -35 -36 -37 -33 -27 -21 -19 -21 -23 -25 -27 -31 -34 -38 -43 -47 -50 -50 -49 -47 -47 -46 -44 -41 -42 -44 -45 -46 -47 -46 -45 -44 -43 -42 -42 -43 -44 -46 -47 -48 -49 -51 -52 -52 -52 -52 -50 -48 -48 -49 -50 -49 -47 -44 -39 -35 -32 -30 -30 -30 -30 -30 -30 -30 -30 -30 -32 -33 -35 -37 -39 -40 -40 -38 -36 -34 -34 -33 -32 -29 -26 -23 -21 -21 -24 -27 -29 -30 -29 -29 -28 -28 -29 -30 -32 -35 -35 -32 -30 -25 -21 -18 -18 -18 -22 -24 -24 -25 -26 -27 -30 -35 -40 -42 -36 -28 -22 -21 -21 -21 -21 -22 -22 -23 -24 -25 -25 -24 -22 -24 -26 -27 -27 -28 -27 -28 -31 -37 -38 -41 -45 -48 -49 -50 -50 -49 -48 -48 -48 -46 -46 -46 -45 -43 -38 -36 -36 -37 -39 -41 -42 -42 -43 -43 -43 -43 -43 -41 -40 -40 -40 -41 -41 -42 -42 -41 -41 -40 -38 -37 -36 -37 -38 -37 -36 -33 -31 -30 -26 -20 -18 -19 -23 -29 -31 -31 -28 -26 -25 -26 -27 -28 -28 -28 -27 -25 -23 -22 -20 -19 -18 -18 -20 -21 -21 -21 -21 -18 -15 -11 -8 -30 -35 -39 -41 -41 -40 -39 -39 -39 -38 -38 -39 -42 -45 -47 -47 -46 -47 -49 -51 -51 -47 -42 -36 -34 -34 -34 -34 -34 -34 -31 -25 -19 -17 -17 -18 -21 -24 -26 -26 -25 -24 -23 -20 -18 -16 -16 -15 -11 -8 -6 -6 -5 -3 -2 -2 -1 1 1 -1 -3 -6 -7 -7 -5 -4 -4 -5 -6 -7 -8 -10 -11 -14 -15 -16 -18 -19 -22 -24 -27 -29 -29 -25 -19 -15 -12 -11 -11 -14 -16 -19 -21 -25 -30 -35 -39 -41 -42 -41 -39 -36 -33 -32 -34 -34 -34 -33 -34 -35 -35 -35 -35 -36 -37 -37 -37 -37 -37 -37 -38 -39 -40 -42 -45 -46 -45 -42 -39 -38 -37 -37 -36 -36 -36 -37 -37 -37 -34 -32 -32 -33 -36 -39 -40 -40 -38 -36 -33 -33 -34 -37 -40 -42 -43 -44 -45 -46 -48 -48 -47 -44 -42 -42 -44 -46 -47 -47 -44 -42 -43 -44 -46 -47 -44 -41 -39 -38 -37 -37 -36 -35 -35 -36 -36 -34 -32 -29 -29 -31 -34 -36 -38 -38 -37 -31 -25 -21 -21 -24 -26 -29 -32 -35 -39 -42 -45 -47 -50 -51 -50 -48 -46 -45 -43 -43 -44 -45 -47 -47 -47 -47 -46 -44 -43 -43 -44 -44 -45 -47 -49 -52 -55 -57 -57 -57 -56 -55 -53 -51 -51 -51 -49 -47 -44 -40 -36 -33 -32 -31 -31 -31 -31 -31 -31 -31 -32 -33 -34 -36 -37 -39 -40 -40 -39 -37 -35 -34 -33 -31 -28 -27 -26 -27 -27 -28 -30 -32 -32 -31 -30 -29 -29 -29 -29 -31 -31 -31 -27 -25 -18 -15 -13 -13 -15 -18 -22 -25 -25 -26 -27 -29 -33 -37 -35 -28 -24 -23 -23 -22 -22 -22 -22 -22 -23 -24 -26 -29 -31 -26 -25 -26 -28 -29 -29 -29 -31 -35 -39 -40 -42 -46 -49 -50 -49 -48 -48 -48 -47 -46 -46 -46 -46 -45 -40 -32 -29 -30 -35 -39 -42 -42 -42 -43 -43 -43 -43 -43 -42 -40 -40 -40 -41 -41 -42 -42 -42 -41 -40 -38 -37 -36 -37 -37 -37 -35 -33 -31 -29 -25 -20 -17 -17 -20 -24 -29 -31 -31 -28 -26 -26 -27 -28 -29 -29 -28 -27 -25 -22 -21 -19 -17 -17 -19 -20 -20 -20 -18 -14 -12 -11 -11 -30 -35 -40 -42 -42 -41 -41 -39 -39 -39 -40 -42 -45 -47 -48 -48 -47 -47 -50 -52 -51 -46 -40 -35 -33 -33 -34 -35 -33 -31 -28 -24 -20 -19 -18 -20 -23 -27 -28 -27 -25 -24 -24 -25 -23 -21 -19 -16 -13 -10 -7 -6 -4 -4 -3 -2 -1 0 -0 -2 -3 -3 -2 -0 1 0 -3 -6 -8 -9 -10 -12 -13 -13 -13 -14 -15 -16 -17 -21 -26 -30 -32 -28 -21 -16 -12 -11 -12 -15 -17 -19 -21 -25 -30 -36 -41 -44 -43 -41 -39 -37 -34 -32 -34 -35 -35 -33 -33 -34 -35 -35 -35 -36 -37 -37 -37 -38 -38 -39 -39 -40 -41 -42 -45 -45 -44 -42 -40 -39 -39 -38 -38 -37 -37 -38 -39 -38 -35 -32 -31 -31 -33 -36 -38 -39 -38 -36 -33 -33 -35 -38 -40 -42 -42 -42 -42 -43 -46 -47 -46 -44 -42 -42 -43 -46 -48 -48 -45 -43 -43 -44 -45 -46 -45 -42 -39 -37 -35 -35 -35 -34 -33 -34 -36 -36 -34 -31 -30 -32 -34 -36 -38 -38 -37 -33 -26 -21 -21 -24 -27 -30 -33 -36 -38 -41 -43 -45 -47 -51 -51 -50 -47 -46 -45 -45 -45 -45 -46 -47 -48 -48 -47 -46 -44 -44 -45 -45 -46 -47 -49 -52 -55 -59 -60 -59 -57 -56 -56 -56 -55 -54 -53 -50 -45 -42 -39 -36 -34 -33 -33 -33 -33 -33 -34 -35 -34 -34 -35 -36 -37 -39 -40 -40 -39 -38 -36 -35 -34 -31 -29 -28 -30 -32 -33 -33 -34 -34 -34 -33 -32 -30 -29 -29 -29 -30 -29 -26 -20 -19 -16 -15 -14 -14 -14 -17 -21 -25 -26 -26 -27 -29 -32 -34 -30 -26 -25 -27 -27 -24 -23 -23 -23 -23 -24 -25 -27 -32 -38 -34 -31 -30 -33 -35 -35 -35 -37 -41 -44 -45 -46 -48 -50 -49 -46 -45 -45 -47 -48 -47 -46 -46 -46 -45 -38 -33 -32 -34 -40 -42 -42 -42 -42 -43 -43 -43 -44 -44 -43 -40 -40 -40 -41 -41 -41 -41 -41 -41 -41 -39 -38 -37 -37 -36 -35 -34 -32 -32 -32 -30 -25 -20 -17 -19 -22 -27 -30 -32 -30 -27 -26 -27 -28 -29 -30 -29 -28 -26 -23 -21 -19 -17 -17 -18 -18 -19 -19 -18 -15 -14 -14 -14 -30 -36 -41 -43 -43 -43 -41 -39 -38 -39 -42 -45 -49 -52 -53 -52 -51 -50 -49 -48 -47 -45 -40 -37 -34 -34 -36 -38 -36 -33 -29 -25 -21 -20 -22 -24 -27 -29 -30 -29 -28 -25 -23 -22 -22 -22 -22 -21 -18 -14 -11 -8 -6 -4 -4 -3 -3 -3 -4 -5 -4 -3 0 4 4 1 -3 -7 -8 -8 -10 -11 -12 -12 -13 -14 -14 -14 -14 -17 -23 -29 -32 -30 -23 -17 -13 -11 -13 -15 -18 -20 -23 -27 -32 -37 -42 -45 -45 -41 -39 -39 -38 -36 -35 -35 -34 -33 -33 -33 -34 -35 -35 -36 -37 -37 -37 -38 -38 -39 -40 -41 -42 -43 -45 -46 -44 -42 -41 -42 -42 -41 -39 -38 -38 -39 -39 -38 -35 -32 -31 -31 -32 -33 -36 -37 -36 -34 -32 -33 -36 -39 -40 -41 -40 -40 -40 -41 -44 -45 -45 -43 -42 -42 -43 -45 -47 -48 -46 -44 -43 -43 -44 -44 -44 -43 -40 -37 -33 -33 -33 -33 -32 -32 -34 -35 -35 -34 -33 -33 -35 -37 -39 -40 -39 -34 -28 -23 -22 -25 -29 -33 -36 -36 -37 -40 -42 -44 -45 -48 -50 -50 -49 -49 -48 -46 -45 -45 -46 -47 -48 -48 -48 -48 -46 -46 -45 -46 -46 -47 -48 -50 -54 -59 -63 -61 -57 -54 -55 -56 -57 -58 -58 -54 -49 -46 -44 -42 -40 -40 -40 -39 -38 -36 -38 -40 -40 -38 -38 -38 -40 -41 -42 -42 -40 -39 -38 -38 -36 -33 -31 -31 -32 -34 -36 -37 -37 -37 -36 -35 -34 -32 -31 -30 -30 -30 -28 -23 -18 -17 -17 -17 -19 -19 -18 -20 -24 -27 -27 -27 -27 -29 -30 -33 -32 -30 -30 -34 -35 -30 -26 -24 -24 -24 -24 -25 -28 -33 -41 -40 -38 -38 -41 -45 -45 -43 -43 -45 -49 -50 -50 -49 -49 -47 -45 -44 -44 -47 -47 -45 -44 -44 -45 -45 -42 -41 -40 -40 -42 -42 -42 -42 -42 -43 -44 -45 -45 -45 -44 -42 -41 -41 -41 -41 -42 -43 -43 -43 -43 -41 -39 -38 -37 -35 -33 -32 -32 -32 -33 -32 -30 -26 -21 -20 -22 -25 -28 -32 -31 -29 -27 -27 -28 -29 -29 -29 -28 -27 -25 -22 -19 -17 -16 -16 -17 -18 -18 -18 -18 -18 -18 -19 -31 -36 -41 -44 -44 -42 -40 -37 -37 -39 -41 -45 -50 -55 -56 -56 -54 -52 -48 -44 -43 -43 -43 -42 -40 -37 -36 -37 -35 -30 -26 -22 -20 -21 -23 -25 -27 -28 -29 -30 -30 -28 -26 -24 -23 -23 -24 -24 -23 -21 -16 -12 -8 -6 -6 -6 -7 -8 -8 -8 -6 -2 2 6 5 1 -3 -6 -6 -6 -8 -11 -13 -14 -14 -14 -14 -12 -12 -14 -19 -25 -29 -30 -25 -19 -14 -12 -13 -16 -18 -21 -24 -29 -33 -37 -42 -46 -46 -42 -41 -41 -42 -41 -39 -37 -35 -35 -34 -34 -34 -35 -36 -36 -36 -36 -37 -38 -39 -40 -41 -42 -43 -45 -46 -47 -46 -44 -43 -42 -42 -42 -42 -41 -41 -40 -40 -39 -37 -34 -33 -33 -33 -34 -35 -36 -35 -34 -32 -33 -36 -39 -40 -40 -39 -39 -39 -41 -43 -45 -44 -43 -41 -41 -43 -44 -45 -46 -46 -45 -43 -42 -42 -42 -42 -42 -40 -37 -32 -31 -32 -33 -33 -31 -32 -33 -33 -33 -33 -34 -35 -37 -39 -41 -40 -37 -33 -30 -29 -30 -32 -34 -35 -36 -37 -40 -43 -45 -44 -44 -46 -48 -49 -51 -50 -48 -46 -45 -45 -46 -47 -48 -49 -50 -49 -48 -47 -46 -46 -46 -47 -50 -53 -56 -58 -59 -58 -56 -55 -55 -56 -57 -58 -56 -54 -53 -51 -49 -47 -47 -46 -46 -44 -42 -44 -46 -46 -45 -45 -46 -47 -47 -48 -48 -46 -43 -40 -37 -34 -33 -32 -33 -35 -36 -37 -38 -39 -39 -39 -38 -36 -35 -34 -32 -32 -31 -30 -27 -20 -18 -20 -23 -26 -26 -24 -26 -29 -30 -28 -28 -28 -29 -29 -31 -33 -33 -34 -36 -38 -36 -33 -29 -27 -25 -24 -25 -28 -33 -41 -44 -45 -46 -48 -50 -50 -49 -48 -49 -49 -49 -48 -47 -46 -46 -46 -46 -46 -46 -45 -42 -40 -40 -42 -43 -43 -44 -43 -43 -43 -42 -42 -42 -43 -44 -45 -45 -45 -45 -45 -44 -43 -43 -43 -44 -45 -45 -45 -45 -44 -42 -40 -39 -37 -34 -32 -31 -31 -33 -33 -33 -31 -29 -27 -25 -25 -27 -28 -31 -31 -30 -29 -28 -28 -28 -29 -28 -28 -27 -25 -22 -19 -18 -16 -16 -16 -17 -18 -18 -18 -18 -19 -19 -32 -36 -41 -44 -44 -41 -38 -35 -36 -37 -40 -43 -48 -52 -55 -54 -53 -50 -47 -44 -42 -43 -45 -47 -45 -41 -36 -34 -33 -29 -24 -21 -20 -22 -24 -26 -27 -27 -28 -29 -28 -27 -27 -27 -26 -24 -24 -25 -27 -25 -22 -17 -11 -9 -9 -10 -12 -12 -12 -9 -6 -1 3 5 3 0 -2 -4 -4 -6 -8 -12 -14 -16 -16 -15 -13 -11 -11 -13 -16 -20 -25 -27 -25 -20 -15 -13 -14 -17 -20 -23 -26 -30 -34 -38 -42 -46 -47 -44 -43 -42 -43 -44 -43 -40 -38 -36 -36 -35 -34 -34 -35 -36 -36 -36 -37 -37 -38 -39 -41 -42 -43 -45 -47 -47 -47 -46 -45 -45 -44 -43 -42 -43 -43 -42 -41 -40 -39 -37 -36 -35 -35 -35 -34 -33 -32 -32 -33 -35 -37 -39 -40 -39 -39 -38 -39 -40 -43 -45 -44 -42 -40 -39 -39 -40 -42 -44 -46 -45 -43 -40 -39 -39 -39 -38 -38 -36 -32 -30 -30 -31 -32 -32 -32 -32 -33 -32 -32 -33 -35 -36 -38 -40 -41 -38 -34 -31 -30 -31 -31 -32 -34 -35 -37 -41 -44 -46 -44 -42 -43 -45 -49 -52 -52 -50 -47 -45 -45 -46 -47 -48 -50 -51 -51 -50 -48 -46 -46 -46 -47 -48 -51 -54 -56 -59 -60 -59 -56 -55 -55 -55 -56 -57 -57 -56 -56 -54 -51 -50 -50 -50 -49 -49 -49 -50 -51 -52 -51 -51 -52 -52 -51 -50 -47 -44 -41 -38 -36 -35 -35 -36 -37 -38 -39 -39 -40 -41 -41 -41 -39 -38 -36 -34 -32 -32 -32 -30 -24 -23 -25 -28 -29 -28 -29 -31 -34 -34 -31 -30 -30 -30 -30 -30 -32 -34 -36 -37 -39 -39 -39 -37 -34 -29 -27 -26 -27 -33 -40 -46 -48 -49 -49 -51 -52 -51 -51 -51 -49 -47 -44 -43 -43 -43 -44 -45 -47 -47 -42 -38 -36 -38 -39 -41 -43 -44 -45 -44 -42 -42 -43 -44 -44 -43 -43 -44 -44 -44 -45 -45 -45 -45 -46 -47 -46 -46 -46 -45 -44 -43 -41 -39 -36 -33 -31 -31 -32 -34 -34 -33 -32 -30 -27 -26 -28 -30 -30 -30 -30 -30 -30 -28 -28 -28 -28 -28 -27 -27 -25 -22 -19 -19 -18 -17 -16 -17 -17 -17 -18 -18 -18 -18 -34 -37 -40 -43 -43 -40 -37 -36 -37 -38 -40 -43 -46 -49 -51 -51 -50 -48 -47 -45 -44 -43 -44 -44 -44 -42 -38 -34 -31 -28 -24 -22 -22 -24 -25 -25 -25 -25 -25 -27 -27 -27 -28 -29 -27 -25 -25 -26 -27 -27 -25 -20 -15 -12 -13 -14 -15 -15 -13 -9 -5 -1 3 3 1 -1 -2 -3 -4 -6 -9 -13 -16 -18 -18 -15 -12 -10 -11 -12 -14 -17 -21 -24 -23 -20 -17 -15 -15 -17 -21 -24 -27 -30 -34 -37 -41 -45 -47 -47 -46 -45 -44 -43 -44 -43 -40 -37 -37 -36 -35 -35 -35 -36 -37 -37 -37 -36 -37 -38 -40 -41 -42 -43 -45 -46 -46 -47 -47 -47 -46 -44 -43 -44 -44 -44 -43 -43 -43 -42 -40 -38 -37 -35 -33 -32 -32 -33 -34 -36 -37 -38 -39 -39 -38 -37 -37 -39 -41 -44 -45 -44 -41 -38 -37 -37 -39 -43 -46 -45 -43 -41 -39 -38 -36 -36 -36 -34 -33 -30 -29 -29 -30 -32 -34 -35 -34 -32 -32 -33 -34 -36 -38 -40 -40 -38 -35 -32 -31 -31 -31 -33 -35 -37 -39 -41 -43 -45 -45 -43 -43 -44 -47 -52 -53 -51 -48 -46 -46 -46 -47 -48 -50 -52 -52 -50 -48 -46 -47 -46 -46 -47 -49 -50 -52 -55 -58 -60 -60 -58 -57 -56 -57 -58 -58 -60 -61 -61 -58 -56 -55 -54 -53 -52 -52 -52 -53 -55 -53 -53 -54 -55 -55 -55 -51 -47 -43 -42 -40 -39 -39 -39 -39 -39 -39 -40 -41 -42 -42 -42 -40 -36 -34 -32 -31 -32 -34 -33 -30 -29 -30 -31 -31 -31 -31 -34 -37 -37 -33 -32 -32 -33 -32 -32 -33 -35 -38 -40 -41 -42 -42 -41 -38 -36 -34 -32 -32 -38 -44 -48 -49 -49 -50 -51 -52 -52 -51 -50 -48 -44 -42 -42 -43 -43 -43 -45 -47 -47 -43 -38 -36 -38 -40 -41 -43 -45 -45 -44 -42 -42 -44 -45 -44 -44 -43 -44 -44 -43 -44 -45 -46 -47 -48 -48 -48 -47 -46 -46 -45 -44 -43 -40 -36 -33 -32 -32 -34 -36 -35 -35 -34 -32 -26 -23 -24 -27 -30 -30 -30 -30 -29 -28 -27 -27 -28 -27 -26 -26 -25 -23 -22 -22 -20 -19 -18 -17 -16 -16 -17 -17 -17 -17 -35 -37 -39 -41 -40 -38 -37 -37 -39 -40 -43 -45 -47 -50 -52 -51 -49 -47 -46 -45 -44 -44 -44 -44 -43 -42 -39 -35 -31 -28 -25 -24 -25 -26 -26 -25 -24 -24 -25 -25 -25 -26 -28 -29 -27 -26 -25 -25 -26 -26 -24 -21 -17 -16 -16 -17 -18 -16 -13 -8 -3 0 2 2 0 -1 -2 -4 -6 -8 -11 -14 -17 -18 -17 -14 -11 -10 -10 -11 -13 -16 -19 -21 -20 -19 -18 -17 -15 -17 -21 -25 -28 -30 -33 -37 -40 -44 -47 -49 -49 -47 -45 -43 -43 -42 -40 -37 -36 -37 -38 -37 -36 -36 -37 -38 -37 -36 -36 -37 -39 -40 -41 -42 -43 -44 -45 -46 -49 -50 -49 -47 -45 -45 -45 -45 -46 -47 -47 -46 -44 -42 -40 -36 -33 -32 -33 -34 -35 -37 -38 -38 -38 -38 -38 -37 -36 -37 -40 -43 -45 -45 -43 -40 -38 -37 -39 -41 -43 -44 -43 -40 -38 -37 -36 -35 -35 -34 -33 -32 -31 -30 -31 -33 -36 -37 -37 -34 -32 -33 -34 -36 -38 -40 -39 -37 -34 -32 -32 -32 -32 -33 -35 -37 -40 -41 -43 -44 -44 -43 -43 -44 -46 -49 -52 -52 -50 -48 -47 -47 -47 -48 -50 -53 -53 -51 -48 -47 -47 -47 -47 -47 -48 -49 -50 -53 -56 -59 -61 -61 -60 -59 -59 -58 -59 -61 -63 -63 -62 -61 -60 -59 -58 -56 -54 -52 -53 -55 -54 -53 -54 -57 -60 -61 -58 -52 -47 -46 -45 -44 -42 -41 -41 -40 -40 -40 -40 -40 -38 -39 -37 -32 -29 -28 -29 -32 -36 -36 -35 -34 -33 -33 -33 -33 -34 -35 -37 -37 -34 -34 -35 -35 -35 -35 -35 -37 -39 -42 -43 -44 -43 -42 -40 -39 -38 -36 -35 -37 -41 -44 -47 -48 -51 -52 -51 -49 -47 -47 -45 -44 -43 -43 -46 -45 -45 -46 -47 -45 -41 -37 -36 -39 -41 -43 -45 -45 -43 -45 -44 -44 -45 -45 -44 -44 -44 -44 -44 -44 -45 -46 -46 -47 -48 -48 -48 -48 -47 -46 -44 -42 -42 -41 -38 -35 -34 -34 -35 -36 -37 -37 -36 -34 -28 -23 -23 -27 -30 -30 -30 -31 -30 -29 -27 -27 -27 -26 -26 -25 -24 -24 -24 -23 -22 -21 -18 -14 -13 -13 -14 -15 -17 -17 -36 -37 -38 -38 -38 -37 -37 -37 -39 -41 -44 -46 -47 -49 -50 -50 -48 -46 -46 -45 -45 -44 -45 -45 -44 -42 -39 -36 -32 -28 -26 -26 -27 -28 -27 -26 -25 -25 -25 -23 -23 -24 -26 -27 -26 -24 -24 -23 -23 -22 -20 -19 -18 -19 -20 -21 -21 -18 -14 -7 -3 0 2 2 1 -1 -2 -5 -7 -10 -13 -15 -16 -15 -14 -11 -10 -9 -11 -12 -14 -16 -17 -18 -18 -19 -20 -20 -18 -19 -21 -25 -28 -30 -33 -37 -40 -44 -47 -49 -50 -50 -47 -44 -42 -41 -40 -38 -37 -38 -40 -41 -39 -38 -38 -39 -38 -37 -37 -37 -37 -39 -41 -42 -42 -43 -44 -46 -49 -51 -50 -49 -47 -46 -46 -46 -47 -49 -50 -49 -47 -45 -42 -38 -34 -33 -34 -35 -36 -37 -38 -38 -37 -37 -37 -36 -36 -36 -38 -42 -45 -47 -46 -42 -40 -39 -39 -40 -42 -43 -42 -40 -38 -37 -36 -35 -34 -33 -33 -33 -32 -32 -32 -34 -36 -38 -38 -36 -33 -32 -33 -36 -38 -40 -39 -36 -33 -32 -34 -35 -34 -33 -33 -35 -38 -41 -42 -43 -43 -42 -42 -43 -45 -48 -50 -52 -51 -50 -49 -49 -48 -48 -49 -52 -53 -52 -49 -47 -47 -47 -47 -48 -50 -52 -53 -53 -54 -57 -60 -63 -64 -63 -62 -61 -61 -62 -64 -64 -62 -62 -63 -64 -63 -59 -56 -53 -53 -54 -56 -55 -54 -55 -60 -64 -62 -57 -50 -48 -50 -49 -46 -44 -42 -41 -40 -40 -41 -42 -39 -37 -35 -33 -31 -32 -33 -35 -38 -38 -37 -36 -35 -34 -34 -35 -36 -37 -38 -37 -35 -36 -37 -37 -37 -37 -38 -39 -41 -42 -43 -43 -43 -43 -41 -41 -40 -38 -36 -37 -39 -41 -44 -47 -49 -49 -47 -45 -44 -45 -46 -46 -46 -46 -48 -48 -48 -48 -46 -42 -37 -35 -36 -39 -42 -45 -44 -40 -38 -46 -48 -47 -45 -44 -44 -45 -45 -46 -46 -45 -45 -46 -46 -46 -47 -47 -48 -48 -48 -46 -40 -36 -37 -42 -40 -38 -36 -37 -37 -37 -37 -37 -37 -36 -31 -28 -26 -29 -30 -31 -32 -32 -31 -30 -29 -27 -27 -26 -26 -25 -24 -24 -24 -24 -24 -21 -14 -6 -4 -4 -6 -11 -16 -17 -36 -37 -37 -37 -36 -36 -36 -37 -39 -41 -43 -44 -45 -46 -47 -47 -46 -44 -44 -45 -45 -44 -45 -45 -44 -41 -39 -36 -32 -28 -27 -26 -27 -28 -28 -27 -25 -24 -25 -26 -25 -25 -25 -25 -24 -23 -22 -21 -19 -17 -17 -17 -18 -20 -22 -24 -23 -20 -14 -8 -4 -2 -1 0 0 -1 -3 -5 -8 -11 -13 -14 -13 -11 -10 -9 -10 -12 -13 -15 -16 -16 -16 -16 -18 -20 -21 -22 -21 -22 -24 -27 -30 -31 -32 -35 -39 -44 -48 -51 -52 -51 -49 -44 -42 -42 -42 -40 -39 -39 -40 -41 -41 -40 -39 -39 -39 -39 -38 -37 -37 -39 -41 -43 -42 -42 -42 -45 -49 -50 -50 -50 -49 -48 -46 -45 -45 -47 -49 -50 -48 -45 -42 -38 -35 -34 -34 -36 -37 -38 -39 -39 -38 -38 -37 -36 -35 -35 -37 -40 -44 -47 -47 -43 -41 -40 -40 -41 -41 -40 -39 -38 -37 -37 -36 -35 -34 -33 -32 -32 -32 -33 -35 -36 -37 -37 -38 -38 -34 -32 -33 -35 -38 -41 -39 -36 -33 -32 -35 -37 -37 -35 -33 -33 -36 -38 -41 -43 -44 -44 -42 -42 -43 -45 -47 -49 -51 -51 -51 -51 -49 -48 -48 -50 -52 -52 -50 -48 -48 -48 -48 -48 -50 -53 -54 -55 -54 -55 -59 -63 -66 -67 -67 -66 -65 -64 -64 -62 -60 -61 -62 -63 -64 -63 -62 -61 -60 -57 -58 -56 -54 -52 -56 -61 -61 -57 -53 -51 -54 -54 -51 -48 -45 -43 -42 -42 -44 -46 -45 -40 -36 -34 -34 -37 -40 -41 -41 -40 -39 -38 -37 -36 -36 -36 -37 -37 -37 -36 -37 -37 -38 -39 -39 -39 -40 -40 -41 -40 -40 -40 -40 -40 -41 -41 -40 -39 -38 -37 -39 -40 -42 -44 -44 -44 -44 -43 -43 -46 -49 -50 -50 -49 -50 -50 -50 -48 -45 -39 -35 -33 -36 -40 -43 -45 -41 -35 -36 -46 -49 -48 -44 -44 -45 -47 -47 -47 -47 -46 -46 -46 -47 -46 -46 -46 -47 -47 -48 -46 -38 -31 -33 -41 -42 -40 -38 -39 -39 -38 -38 -38 -38 -36 -33 -31 -30 -30 -31 -32 -33 -33 -32 -31 -29 -27 -26 -26 -26 -25 -24 -24 -23 -23 -22 -18 -9 -3 -2 -2 -4 -9 -16 -17 -36 -37 -37 -36 -35 -35 -36 -36 -38 -40 -41 -42 -42 -42 -43 -43 -42 -41 -42 -43 -43 -43 -43 -44 -43 -41 -38 -36 -33 -30 -28 -27 -27 -28 -29 -29 -27 -26 -28 -30 -28 -26 -24 -24 -23 -22 -21 -19 -17 -16 -15 -15 -17 -19 -20 -21 -19 -16 -11 -8 -6 -5 -4 -3 -2 -2 -3 -5 -8 -10 -11 -11 -10 -9 -9 -11 -13 -15 -17 -17 -16 -15 -14 -15 -17 -20 -22 -23 -24 -24 -26 -28 -31 -33 -33 -34 -36 -40 -45 -49 -51 -51 -50 -46 -43 -42 -41 -40 -40 -39 -40 -41 -43 -43 -42 -41 -40 -40 -39 -38 -38 -39 -40 -42 -43 -42 -42 -43 -46 -48 -48 -49 -49 -48 -46 -44 -43 -45 -49 -50 -48 -44 -41 -38 -36 -35 -34 -34 -35 -37 -39 -40 -39 -39 -38 -36 -35 -35 -36 -39 -42 -45 -45 -43 -40 -40 -41 -42 -40 -38 -37 -36 -36 -36 -36 -36 -34 -33 -31 -31 -32 -34 -36 -38 -38 -37 -37 -37 -36 -33 -33 -34 -37 -41 -41 -38 -33 -31 -35 -38 -40 -38 -33 -32 -33 -36 -38 -42 -45 -45 -43 -42 -41 -43 -44 -46 -50 -53 -53 -51 -48 -47 -48 -49 -50 -51 -50 -50 -49 -49 -49 -49 -50 -53 -54 -54 -53 -55 -57 -61 -66 -70 -71 -70 -69 -68 -66 -63 -62 -62 -63 -63 -65 -66 -66 -65 -64 -62 -60 -58 -56 -55 -58 -59 -59 -58 -58 -58 -59 -59 -57 -54 -50 -47 -46 -45 -46 -48 -47 -43 -38 -36 -37 -37 -40 -43 -44 -43 -42 -41 -40 -39 -39 -38 -38 -37 -36 -36 -37 -39 -40 -40 -40 -41 -41 -41 -41 -40 -39 -38 -38 -38 -39 -39 -40 -40 -39 -39 -39 -39 -39 -41 -41 -41 -42 -42 -44 -48 -50 -52 -53 -52 -51 -50 -49 -48 -43 -38 -34 -33 -36 -39 -44 -46 -44 -39 -40 -46 -49 -48 -45 -45 -47 -48 -49 -48 -47 -47 -47 -48 -48 -47 -47 -46 -47 -48 -49 -47 -40 -34 -34 -41 -43 -41 -40 -41 -40 -39 -39 -40 -39 -38 -35 -33 -33 -32 -32 -33 -33 -33 -32 -31 -29 -27 -26 -25 -25 -25 -25 -24 -20 -19 -19 -14 -5 -2 -2 -2 -3 -8 -16 -18 -35 -36 -36 -35 -35 -35 -36 -37 -38 -39 -40 -40 -39 -39 -39 -39 -39 -39 -40 -41 -41 -41 -40 -40 -40 -40 -38 -36 -35 -33 -30 -29 -28 -28 -28 -29 -30 -32 -35 -35 -30 -26 -24 -25 -25 -24 -22 -19 -17 -17 -15 -15 -15 -16 -17 -16 -14 -12 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -7 -9 -9 -10 -10 -10 -12 -15 -17 -19 -20 -19 -16 -15 -14 -15 -18 -20 -22 -24 -25 -26 -27 -30 -33 -35 -35 -35 -36 -38 -42 -45 -48 -49 -49 -46 -44 -43 -41 -39 -38 -37 -38 -40 -42 -43 -42 -42 -41 -40 -39 -39 -39 -39 -40 -41 -41 -41 -41 -42 -45 -46 -47 -48 -49 -48 -45 -43 -41 -42 -47 -50 -50 -46 -42 -38 -36 -35 -35 -35 -35 -37 -38 -40 -41 -40 -39 -37 -36 -36 -36 -38 -40 -42 -43 -41 -40 -40 -42 -43 -41 -39 -36 -35 -35 -35 -36 -36 -35 -33 -31 -30 -31 -34 -37 -38 -37 -37 -37 -37 -37 -35 -33 -34 -37 -40 -40 -37 -33 -31 -33 -36 -37 -36 -33 -31 -31 -33 -36 -40 -44 -45 -45 -44 -42 -41 -42 -44 -48 -53 -53 -51 -48 -46 -48 -48 -49 -50 -50 -50 -50 -49 -50 -51 -52 -54 -55 -55 -54 -54 -56 -59 -64 -70 -73 -73 -73 -71 -68 -66 -66 -65 -65 -66 -68 -70 -71 -70 -69 -65 -62 -60 -60 -60 -61 -61 -60 -60 -65 -66 -67 -66 -65 -62 -57 -53 -51 -49 -49 -49 -47 -43 -41 -41 -43 -43 -43 -44 -45 -45 -45 -44 -42 -41 -41 -40 -40 -39 -37 -38 -39 -41 -42 -42 -41 -42 -43 -43 -42 -41 -40 -39 -39 -38 -38 -39 -40 -41 -40 -40 -38 -37 -37 -38 -38 -39 -41 -43 -45 -45 -44 -46 -53 -54 -53 -51 -48 -45 -41 -36 -33 -33 -35 -39 -44 -48 -48 -46 -46 -49 -50 -49 -47 -47 -48 -50 -50 -48 -48 -48 -48 -48 -48 -47 -47 -46 -46 -47 -49 -48 -44 -39 -39 -43 -44 -44 -43 -42 -41 -41 -42 -42 -42 -41 -39 -38 -37 -35 -34 -34 -34 -34 -33 -31 -29 -27 -27 -26 -26 -26 -25 -21 -14 -13 -13 -11 -4 -2 -2 -2 -2 -7 -16 -18 -34 -35 -35 -35 -34 -35 -36 -37 -38 -40 -40 -40 -39 -37 -36 -36 -37 -38 -39 -39 -39 -38 -37 -36 -36 -36 -36 -36 -37 -36 -34 -32 -30 -30 -31 -33 -37 -40 -40 -35 -30 -26 -25 -28 -28 -27 -24 -20 -18 -18 -17 -16 -16 -16 -15 -14 -12 -11 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -8 -9 -9 -9 -10 -12 -15 -18 -20 -21 -20 -19 -17 -16 -16 -17 -18 -20 -21 -23 -26 -27 -28 -31 -34 -36 -38 -38 -38 -38 -40 -42 -44 -45 -46 -44 -43 -41 -41 -39 -37 -36 -37 -38 -39 -40 -41 -42 -42 -41 -39 -39 -39 -39 -40 -40 -40 -41 -41 -42 -44 -45 -47 -48 -48 -47 -45 -42 -41 -41 -46 -51 -51 -47 -41 -38 -36 -36 -37 -37 -37 -37 -38 -40 -42 -42 -40 -39 -38 -39 -38 -38 -38 -39 -40 -40 -39 -39 -41 -43 -42 -39 -36 -35 -35 -35 -35 -35 -35 -33 -32 -31 -31 -33 -36 -37 -37 -37 -37 -37 -37 -36 -35 -35 -38 -40 -40 -37 -32 -30 -32 -33 -33 -33 -33 -31 -31 -33 -36 -39 -42 -45 -47 -47 -44 -43 -44 -44 -46 -49 -50 -49 -47 -46 -48 -48 -49 -50 -50 -50 -50 -51 -52 -53 -55 -56 -58 -59 -60 -58 -57 -58 -62 -68 -72 -74 -74 -71 -67 -66 -66 -67 -68 -69 -71 -72 -74 -74 -73 -70 -65 -62 -62 -63 -63 -63 -63 -65 -71 -73 -74 -73 -71 -69 -65 -61 -56 -54 -53 -51 -49 -48 -47 -47 -49 -49 -47 -47 -47 -47 -46 -45 -45 -44 -42 -42 -42 -42 -41 -42 -43 -44 -44 -43 -42 -43 -44 -45 -45 -43 -42 -41 -40 -39 -39 -39 -40 -41 -41 -40 -38 -37 -35 -35 -36 -39 -41 -44 -45 -44 -43 -45 -52 -54 -54 -52 -48 -42 -38 -35 -33 -34 -35 -40 -45 -49 -51 -50 -49 -49 -49 -49 -48 -49 -51 -52 -51 -49 -49 -48 -48 -48 -47 -47 -46 -45 -45 -47 -48 -49 -49 -48 -47 -47 -47 -45 -45 -43 -42 -42 -43 -44 -44 -43 -43 -41 -40 -38 -37 -36 -36 -35 -34 -32 -29 -28 -28 -27 -27 -26 -24 -18 -13 -11 -9 -6 -3 -2 -2 -1 -1 -4 -13 -17 -34 -35 -36 -35 -35 -35 -36 -37 -39 -40 -40 -40 -39 -37 -35 -35 -36 -37 -38 -39 -39 -39 -38 -37 -35 -35 -36 -36 -37 -38 -37 -37 -37 -37 -36 -36 -37 -39 -39 -33 -27 -25 -26 -29 -28 -26 -24 -22 -20 -19 -18 -17 -16 -15 -15 -14 -13 -12 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -10 -10 -9 -10 -11 -15 -18 -20 -21 -21 -19 -18 -18 -18 -18 -19 -19 -20 -21 -23 -26 -28 -29 -31 -34 -37 -39 -40 -41 -41 -40 -41 -41 -42 -42 -41 -40 -39 -39 -39 -38 -37 -37 -37 -38 -38 -39 -41 -42 -42 -40 -38 -38 -39 -40 -41 -41 -41 -42 -42 -43 -44 -45 -47 -47 -46 -44 -42 -41 -40 -45 -50 -52 -49 -43 -38 -36 -36 -37 -38 -38 -38 -38 -39 -41 -43 -42 -41 -41 -41 -41 -39 -38 -37 -39 -40 -40 -40 -40 -41 -41 -39 -37 -35 -34 -34 -35 -35 -35 -34 -33 -32 -31 -33 -36 -37 -37 -37 -37 -37 -38 -38 -37 -36 -38 -39 -38 -36 -32 -31 -31 -31 -31 -33 -33 -33 -32 -33 -36 -38 -40 -42 -44 -45 -47 -48 -48 -48 -46 -45 -46 -46 -46 -46 -48 -49 -50 -50 -50 -50 -51 -52 -54 -55 -57 -58 -60 -62 -64 -65 -64 -63 -63 -66 -71 -74 -74 -72 -69 -68 -68 -69 -69 -70 -69 -70 -72 -75 -76 -73 -67 -64 -64 -65 -64 -65 -68 -72 -76 -77 -77 -77 -75 -74 -72 -68 -62 -58 -56 -55 -55 -55 -55 -53 -53 -53 -51 -50 -49 -48 -47 -47 -47 -46 -44 -43 -44 -45 -46 -46 -46 -46 -46 -44 -43 -43 -44 -45 -45 -44 -42 -42 -41 -41 -41 -41 -42 -41 -41 -41 -40 -39 -35 -34 -35 -39 -42 -44 -44 -46 -49 -51 -53 -54 -54 -52 -48 -41 -37 -35 -35 -35 -36 -39 -44 -48 -50 -49 -49 -48 -48 -47 -47 -49 -52 -53 -53 -51 -50 -49 -47 -47 -47 -46 -46 -45 -45 -46 -48 -49 -50 -50 -50 -49 -47 -46 -45 -43 -43 -43 -44 -45 -45 -45 -45 -44 -42 -40 -39 -39 -37 -36 -35 -33 -31 -29 -28 -28 -27 -27 -24 -18 -15 -12 -10 -7 -3 -2 -1 -1 -1 -2 -7 -12 -34 -36 -37 -37 -36 -37 -37 -38 -38 -39 -39 -39 -39 -37 -35 -35 -35 -36 -36 -37 -38 -39 -38 -37 -36 -37 -37 -37 -37 -37 -37 -37 -38 -39 -37 -35 -34 -35 -35 -30 -27 -26 -28 -29 -28 -26 -26 -24 -22 -20 -18 -17 -15 -15 -15 -14 -14 -14 -14 -14 -14 -12 -11 -10 -9 -9 -10 -11 -10 -10 -10 -11 -13 -17 -20 -22 -22 -20 -19 -18 -19 -20 -20 -20 -19 -20 -21 -23 -26 -29 -30 -31 -33 -35 -38 -41 -43 -44 -44 -43 -42 -41 -41 -39 -38 -37 -37 -38 -38 -38 -38 -38 -39 -38 -39 -40 -42 -42 -40 -38 -38 -38 -39 -41 -42 -43 -42 -41 -41 -43 -44 -46 -46 -45 -43 -41 -41 -41 -44 -49 -52 -51 -46 -40 -37 -36 -37 -39 -39 -39 -38 -39 -40 -42 -43 -43 -43 -43 -42 -41 -39 -37 -37 -39 -40 -40 -41 -41 -41 -40 -38 -36 -35 -35 -35 -35 -35 -35 -35 -34 -33 -33 -35 -36 -36 -36 -36 -37 -39 -40 -40 -38 -38 -37 -36 -33 -31 -32 -31 -31 -31 -33 -34 -34 -33 -34 -35 -37 -37 -39 -40 -43 -46 -50 -53 -53 -49 -46 -44 -43 -44 -46 -48 -50 -51 -52 -52 -52 -52 -54 -56 -58 -58 -58 -60 -63 -67 -69 -69 -68 -66 -65 -69 -71 -71 -70 -70 -70 -70 -70 -69 -67 -63 -64 -68 -72 -75 -72 -68 -66 -67 -66 -66 -68 -71 -74 -76 -77 -78 -78 -77 -76 -75 -71 -67 -62 -59 -58 -59 -60 -60 -58 -57 -57 -55 -54 -52 -51 -50 -49 -50 -49 -47 -47 -48 -49 -49 -49 -48 -48 -47 -45 -43 -42 -43 -43 -43 -43 -42 -42 -42 -42 -42 -42 -43 -41 -41 -41 -41 -39 -36 -34 -35 -38 -41 -42 -42 -48 -54 -55 -54 -53 -54 -52 -47 -41 -38 -38 -38 -37 -37 -39 -43 -46 -48 -47 -47 -48 -47 -45 -46 -47 -50 -53 -54 -53 -52 -49 -47 -47 -47 -47 -46 -45 -45 -46 -47 -48 -49 -50 -50 -49 -48 -46 -44 -43 -43 -43 -43 -44 -45 -45 -45 -44 -43 -42 -41 -40 -38 -35 -35 -34 -33 -30 -29 -29 -28 -27 -26 -22 -18 -15 -12 -11 -5 -2 -1 -1 -1 -1 -1 -5 -34 -36 -38 -39 -39 -38 -39 -39 -39 -39 -40 -39 -39 -38 -36 -36 -35 -35 -34 -35 -37 -38 -38 -38 -38 -39 -40 -39 -38 -37 -36 -37 -39 -39 -37 -35 -33 -32 -31 -29 -29 -30 -31 -31 -29 -28 -28 -27 -24 -21 -19 -18 -16 -14 -14 -14 -14 -15 -17 -17 -17 -15 -13 -11 -10 -11 -11 -11 -10 -10 -11 -13 -15 -18 -21 -22 -22 -20 -19 -20 -22 -23 -22 -20 -20 -21 -22 -24 -27 -29 -31 -32 -32 -33 -36 -39 -42 -45 -46 -46 -44 -43 -43 -42 -40 -38 -36 -35 -36 -37 -39 -40 -41 -41 -41 -40 -41 -42 -41 -39 -38 -38 -38 -40 -43 -43 -43 -41 -40 -42 -44 -45 -45 -43 -41 -40 -41 -42 -45 -48 -51 -52 -48 -43 -39 -37 -37 -38 -39 -39 -39 -39 -39 -40 -42 -43 -43 -43 -44 -44 -42 -39 -37 -37 -38 -39 -40 -40 -40 -41 -40 -38 -36 -36 -36 -36 -36 -37 -37 -37 -35 -33 -34 -35 -37 -37 -36 -37 -40 -42 -43 -41 -38 -36 -33 -31 -30 -32 -33 -32 -32 -33 -34 -34 -34 -35 -36 -36 -37 -39 -41 -44 -46 -50 -54 -56 -54 -49 -45 -43 -43 -45 -48 -51 -53 -54 -55 -55 -55 -56 -59 -61 -60 -59 -60 -63 -66 -68 -69 -68 -67 -66 -67 -68 -68 -67 -68 -70 -70 -70 -70 -68 -64 -63 -65 -68 -72 -70 -67 -67 -70 -68 -69 -71 -74 -75 -76 -77 -78 -79 -80 -79 -76 -72 -69 -65 -63 -62 -62 -63 -63 -61 -60 -59 -58 -57 -56 -55 -53 -52 -52 -52 -52 -52 -52 -52 -52 -51 -50 -48 -47 -45 -43 -42 -41 -41 -42 -42 -42 -42 -42 -42 -42 -42 -41 -41 -41 -41 -40 -38 -36 -36 -36 -37 -40 -42 -44 -49 -54 -55 -53 -54 -55 -53 -48 -42 -41 -41 -42 -41 -40 -40 -41 -42 -43 -45 -48 -49 -48 -45 -45 -46 -48 -51 -53 -52 -50 -49 -47 -47 -48 -48 -48 -47 -47 -46 -46 -47 -48 -49 -49 -49 -48 -45 -43 -42 -41 -41 -41 -41 -42 -43 -43 -43 -43 -43 -42 -41 -39 -36 -34 -32 -32 -31 -32 -31 -30 -28 -27 -26 -22 -19 -17 -17 -10 -5 -2 -2 -2 -2 -0 -0 -35 -37 -39 -40 -41 -40 -40 -40 -40 -41 -41 -40 -39 -38 -36 -36 -35 -34 -34 -35 -36 -37 -38 -38 -39 -40 -41 -40 -40 -38 -38 -39 -40 -41 -40 -37 -34 -32 -31 -30 -31 -33 -36 -36 -31 -29 -28 -27 -25 -23 -21 -19 -16 -15 -14 -14 -15 -16 -18 -18 -18 -16 -15 -13 -13 -13 -14 -13 -12 -12 -13 -15 -17 -19 -21 -21 -21 -20 -22 -24 -26 -26 -24 -21 -20 -20 -22 -24 -28 -30 -31 -32 -32 -32 -32 -34 -38 -43 -47 -48 -48 -47 -47 -46 -43 -40 -37 -35 -34 -35 -37 -39 -42 -44 -45 -44 -42 -41 -41 -40 -38 -37 -37 -39 -41 -43 -42 -41 -41 -42 -43 -44 -43 -42 -41 -40 -41 -43 -45 -48 -50 -51 -50 -46 -41 -38 -37 -37 -37 -38 -38 -38 -38 -38 -40 -41 -42 -43 -44 -45 -45 -43 -39 -37 -37 -37 -38 -38 -39 -40 -41 -40 -38 -37 -36 -37 -38 -38 -38 -37 -37 -37 -37 -37 -36 -36 -36 -37 -41 -44 -46 -44 -40 -36 -32 -29 -29 -31 -33 -33 -33 -33 -34 -34 -35 -36 -37 -37 -38 -40 -42 -45 -47 -49 -52 -55 -56 -53 -50 -46 -45 -46 -49 -52 -54 -56 -58 -58 -57 -58 -60 -65 -66 -64 -62 -61 -62 -63 -64 -66 -67 -66 -66 -67 -66 -65 -66 -69 -70 -70 -70 -70 -69 -69 -71 -73 -73 -71 -68 -67 -70 -70 -71 -73 -76 -76 -77 -77 -78 -80 -82 -80 -77 -73 -71 -68 -66 -64 -63 -63 -63 -63 -62 -60 -60 -60 -60 -59 -57 -55 -55 -55 -56 -55 -54 -53 -53 -52 -51 -48 -46 -45 -43 -42 -41 -41 -41 -41 -41 -41 -40 -41 -41 -41 -40 -40 -40 -40 -40 -38 -38 -37 -37 -38 -40 -44 -49 -52 -53 -52 -52 -54 -56 -55 -52 -47 -45 -45 -46 -46 -45 -45 -44 -44 -45 -49 -51 -51 -49 -45 -44 -45 -47 -49 -51 -49 -48 -47 -47 -49 -50 -51 -51 -51 -50 -49 -48 -48 -47 -48 -48 -49 -48 -46 -44 -42 -40 -38 -37 -36 -37 -40 -42 -43 -43 -44 -45 -45 -44 -41 -37 -32 -28 -26 -30 -32 -32 -31 -28 -27 -25 -23 -21 -20 -14 -8 -4 -2 -2 -2 -2 -1 -34 -37 -39 -40 -41 -41 -41 -40 -40 -40 -40 -39 -38 -37 -36 -35 -35 -35 -36 -37 -37 -37 -37 -37 -37 -38 -40 -40 -40 -39 -38 -39 -41 -42 -41 -40 -38 -35 -32 -32 -33 -35 -36 -36 -32 -30 -28 -27 -25 -24 -21 -19 -17 -15 -14 -14 -15 -17 -18 -19 -19 -18 -17 -17 -18 -18 -17 -16 -14 -15 -16 -18 -19 -20 -21 -20 -20 -21 -23 -27 -29 -30 -28 -24 -22 -21 -23 -25 -28 -32 -34 -34 -34 -32 -31 -32 -35 -41 -46 -49 -50 -49 -49 -48 -45 -41 -38 -35 -34 -34 -35 -37 -40 -44 -47 -47 -46 -43 -41 -40 -39 -38 -37 -38 -40 -41 -42 -42 -43 -43 -43 -42 -42 -41 -42 -42 -41 -42 -45 -48 -50 -50 -50 -48 -44 -40 -37 -36 -36 -36 -36 -36 -36 -37 -39 -40 -41 -41 -43 -46 -48 -48 -44 -40 -37 -36 -36 -37 -38 -39 -41 -41 -40 -39 -38 -38 -38 -38 -37 -37 -37 -38 -40 -39 -37 -36 -36 -40 -43 -45 -47 -47 -42 -36 -32 -29 -28 -30 -32 -33 -33 -33 -34 -34 -35 -36 -37 -37 -38 -40 -43 -45 -47 -49 -51 -53 -56 -56 -54 -52 -48 -47 -49 -51 -54 -57 -58 -59 -59 -59 -60 -64 -67 -67 -65 -61 -60 -60 -61 -62 -65 -66 -67 -67 -67 -65 -66 -69 -70 -71 -71 -71 -71 -72 -74 -75 -76 -75 -73 -71 -72 -73 -74 -75 -77 -78 -78 -78 -79 -80 -83 -81 -78 -75 -73 -71 -69 -66 -65 -65 -64 -65 -65 -65 -63 -62 -62 -62 -61 -59 -58 -57 -57 -56 -54 -54 -54 -53 -52 -50 -47 -45 -44 -43 -42 -41 -41 -41 -40 -39 -39 -39 -40 -40 -39 -39 -39 -39 -39 -40 -39 -39 -40 -41 -43 -45 -48 -51 -53 -52 -52 -53 -55 -56 -56 -53 -50 -49 -50 -51 -50 -49 -48 -48 -49 -51 -53 -52 -49 -45 -44 -45 -46 -47 -49 -48 -47 -46 -48 -51 -52 -52 -52 -53 -52 -52 -51 -50 -48 -48 -49 -49 -49 -48 -45 -42 -38 -35 -35 -35 -38 -41 -44 -45 -46 -48 -49 -49 -48 -45 -42 -37 -31 -26 -26 -28 -32 -33 -30 -27 -25 -25 -23 -22 -18 -14 -8 -4 -3 -3 -3 -3 -33 -35 -37 -39 -41 -41 -40 -39 -38 -38 -38 -37 -37 -35 -35 -35 -35 -35 -37 -38 -39 -38 -37 -36 -36 -37 -38 -39 -37 -35 -34 -36 -38 -41 -41 -40 -40 -40 -37 -33 -34 -35 -36 -34 -32 -30 -29 -28 -27 -25 -23 -21 -19 -17 -16 -16 -17 -19 -20 -22 -21 -20 -20 -20 -20 -19 -18 -17 -16 -17 -18 -20 -21 -23 -23 -22 -21 -21 -23 -26 -29 -30 -29 -26 -24 -24 -24 -26 -29 -32 -35 -37 -38 -37 -35 -34 -34 -38 -44 -47 -48 -49 -49 -48 -46 -43 -39 -36 -35 -34 -35 -37 -39 -43 -46 -47 -46 -43 -42 -41 -40 -39 -38 -38 -38 -39 -41 -42 -43 -42 -41 -41 -40 -41 -43 -44 -43 -42 -43 -45 -46 -47 -48 -48 -46 -42 -38 -37 -35 -34 -34 -34 -36 -37 -38 -40 -40 -41 -42 -46 -49 -51 -49 -44 -39 -36 -35 -35 -36 -38 -40 -41 -42 -41 -40 -39 -39 -39 -37 -36 -36 -38 -41 -42 -40 -38 -39 -42 -45 -47 -47 -46 -42 -37 -32 -29 -28 -29 -30 -31 -33 -35 -35 -36 -35 -35 -36 -37 -39 -41 -43 -45 -46 -47 -49 -51 -54 -57 -58 -56 -53 -51 -51 -52 -54 -56 -58 -58 -58 -59 -60 -62 -66 -67 -66 -62 -60 -59 -59 -61 -63 -65 -66 -67 -67 -66 -67 -70 -72 -73 -73 -73 -73 -73 -74 -75 -77 -79 -79 -76 -74 -74 -76 -77 -79 -80 -80 -79 -79 -80 -82 -81 -79 -76 -74 -73 -70 -68 -67 -67 -66 -66 -67 -68 -66 -65 -65 -65 -65 -63 -59 -56 -56 -56 -55 -54 -54 -53 -53 -52 -49 -47 -45 -43 -42 -42 -42 -42 -40 -38 -37 -37 -38 -38 -39 -38 -38 -38 -40 -41 -42 -42 -43 -44 -47 -47 -48 -50 -51 -53 -54 -55 -55 -56 -57 -56 -54 -53 -53 -54 -53 -52 -52 -51 -50 -51 -52 -51 -49 -46 -45 -45 -45 -46 -48 -48 -48 -48 -50 -51 -51 -51 -52 -52 -52 -52 -51 -50 -49 -49 -50 -51 -50 -49 -46 -42 -38 -36 -37 -38 -39 -41 -43 -44 -46 -48 -50 -50 -49 -46 -44 -42 -38 -31 -27 -27 -29 -33 -31 -26 -23 -23 -22 -21 -20 -18 -14 -8 -6 -5 -5 -5 -32 -33 -35 -37 -39 -39 -39 -38 -37 -36 -36 -36 -35 -34 -34 -33 -34 -35 -38 -40 -41 -40 -38 -37 -39 -41 -41 -40 -38 -35 -34 -35 -37 -40 -41 -41 -41 -41 -38 -36 -35 -35 -35 -34 -33 -33 -32 -31 -30 -29 -28 -26 -24 -22 -20 -20 -21 -23 -24 -25 -24 -23 -22 -22 -21 -20 -18 -18 -18 -19 -21 -22 -23 -24 -24 -22 -21 -21 -22 -25 -27 -28 -28 -27 -26 -26 -27 -28 -29 -32 -35 -38 -40 -41 -40 -38 -36 -36 -41 -44 -47 -48 -49 -49 -47 -44 -40 -38 -37 -36 -36 -37 -39 -42 -44 -45 -45 -43 -42 -42 -42 -42 -41 -40 -39 -38 -39 -41 -42 -42 -41 -40 -40 -42 -43 -44 -43 -42 -42 -44 -46 -47 -47 -48 -46 -42 -37 -36 -35 -33 -33 -33 -35 -36 -38 -39 -40 -41 -42 -45 -49 -53 -53 -48 -43 -39 -36 -35 -35 -37 -39 -41 -42 -42 -41 -40 -41 -40 -39 -38 -37 -38 -40 -41 -41 -41 -42 -43 -45 -47 -48 -46 -42 -37 -33 -30 -29 -28 -29 -30 -33 -35 -37 -38 -37 -36 -37 -39 -40 -41 -43 -46 -46 -46 -47 -49 -52 -55 -57 -58 -57 -55 -55 -55 -56 -57 -58 -59 -59 -59 -59 -60 -62 -65 -66 -66 -63 -61 -60 -60 -62 -64 -65 -67 -68 -67 -68 -71 -74 -75 -76 -75 -75 -75 -75 -75 -77 -81 -82 -80 -77 -76 -77 -78 -80 -82 -82 -81 -80 -80 -80 -79 -78 -76 -76 -75 -72 -70 -69 -69 -68 -68 -69 -69 -66 -64 -65 -65 -62 -59 -56 -54 -54 -55 -55 -55 -54 -52 -52 -52 -51 -48 -46 -44 -43 -43 -43 -43 -41 -38 -36 -35 -35 -36 -37 -37 -37 -38 -40 -42 -44 -45 -45 -46 -49 -49 -49 -51 -51 -54 -56 -56 -55 -54 -55 -56 -57 -57 -57 -56 -54 -54 -54 -54 -51 -50 -50 -51 -51 -50 -48 -46 -46 -46 -48 -49 -49 -50 -52 -51 -51 -51 -52 -52 -53 -52 -51 -50 -49 -50 -50 -51 -51 -51 -48 -43 -39 -39 -40 -40 -40 -40 -41 -43 -45 -47 -49 -49 -47 -45 -43 -42 -41 -37 -32 -29 -29 -31 -30 -26 -21 -18 -17 -16 -18 -20 -20 -15 -10 -8 -8 -7 -31 -32 -34 -35 -35 -36 -36 -36 -36 -35 -35 -35 -34 -33 -33 -32 -33 -35 -37 -39 -40 -40 -40 -40 -43 -47 -48 -46 -43 -40 -38 -38 -40 -41 -42 -43 -43 -42 -40 -38 -38 -37 -37 -35 -34 -34 -34 -34 -34 -34 -34 -32 -30 -27 -25 -24 -25 -25 -26 -26 -26 -25 -25 -24 -22 -21 -19 -19 -19 -21 -23 -24 -25 -25 -24 -23 -22 -22 -23 -24 -25 -26 -26 -27 -27 -28 -29 -29 -30 -31 -34 -36 -39 -42 -43 -41 -38 -36 -39 -42 -45 -47 -48 -49 -48 -45 -42 -40 -40 -38 -37 -38 -40 -41 -43 -43 -44 -43 -42 -41 -42 -43 -44 -43 -41 -39 -38 -39 -41 -41 -40 -41 -43 -43 -43 -42 -42 -42 -42 -44 -45 -46 -47 -47 -45 -41 -37 -35 -35 -34 -33 -33 -34 -36 -37 -39 -41 -43 -44 -46 -48 -51 -54 -52 -47 -43 -39 -37 -36 -36 -37 -40 -41 -42 -41 -41 -41 -40 -40 -39 -39 -39 -40 -40 -41 -42 -44 -44 -45 -46 -47 -46 -43 -39 -34 -31 -29 -29 -29 -30 -32 -35 -38 -39 -38 -36 -37 -39 -40 -41 -41 -43 -45 -46 -48 -48 -50 -52 -54 -57 -58 -58 -58 -58 -59 -60 -60 -61 -61 -60 -60 -60 -61 -63 -65 -67 -66 -64 -61 -61 -63 -64 -66 -68 -70 -69 -68 -71 -74 -77 -77 -76 -76 -77 -77 -76 -77 -81 -84 -84 -81 -79 -79 -79 -81 -83 -84 -82 -81 -81 -82 -81 -80 -78 -77 -76 -74 -71 -70 -71 -71 -71 -70 -68 -64 -62 -64 -65 -62 -58 -55 -53 -53 -55 -56 -55 -54 -52 -51 -52 -52 -50 -47 -45 -44 -43 -43 -43 -42 -40 -36 -34 -33 -34 -35 -36 -38 -39 -40 -42 -44 -46 -47 -48 -51 -51 -51 -54 -54 -55 -56 -55 -54 -54 -54 -54 -55 -57 -57 -56 -55 -55 -56 -54 -52 -51 -51 -52 -53 -53 -51 -48 -47 -48 -49 -48 -49 -51 -53 -53 -52 -52 -52 -52 -53 -53 -52 -51 -48 -45 -45 -48 -52 -52 -50 -46 -40 -40 -41 -40 -39 -39 -40 -42 -44 -47 -48 -48 -46 -43 -41 -40 -40 -39 -36 -33 -31 -29 -27 -24 -21 -19 -18 -18 -18 -19 -22 -20 -16 -14 -13 -10 -32 -32 -33 -33 -33 -34 -34 -35 -35 -34 -34 -34 -33 -33 -32 -32 -32 -33 -34 -36 -38 -40 -41 -42 -44 -48 -51 -51 -49 -46 -44 -44 -44 -43 -43 -45 -45 -45 -43 -41 -40 -40 -39 -37 -36 -36 -36 -36 -37 -38 -38 -37 -34 -31 -28 -27 -27 -26 -26 -27 -27 -27 -27 -26 -24 -22 -21 -21 -21 -22 -24 -25 -26 -26 -26 -25 -24 -24 -24 -24 -24 -24 -24 -26 -28 -29 -29 -29 -30 -31 -32 -34 -36 -40 -42 -41 -39 -37 -39 -41 -44 -45 -47 -48 -48 -46 -44 -43 -42 -41 -39 -39 -40 -41 -42 -43 -44 -44 -42 -41 -41 -42 -44 -44 -43 -41 -38 -38 -38 -39 -39 -41 -43 -45 -43 -41 -40 -40 -41 -43 -45 -46 -47 -47 -45 -41 -37 -35 -35 -34 -33 -33 -34 -36 -38 -40 -42 -44 -46 -47 -47 -49 -52 -51 -49 -45 -42 -39 -37 -36 -37 -39 -40 -39 -40 -40 -40 -38 -38 -40 -41 -41 -40 -39 -41 -43 -46 -45 -45 -45 -44 -44 -43 -41 -37 -33 -30 -29 -29 -31 -33 -36 -38 -40 -39 -37 -38 -40 -41 -41 -41 -43 -46 -49 -51 -52 -52 -53 -53 -55 -57 -59 -60 -60 -61 -61 -62 -63 -63 -62 -61 -61 -61 -62 -64 -67 -68 -67 -65 -63 -64 -66 -68 -69 -71 -70 -70 -73 -76 -78 -78 -76 -76 -78 -81 -80 -79 -81 -85 -87 -85 -83 -82 -82 -84 -85 -85 -84 -82 -82 -83 -83 -82 -80 -78 -76 -73 -70 -70 -72 -73 -73 -72 -69 -64 -61 -63 -65 -64 -62 -60 -57 -56 -56 -56 -56 -55 -54 -52 -52 -52 -51 -49 -45 -44 -43 -43 -44 -43 -41 -37 -34 -33 -34 -35 -37 -37 -37 -38 -41 -44 -46 -48 -50 -53 -54 -55 -57 -57 -57 -56 -56 -54 -54 -54 -52 -51 -51 -53 -54 -56 -56 -56 -54 -52 -52 -53 -53 -54 -54 -52 -49 -49 -51 -52 -52 -51 -53 -56 -56 -55 -53 -53 -53 -53 -53 -53 -51 -47 -40 -35 -38 -45 -49 -50 -47 -39 -38 -38 -38 -38 -38 -39 -41 -43 -46 -47 -47 -45 -42 -40 -38 -38 -38 -37 -34 -31 -28 -25 -23 -21 -20 -21 -23 -25 -24 -23 -22 -21 -19 -18 -16 -33 -33 -33 -33 -33 -33 -34 -34 -34 -34 -34 -34 -33 -32 -32 -32 -33 -33 -34 -35 -37 -40 -42 -43 -44 -48 -51 -53 -53 -50 -47 -47 -47 -46 -45 -47 -48 -48 -47 -45 -43 -41 -40 -39 -37 -36 -36 -37 -37 -39 -40 -39 -38 -36 -33 -31 -29 -28 -27 -27 -28 -28 -27 -26 -24 -23 -23 -23 -23 -24 -24 -25 -26 -28 -28 -28 -27 -26 -26 -26 -25 -24 -24 -26 -28 -30 -30 -29 -28 -29 -31 -33 -35 -38 -41 -41 -39 -37 -39 -42 -43 -44 -46 -46 -47 -47 -46 -45 -45 -44 -43 -41 -40 -40 -41 -42 -44 -44 -43 -41 -40 -39 -41 -43 -43 -42 -39 -37 -37 -38 -39 -40 -42 -45 -44 -42 -39 -38 -38 -40 -43 -45 -46 -46 -45 -43 -39 -37 -36 -35 -34 -33 -34 -35 -38 -41 -43 -44 -46 -47 -48 -48 -49 -49 -48 -46 -43 -40 -38 -37 -36 -37 -39 -39 -39 -38 -36 -35 -37 -39 -41 -41 -40 -40 -41 -43 -46 -47 -46 -44 -42 -41 -43 -43 -41 -35 -31 -30 -30 -31 -33 -36 -39 -40 -39 -37 -37 -38 -39 -40 -42 -44 -47 -49 -51 -52 -51 -52 -53 -54 -54 -56 -58 -59 -60 -61 -62 -63 -63 -63 -62 -62 -62 -63 -64 -67 -69 -69 -68 -66 -65 -66 -68 -70 -71 -70 -71 -75 -78 -81 -80 -78 -77 -80 -85 -84 -81 -81 -84 -87 -87 -87 -86 -86 -87 -88 -87 -86 -84 -83 -84 -84 -83 -80 -77 -73 -71 -70 -71 -73 -73 -74 -73 -71 -66 -62 -63 -65 -66 -66 -66 -63 -59 -56 -56 -57 -57 -56 -54 -53 -53 -52 -50 -46 -44 -43 -43 -44 -44 -43 -39 -35 -32 -33 -35 -36 -36 -35 -37 -40 -44 -46 -48 -50 -55 -58 -59 -59 -59 -59 -58 -57 -55 -55 -55 -53 -50 -49 -51 -52 -54 -55 -55 -53 -52 -53 -54 -54 -55 -55 -53 -51 -51 -53 -55 -55 -55 -55 -56 -57 -57 -56 -55 -54 -54 -54 -53 -52 -47 -38 -29 -30 -34 -37 -41 -44 -39 -35 -35 -36 -36 -36 -38 -40 -42 -45 -46 -45 -44 -41 -38 -37 -36 -36 -34 -32 -28 -26 -25 -24 -23 -23 -25 -27 -28 -26 -25 -24 -23 -21 -20 -20 -35 -34 -33 -33 -33 -33 -34 -34 -34 -34 -34 -33 -32 -32 -32 -33 -34 -35 -36 -36 -38 -40 -43 -44 -46 -48 -51 -52 -52 -51 -48 -47 -47 -48 -47 -48 -49 -50 -49 -47 -44 -42 -41 -39 -38 -37 -37 -38 -38 -40 -41 -41 -41 -41 -39 -37 -34 -32 -31 -30 -29 -29 -28 -27 -25 -25 -25 -25 -26 -25 -25 -26 -27 -28 -28 -28 -27 -27 -27 -27 -26 -25 -24 -25 -28 -30 -30 -28 -26 -27 -30 -33 -35 -37 -40 -41 -39 -37 -37 -39 -42 -43 -44 -46 -46 -47 -48 -48 -47 -47 -46 -44 -41 -41 -41 -42 -44 -45 -45 -44 -42 -40 -40 -40 -41 -40 -38 -37 -38 -38 -39 -39 -40 -42 -44 -44 -42 -38 -36 -36 -39 -43 -45 -46 -45 -44 -41 -39 -38 -37 -35 -34 -34 -35 -37 -40 -43 -44 -45 -47 -49 -49 -49 -48 -46 -44 -41 -39 -38 -37 -37 -37 -38 -39 -39 -38 -35 -34 -35 -38 -41 -42 -41 -40 -40 -42 -46 -48 -47 -44 -41 -39 -41 -42 -41 -37 -32 -30 -30 -30 -33 -36 -39 -40 -39 -38 -37 -37 -38 -40 -43 -45 -47 -49 -50 -51 -51 -52 -53 -54 -54 -54 -55 -56 -58 -59 -61 -62 -63 -63 -62 -62 -62 -63 -65 -68 -69 -70 -70 -67 -65 -65 -68 -70 -72 -72 -74 -77 -81 -83 -83 -81 -80 -82 -86 -85 -81 -79 -81 -84 -85 -87 -89 -90 -90 -90 -89 -88 -85 -84 -84 -83 -82 -79 -76 -74 -72 -71 -71 -72 -73 -74 -73 -72 -70 -65 -64 -65 -66 -69 -68 -65 -60 -56 -55 -57 -58 -58 -56 -54 -53 -52 -49 -46 -44 -43 -43 -44 -44 -43 -40 -36 -31 -32 -34 -35 -35 -35 -37 -40 -45 -49 -50 -51 -56 -60 -61 -61 -61 -61 -61 -59 -56 -55 -55 -53 -51 -49 -50 -51 -52 -52 -53 -53 -52 -52 -53 -54 -56 -56 -56 -54 -54 -55 -56 -56 -57 -57 -57 -57 -58 -58 -57 -56 -56 -55 -53 -51 -48 -39 -28 -27 -28 -29 -32 -38 -42 -38 -35 -34 -34 -35 -36 -38 -41 -43 -43 -43 -42 -40 -37 -35 -33 -33 -31 -29 -26 -25 -27 -29 -29 -29 -30 -30 -29 -27 -26 -25 -24 -22 -21 -20 -37 -36 -34 -34 -34 -34 -34 -34 -33 -34 -34 -33 -32 -31 -32 -33 -35 -36 -37 -38 -39 -40 -42 -44 -46 -48 -50 -50 -51 -49 -47 -45 -45 -46 -47 -48 -49 -50 -49 -47 -45 -43 -42 -41 -39 -39 -39 -40 -40 -41 -42 -43 -45 -47 -48 -46 -43 -39 -37 -34 -32 -29 -27 -25 -24 -24 -26 -27 -29 -28 -28 -27 -27 -27 -27 -26 -26 -26 -27 -27 -26 -25 -23 -22 -25 -29 -30 -29 -26 -27 -29 -32 -34 -37 -40 -42 -42 -40 -38 -38 -39 -40 -41 -45 -46 -47 -49 -50 -48 -48 -48 -48 -45 -43 -42 -42 -43 -45 -46 -45 -43 -42 -41 -41 -40 -39 -38 -37 -38 -39 -39 -39 -38 -39 -42 -45 -45 -39 -35 -34 -37 -40 -44 -46 -45 -43 -41 -40 -39 -38 -36 -35 -34 -34 -36 -38 -41 -43 -44 -45 -48 -50 -50 -49 -46 -42 -38 -36 -36 -37 -37 -37 -38 -38 -38 -36 -34 -33 -34 -37 -40 -41 -41 -41 -40 -42 -46 -48 -48 -45 -41 -39 -40 -41 -40 -38 -34 -31 -30 -30 -32 -35 -38 -39 -39 -39 -38 -38 -39 -40 -43 -44 -46 -48 -49 -50 -51 -52 -54 -55 -55 -54 -53 -53 -54 -57 -58 -60 -62 -63 -63 -62 -63 -64 -66 -68 -70 -71 -70 -67 -64 -65 -67 -70 -72 -74 -77 -80 -83 -85 -86 -84 -82 -82 -85 -84 -80 -77 -78 -81 -84 -87 -91 -93 -92 -93 -92 -90 -87 -85 -84 -83 -81 -78 -76 -74 -73 -72 -71 -71 -72 -74 -75 -75 -72 -67 -64 -64 -66 -69 -66 -61 -57 -54 -53 -56 -58 -60 -58 -56 -54 -52 -48 -46 -44 -44 -43 -44 -44 -43 -40 -36 -31 -31 -33 -34 -35 -35 -37 -40 -45 -50 -51 -54 -58 -61 -60 -60 -61 -62 -61 -59 -56 -54 -53 -52 -50 -50 -50 -49 -49 -49 -50 -51 -51 -51 -52 -53 -55 -57 -58 -58 -55 -55 -56 -57 -58 -58 -59 -59 -59 -59 -58 -58 -57 -56 -53 -52 -48 -40 -28 -26 -26 -26 -27 -32 -42 -42 -39 -36 -34 -33 -34 -37 -39 -41 -41 -40 -40 -39 -36 -33 -31 -30 -31 -30 -29 -30 -32 -35 -35 -34 -33 -32 -31 -29 -28 -27 -26 -24 -22 -21 -38 -37 -36 -35 -34 -34 -34 -34 -34 -34 -34 -32 -31 -30 -31 -33 -35 -36 -37 -38 -39 -39 -39 -40 -43 -45 -47 -49 -50 -48 -44 -42 -41 -43 -44 -45 -46 -47 -47 -45 -43 -42 -43 -43 -41 -41 -41 -42 -42 -42 -44 -46 -49 -53 -55 -54 -51 -47 -44 -41 -36 -31 -27 -25 -24 -24 -25 -27 -29 -31 -31 -30 -29 -27 -26 -25 -24 -25 -25 -25 -25 -24 -22 -21 -23 -26 -29 -29 -28 -28 -28 -30 -33 -35 -39 -41 -43 -43 -42 -40 -39 -38 -40 -42 -43 -45 -47 -49 -49 -48 -49 -49 -48 -45 -43 -42 -42 -44 -45 -45 -44 -43 -43 -44 -44 -43 -40 -38 -37 -39 -40 -40 -38 -37 -38 -40 -42 -40 -36 -34 -36 -40 -45 -47 -46 -43 -41 -40 -39 -37 -36 -35 -35 -35 -35 -37 -39 -41 -42 -44 -45 -48 -51 -52 -49 -44 -38 -35 -35 -35 -36 -37 -38 -38 -36 -34 -32 -32 -34 -36 -38 -40 -41 -41 -41 -42 -45 -47 -47 -45 -41 -39 -41 -42 -42 -39 -35 -32 -30 -29 -31 -33 -36 -39 -42 -42 -41 -40 -40 -41 -42 -43 -44 -46 -47 -49 -50 -53 -55 -56 -56 -55 -53 -51 -51 -54 -55 -57 -59 -61 -63 -63 -64 -65 -68 -70 -71 -71 -70 -66 -62 -63 -67 -70 -72 -74 -78 -81 -83 -86 -87 -85 -84 -84 -85 -83 -79 -77 -78 -81 -82 -85 -88 -91 -92 -93 -93 -91 -88 -85 -83 -81 -78 -76 -74 -73 -72 -71 -69 -69 -71 -73 -75 -76 -72 -69 -66 -66 -67 -71 -67 -60 -54 -53 -52 -54 -57 -60 -59 -57 -55 -52 -48 -46 -45 -44 -44 -44 -44 -42 -40 -36 -32 -31 -32 -34 -35 -36 -38 -41 -44 -48 -51 -56 -59 -60 -59 -60 -60 -60 -59 -58 -55 -52 -50 -49 -49 -50 -50 -49 -48 -47 -49 -50 -51 -52 -52 -53 -54 -56 -60 -59 -56 -55 -56 -57 -58 -59 -60 -60 -60 -59 -59 -58 -58 -56 -53 -52 -49 -42 -29 -25 -24 -24 -25 -28 -39 -42 -42 -40 -36 -32 -32 -34 -37 -39 -39 -38 -37 -36 -34 -31 -30 -32 -37 -38 -39 -39 -39 -38 -36 -35 -35 -34 -32 -30 -29 -29 -28 -27 -26 -25 -40 -39 -38 -36 -35 -35 -34 -34 -35 -35 -34 -32 -31 -30 -32 -34 -35 -36 -36 -37 -37 -36 -36 -36 -39 -41 -43 -46 -48 -46 -42 -40 -39 -40 -41 -42 -43 -43 -43 -41 -40 -40 -41 -42 -41 -42 -42 -43 -43 -44 -45 -46 -48 -51 -54 -55 -54 -52 -49 -46 -41 -35 -31 -27 -25 -24 -25 -26 -29 -31 -33 -32 -30 -28 -25 -24 -23 -23 -23 -24 -23 -22 -21 -22 -23 -25 -27 -29 -30 -28 -28 -30 -33 -35 -38 -41 -44 -45 -45 -44 -41 -39 -39 -40 -41 -43 -45 -48 -49 -48 -48 -49 -49 -46 -44 -43 -43 -43 -43 -44 -43 -43 -43 -45 -46 -46 -44 -40 -37 -37 -39 -40 -40 -38 -36 -36 -38 -40 -38 -36 -35 -38 -44 -48 -48 -45 -41 -39 -37 -36 -36 -36 -37 -37 -37 -38 -39 -40 -41 -42 -43 -46 -50 -53 -53 -48 -41 -36 -34 -35 -36 -36 -37 -36 -35 -33 -30 -30 -32 -34 -36 -38 -39 -41 -42 -44 -45 -47 -46 -45 -41 -40 -41 -44 -44 -39 -34 -31 -29 -29 -31 -34 -38 -41 -44 -45 -44 -42 -40 -40 -41 -41 -42 -44 -45 -47 -50 -52 -55 -57 -57 -56 -54 -52 -51 -51 -52 -54 -56 -59 -62 -64 -65 -66 -68 -70 -71 -71 -69 -65 -62 -63 -66 -70 -72 -74 -77 -81 -84 -86 -86 -86 -85 -85 -84 -82 -78 -76 -75 -78 -81 -85 -89 -91 -90 -89 -89 -90 -89 -84 -81 -78 -75 -74 -73 -72 -71 -70 -68 -69 -70 -73 -75 -76 -73 -70 -69 -67 -68 -73 -71 -64 -55 -53 -53 -54 -57 -60 -60 -58 -55 -52 -50 -47 -46 -45 -45 -45 -45 -43 -40 -37 -34 -32 -32 -33 -35 -37 -39 -42 -45 -47 -51 -56 -59 -60 -60 -59 -59 -59 -58 -57 -54 -50 -48 -47 -47 -49 -50 -50 -48 -45 -48 -51 -53 -53 -53 -52 -54 -57 -61 -60 -58 -57 -56 -57 -58 -59 -60 -61 -60 -58 -58 -58 -58 -56 -55 -53 -50 -45 -34 -26 -23 -23 -24 -28 -36 -40 -41 -41 -39 -33 -29 -30 -34 -37 -36 -35 -34 -33 -32 -31 -32 -35 -42 -43 -43 -43 -42 -39 -37 -36 -35 -34 -33 -31 -31 -30 -30 -29 -28 -27 -41 -41 -39 -37 -36 -36 -35 -35 -35 -36 -35 -33 -31 -31 -32 -34 -35 -35 -35 -36 -35 -34 -34 -35 -36 -38 -40 -44 -47 -47 -45 -42 -41 -40 -41 -40 -40 -41 -41 -39 -39 -39 -39 -40 -41 -43 -44 -45 -45 -45 -46 -46 -47 -49 -51 -53 -53 -52 -50 -48 -44 -39 -35 -31 -28 -27 -26 -27 -29 -32 -34 -33 -31 -28 -25 -23 -21 -21 -21 -22 -22 -22 -21 -22 -22 -23 -25 -27 -28 -27 -28 -30 -33 -34 -38 -41 -43 -46 -47 -47 -46 -43 -41 -40 -40 -42 -43 -46 -47 -47 -47 -47 -48 -47 -45 -44 -43 -43 -44 -44 -44 -44 -44 -44 -45 -45 -44 -41 -38 -36 -36 -38 -40 -39 -37 -35 -36 -39 -39 -38 -36 -38 -43 -48 -49 -48 -44 -40 -37 -36 -36 -37 -39 -39 -39 -38 -38 -39 -39 -40 -41 -43 -47 -51 -54 -53 -46 -39 -35 -34 -35 -36 -36 -35 -34 -32 -30 -29 -30 -32 -35 -37 -38 -40 -43 -45 -46 -46 -45 -43 -40 -39 -42 -44 -44 -40 -34 -31 -29 -28 -31 -36 -40 -43 -45 -45 -44 -42 -41 -41 -41 -42 -42 -43 -44 -46 -48 -51 -54 -56 -57 -57 -56 -55 -53 -51 -51 -52 -53 -56 -60 -63 -64 -66 -68 -70 -71 -71 -69 -66 -63 -63 -65 -69 -72 -74 -77 -81 -84 -85 -86 -85 -85 -84 -83 -80 -77 -75 -74 -77 -81 -85 -90 -94 -91 -86 -83 -83 -84 -82 -78 -75 -72 -73 -72 -71 -70 -69 -69 -69 -70 -71 -73 -74 -74 -73 -71 -67 -68 -72 -71 -65 -58 -56 -55 -55 -56 -58 -61 -60 -56 -52 -51 -48 -47 -46 -46 -47 -46 -45 -42 -38 -34 -33 -33 -33 -35 -38 -40 -43 -45 -48 -52 -56 -60 -61 -60 -58 -57 -57 -57 -56 -53 -50 -47 -46 -46 -48 -50 -50 -48 -45 -47 -51 -54 -55 -53 -53 -55 -58 -61 -60 -58 -56 -56 -56 -57 -59 -61 -61 -58 -57 -57 -58 -58 -58 -57 -54 -52 -49 -44 -32 -25 -24 -26 -30 -35 -38 -39 -39 -39 -34 -30 -28 -30 -33 -33 -32 -31 -29 -31 -34 -37 -39 -43 -44 -43 -43 -43 -40 -38 -37 -35 -34 -33 -32 -32 -32 -31 -30 -29 -28 -43 -42 -40 -39 -37 -37 -36 -36 -36 -37 -37 -35 -32 -31 -32 -34 -35 -35 -35 -34 -33 -33 -33 -34 -34 -35 -38 -41 -43 -44 -43 -42 -42 -42 -43 -41 -40 -40 -41 -40 -39 -38 -38 -39 -42 -44 -46 -46 -45 -45 -46 -47 -47 -48 -50 -52 -52 -51 -50 -48 -45 -42 -38 -34 -31 -30 -30 -31 -31 -33 -34 -33 -30 -27 -25 -23 -22 -21 -20 -21 -22 -22 -22 -22 -22 -22 -23 -25 -25 -26 -28 -30 -32 -35 -38 -40 -42 -45 -47 -49 -49 -47 -44 -41 -40 -41 -43 -44 -46 -46 -46 -45 -45 -45 -45 -44 -44 -44 -45 -45 -45 -44 -44 -44 -44 -44 -43 -41 -39 -37 -36 -36 -38 -39 -38 -37 -36 -38 -38 -38 -37 -38 -42 -45 -48 -50 -48 -43 -39 -38 -37 -38 -39 -40 -39 -38 -38 -38 -38 -39 -39 -41 -44 -48 -53 -56 -53 -45 -38 -34 -35 -36 -36 -35 -34 -32 -30 -29 -30 -31 -33 -36 -38 -41 -43 -45 -46 -46 -44 -42 -39 -39 -41 -43 -43 -39 -34 -30 -29 -29 -33 -37 -40 -43 -44 -43 -42 -42 -42 -42 -43 -43 -43 -43 -44 -45 -48 -51 -54 -56 -56 -57 -58 -58 -57 -54 -52 -51 -51 -53 -57 -60 -62 -65 -68 -70 -71 -72 -71 -69 -66 -65 -65 -67 -71 -75 -78 -80 -81 -83 -83 -83 -83 -83 -82 -80 -78 -77 -76 -77 -81 -86 -91 -95 -92 -85 -79 -76 -77 -76 -75 -73 -72 -72 -72 -72 -71 -71 -71 -70 -69 -70 -71 -74 -74 -75 -73 -68 -67 -71 -72 -67 -61 -59 -57 -57 -57 -59 -60 -59 -56 -51 -51 -49 -48 -47 -47 -48 -48 -47 -44 -41 -36 -35 -34 -34 -35 -38 -41 -43 -46 -50 -55 -59 -62 -62 -60 -57 -56 -56 -56 -55 -53 -51 -48 -46 -45 -47 -49 -50 -50 -46 -48 -51 -54 -54 -53 -53 -55 -58 -60 -58 -57 -56 -57 -57 -58 -60 -61 -60 -57 -56 -56 -58 -58 -59 -58 -56 -53 -51 -48 -39 -32 -28 -30 -36 -38 -38 -39 -38 -39 -37 -34 -29 -27 -30 -31 -30 -29 -28 -33 -40 -44 -45 -44 -44 -44 -44 -43 -42 -40 -38 -36 -35 -35 -35 -34 -34 -32 -31 -31 -30 -44 -43 -41 -40 -38 -38 -37 -38 -38 -39 -39 -37 -34 -32 -33 -34 -35 -36 -36 -34 -32 -31 -31 -31 -32 -32 -34 -36 -38 -38 -38 -39 -41 -43 -44 -42 -40 -40 -41 -40 -39 -37 -37 -39 -41 -44 -46 -46 -45 -44 -45 -46 -47 -48 -50 -51 -51 -51 -49 -48 -46 -43 -40 -37 -34 -33 -34 -34 -34 -34 -33 -31 -28 -25 -24 -23 -22 -21 -20 -20 -21 -22 -23 -23 -23 -23 -23 -24 -24 -25 -26 -28 -31 -36 -38 -39 -40 -43 -46 -48 -49 -48 -46 -43 -41 -41 -42 -44 -45 -46 -45 -44 -43 -43 -43 -43 -43 -44 -46 -47 -46 -44 -43 -43 -43 -42 -41 -40 -41 -40 -38 -36 -36 -37 -38 -38 -37 -38 -38 -37 -37 -38 -40 -43 -48 -50 -49 -45 -42 -40 -40 -40 -40 -40 -40 -39 -38 -37 -38 -38 -39 -40 -42 -45 -51 -56 -58 -51 -43 -37 -35 -36 -36 -35 -34 -33 -31 -31 -30 -30 -31 -35 -39 -43 -45 -47 -47 -46 -44 -42 -39 -39 -41 -42 -42 -38 -33 -31 -30 -30 -34 -37 -40 -42 -42 -41 -41 -42 -43 -43 -44 -44 -44 -44 -45 -45 -48 -51 -55 -57 -57 -57 -58 -60 -61 -59 -56 -53 -51 -51 -54 -57 -60 -63 -67 -70 -72 -73 -74 -72 -68 -66 -65 -67 -70 -74 -77 -80 -81 -83 -84 -84 -84 -84 -83 -81 -80 -80 -79 -78 -81 -85 -91 -94 -92 -85 -79 -76 -75 -74 -74 -73 -72 -73 -74 -73 -73 -73 -73 -72 -71 -71 -72 -74 -76 -76 -75 -70 -68 -71 -73 -70 -65 -62 -60 -59 -59 -60 -60 -59 -55 -50 -50 -49 -49 -49 -48 -49 -48 -47 -46 -43 -39 -36 -35 -35 -36 -39 -42 -45 -47 -51 -58 -62 -63 -62 -59 -57 -57 -57 -56 -54 -52 -51 -49 -46 -45 -46 -48 -49 -50 -47 -47 -49 -50 -51 -53 -54 -56 -58 -58 -57 -57 -57 -58 -59 -59 -60 -60 -61 -59 -57 -58 -59 -59 -59 -59 -58 -56 -54 -49 -42 -37 -36 -36 -39 -40 -42 -43 -41 -41 -42 -40 -35 -31 -31 -31 -32 -32 -32 -37 -42 -45 -46 -45 -45 -45 -45 -44 -43 -41 -39 -38 -37 -37 -37 -37 -36 -33 -33 -32 -32 -45 -44 -42 -41 -39 -39 -39 -39 -39 -39 -40 -38 -35 -33 -33 -34 -35 -37 -37 -35 -33 -31 -30 -29 -29 -29 -30 -31 -31 -32 -33 -36 -40 -43 -44 -42 -40 -39 -39 -40 -38 -37 -37 -37 -38 -41 -43 -44 -43 -42 -43 -45 -48 -50 -51 -51 -51 -51 -50 -47 -45 -43 -41 -39 -37 -36 -36 -36 -36 -34 -31 -28 -26 -24 -22 -23 -23 -22 -21 -19 -19 -20 -22 -24 -24 -24 -24 -25 -24 -24 -24 -27 -31 -35 -39 -40 -41 -43 -45 -46 -47 -47 -46 -45 -44 -43 -43 -44 -45 -46 -46 -45 -43 -42 -42 -42 -43 -44 -46 -47 -47 -44 -42 -41 -41 -40 -38 -38 -40 -42 -41 -38 -37 -38 -38 -39 -39 -39 -39 -38 -37 -36 -38 -42 -47 -50 -49 -45 -42 -41 -41 -41 -42 -42 -42 -40 -39 -38 -38 -38 -39 -40 -41 -43 -48 -53 -56 -52 -46 -40 -38 -38 -37 -36 -35 -34 -32 -32 -31 -31 -32 -36 -41 -45 -47 -48 -47 -46 -44 -42 -40 -39 -39 -41 -41 -37 -33 -31 -30 -31 -34 -38 -40 -40 -39 -39 -40 -42 -43 -44 -45 -45 -46 -46 -45 -45 -48 -51 -55 -57 -57 -57 -58 -60 -63 -63 -61 -57 -52 -49 -52 -54 -57 -60 -65 -70 -73 -74 -75 -74 -70 -67 -66 -67 -70 -74 -77 -80 -82 -83 -83 -84 -84 -85 -84 -83 -81 -80 -78 -78 -80 -84 -90 -93 -91 -86 -81 -78 -76 -74 -73 -72 -72 -74 -76 -76 -76 -77 -77 -75 -73 -73 -74 -77 -78 -79 -79 -75 -69 -70 -73 -73 -69 -65 -62 -61 -60 -60 -59 -58 -56 -52 -51 -50 -50 -50 -50 -50 -48 -47 -46 -44 -41 -37 -36 -36 -38 -41 -44 -48 -49 -53 -58 -61 -62 -62 -60 -59 -58 -57 -56 -52 -50 -49 -48 -45 -46 -47 -48 -49 -49 -48 -48 -48 -49 -51 -54 -56 -58 -59 -59 -58 -58 -58 -60 -59 -58 -58 -59 -62 -62 -60 -59 -59 -60 -59 -60 -59 -58 -56 -50 -45 -41 -40 -40 -40 -42 -44 -46 -45 -45 -45 -45 -43 -39 -37 -36 -37 -38 -39 -41 -44 -46 -47 -47 -46 -46 -45 -45 -43 -42 -40 -39 -38 -39 -38 -38 -37 -35 -34 -33 -33 -47 -45 -43 -41 -40 -40 -40 -40 -40 -39 -39 -38 -36 -34 -33 -33 -35 -37 -38 -37 -35 -32 -29 -27 -27 -27 -27 -26 -26 -27 -28 -32 -37 -41 -43 -41 -38 -37 -38 -39 -39 -39 -38 -37 -37 -38 -41 -41 -40 -38 -40 -45 -51 -54 -55 -53 -51 -49 -47 -45 -43 -42 -42 -41 -39 -37 -36 -35 -35 -33 -30 -27 -25 -23 -22 -22 -23 -23 -21 -20 -18 -18 -19 -23 -26 -26 -25 -25 -24 -23 -24 -26 -29 -34 -38 -41 -43 -43 -43 -45 -46 -46 -46 -46 -46 -44 -44 -44 -45 -46 -46 -46 -45 -43 -42 -42 -42 -43 -45 -46 -46 -45 -43 -41 -40 -39 -38 -38 -39 -41 -41 -40 -38 -39 -40 -40 -40 -39 -39 -38 -37 -36 -38 -42 -46 -49 -48 -44 -42 -41 -41 -42 -43 -43 -43 -43 -41 -40 -39 -39 -40 -39 -39 -41 -45 -50 -53 -51 -46 -43 -42 -41 -40 -38 -36 -34 -33 -33 -34 -34 -34 -37 -41 -45 -47 -48 -48 -47 -45 -44 -42 -40 -39 -39 -39 -36 -33 -31 -31 -31 -34 -37 -38 -38 -36 -38 -40 -41 -43 -44 -45 -46 -47 -47 -46 -46 -48 -51 -55 -57 -58 -59 -59 -60 -63 -65 -64 -61 -56 -49 -48 -50 -53 -57 -63 -69 -73 -75 -76 -75 -72 -69 -67 -68 -70 -73 -77 -80 -82 -83 -83 -84 -85 -85 -84 -83 -81 -80 -79 -79 -81 -84 -88 -91 -90 -86 -81 -78 -78 -76 -74 -72 -72 -75 -77 -77 -77 -79 -81 -79 -77 -74 -76 -78 -79 -80 -82 -79 -71 -69 -72 -74 -71 -68 -65 -62 -60 -60 -59 -57 -54 -52 -51 -50 -50 -51 -52 -51 -48 -46 -44 -42 -40 -38 -37 -38 -39 -43 -47 -50 -53 -56 -58 -59 -60 -61 -60 -60 -59 -58 -55 -50 -47 -46 -45 -45 -48 -49 -50 -50 -50 -49 -48 -49 -52 -55 -57 -58 -60 -61 -61 -60 -59 -58 -59 -58 -57 -57 -59 -62 -62 -61 -59 -59 -59 -59 -60 -60 -58 -56 -51 -47 -45 -44 -43 -43 -44 -46 -49 -51 -51 -50 -50 -48 -46 -44 -42 -43 -43 -42 -43 -44 -46 -46 -46 -46 -46 -45 -44 -43 -42 -41 -39 -39 -39 -38 -37 -36 -36 -35 -34 -33 -48 -46 -43 -40 -40 -41 -41 -41 -40 -39 -39 -38 -36 -34 -33 -33 -35 -37 -39 -39 -37 -34 -30 -28 -27 -27 -25 -24 -23 -23 -25 -29 -33 -37 -39 -39 -37 -36 -36 -38 -42 -43 -42 -39 -38 -40 -40 -39 -37 -35 -38 -44 -50 -54 -55 -53 -49 -46 -43 -42 -42 -42 -41 -41 -41 -38 -35 -33 -32 -32 -31 -29 -27 -24 -22 -23 -23 -23 -21 -20 -18 -18 -19 -23 -27 -28 -28 -26 -25 -24 -24 -25 -27 -32 -37 -41 -44 -45 -44 -45 -45 -46 -46 -47 -47 -46 -45 -44 -45 -45 -46 -46 -46 -44 -43 -43 -43 -43 -43 -45 -46 -45 -43 -42 -41 -40 -40 -39 -39 -40 -40 -40 -40 -40 -41 -41 -41 -40 -39 -38 -38 -37 -39 -43 -47 -48 -46 -43 -41 -41 -41 -42 -43 -44 -44 -44 -43 -42 -42 -41 -40 -39 -39 -40 -43 -48 -51 -49 -46 -44 -44 -43 -42 -40 -38 -35 -34 -35 -36 -36 -36 -37 -40 -44 -47 -48 -48 -47 -46 -45 -43 -41 -39 -37 -35 -33 -33 -33 -31 -31 -34 -37 -37 -35 -35 -37 -39 -41 -43 -44 -45 -46 -47 -48 -47 -47 -49 -52 -55 -57 -58 -59 -59 -60 -63 -66 -67 -64 -58 -51 -49 -50 -53 -57 -62 -67 -72 -75 -76 -76 -73 -70 -68 -69 -71 -74 -76 -79 -82 -82 -83 -83 -84 -84 -84 -83 -81 -80 -80 -82 -83 -84 -86 -89 -90 -86 -81 -77 -78 -78 -77 -74 -73 -74 -76 -78 -78 -79 -82 -82 -80 -76 -77 -80 -81 -83 -84 -80 -71 -68 -71 -75 -71 -68 -66 -63 -61 -61 -60 -57 -53 -51 -51 -50 -50 -50 -51 -50 -47 -44 -41 -40 -39 -39 -39 -40 -42 -45 -49 -53 -55 -56 -56 -56 -57 -58 -58 -58 -58 -57 -54 -47 -43 -42 -42 -46 -50 -51 -51 -51 -52 -51 -49 -50 -54 -57 -58 -59 -60 -62 -62 -61 -58 -57 -57 -57 -57 -58 -59 -62 -62 -60 -59 -59 -59 -59 -60 -59 -57 -53 -51 -49 -48 -47 -46 -46 -46 -47 -50 -53 -54 -54 -53 -51 -49 -46 -45 -45 -45 -43 -43 -44 -45 -45 -44 -44 -45 -44 -43 -42 -41 -40 -39 -39 -39 -38 -36 -36 -36 -36 -34 -33 -50 -46 -43 -40 -39 -40 -42 -42 -41 -40 -39 -38 -37 -34 -33 -32 -34 -36 -38 -40 -39 -36 -33 -30 -28 -28 -26 -24 -22 -21 -22 -27 -31 -35 -37 -38 -37 -36 -36 -38 -42 -46 -47 -45 -42 -41 -40 -40 -39 -40 -42 -45 -48 -51 -52 -51 -48 -46 -44 -45 -45 -45 -43 -41 -40 -37 -34 -32 -31 -30 -30 -30 -28 -27 -26 -25 -25 -23 -20 -19 -18 -18 -19 -22 -26 -29 -30 -29 -27 -26 -25 -24 -25 -29 -34 -39 -44 -48 -46 -46 -46 -46 -46 -48 -49 -49 -48 -47 -47 -46 -46 -46 -47 -46 -44 -43 -42 -42 -42 -43 -44 -45 -44 -42 -41 -41 -42 -41 -41 -41 -41 -41 -41 -41 -41 -41 -40 -39 -39 -39 -39 -39 -41 -44 -47 -47 -43 -40 -39 -40 -41 -42 -42 -43 -44 -44 -44 -45 -45 -44 -42 -40 -40 -41 -43 -46 -49 -48 -46 -44 -44 -44 -44 -42 -40 -38 -37 -37 -37 -38 -39 -39 -41 -43 -46 -47 -48 -49 -48 -47 -45 -41 -37 -32 -29 -30 -33 -34 -33 -31 -34 -35 -36 -34 -34 -36 -39 -40 -42 -44 -46 -47 -48 -48 -48 -48 -50 -51 -54 -56 -57 -58 -58 -60 -63 -67 -69 -68 -63 -55 -50 -50 -54 -60 -64 -67 -71 -75 -78 -77 -75 -73 -71 -72 -74 -75 -76 -79 -80 -81 -81 -82 -82 -83 -84 -83 -81 -80 -80 -82 -84 -85 -86 -89 -90 -87 -82 -77 -76 -77 -79 -77 -74 -73 -75 -77 -78 -79 -83 -84 -82 -78 -79 -80 -81 -83 -86 -79 -71 -68 -71 -75 -71 -68 -66 -64 -63 -63 -62 -60 -56 -53 -52 -50 -49 -49 -50 -48 -45 -42 -38 -38 -38 -39 -40 -41 -44 -48 -52 -55 -56 -55 -54 -53 -54 -55 -55 -55 -55 -53 -50 -46 -43 -41 -42 -47 -51 -52 -52 -51 -52 -51 -50 -51 -57 -59 -60 -60 -60 -61 -61 -60 -59 -58 -56 -56 -57 -58 -59 -61 -60 -59 -58 -58 -58 -59 -58 -57 -54 -51 -50 -49 -48 -48 -47 -47 -47 -47 -50 -52 -54 -54 -53 -50 -47 -46 -45 -46 -45 -43 -42 -42 -43 -44 -43 -42 -43 -43 -42 -41 -40 -39 -39 -39 -39 -37 -36 -36 -37 -36 -35 -34 -50 -46 -42 -40 -39 -39 -41 -42 -42 -41 -40 -39 -37 -35 -33 -32 -33 -34 -37 -39 -39 -38 -35 -32 -30 -29 -27 -26 -24 -23 -22 -24 -28 -32 -35 -36 -36 -36 -36 -37 -40 -43 -47 -48 -47 -45 -43 -42 -42 -43 -45 -47 -50 -51 -52 -52 -50 -48 -47 -48 -49 -48 -46 -42 -38 -35 -33 -32 -32 -31 -30 -29 -29 -29 -29 -28 -26 -24 -21 -19 -18 -18 -19 -20 -24 -28 -31 -31 -29 -28 -26 -26 -25 -27 -30 -35 -41 -47 -48 -48 -47 -46 -47 -48 -49 -50 -51 -52 -50 -49 -48 -48 -48 -48 -46 -44 -42 -41 -41 -42 -43 -44 -44 -43 -42 -43 -43 -44 -44 -43 -42 -42 -42 -42 -41 -40 -39 -38 -38 -39 -40 -41 -43 -46 -48 -47 -42 -39 -38 -39 -40 -41 -41 -41 -41 -42 -44 -45 -47 -47 -46 -43 -42 -43 -45 -47 -49 -49 -47 -45 -44 -44 -44 -43 -42 -41 -40 -39 -39 -39 -41 -41 -42 -43 -45 -47 -49 -50 -51 -50 -46 -41 -35 -30 -27 -28 -30 -33 -34 -33 -34 -35 -35 -34 -34 -36 -38 -40 -42 -44 -47 -49 -50 -49 -49 -49 -49 -50 -51 -54 -56 -57 -57 -58 -63 -67 -70 -70 -67 -59 -52 -50 -54 -60 -64 -68 -73 -78 -80 -79 -76 -74 -72 -75 -76 -75 -75 -76 -78 -79 -79 -79 -81 -82 -83 -83 -82 -80 -80 -81 -83 -85 -87 -90 -91 -90 -86 -80 -77 -77 -78 -79 -79 -76 -75 -76 -77 -80 -83 -85 -85 -81 -80 -80 -81 -83 -86 -78 -71 -68 -70 -73 -70 -67 -66 -66 -65 -64 -65 -63 -60 -56 -53 -51 -49 -48 -49 -48 -45 -41 -36 -36 -37 -38 -39 -41 -44 -49 -53 -56 -57 -55 -53 -51 -50 -52 -53 -53 -51 -47 -45 -44 -43 -43 -43 -46 -49 -50 -51 -50 -51 -51 -51 -53 -58 -60 -60 -59 -59 -60 -59 -59 -60 -60 -58 -58 -58 -58 -57 -58 -58 -57 -56 -56 -57 -57 -55 -53 -51 -50 -50 -49 -49 -49 -48 -47 -47 -48 -49 -51 -52 -53 -53 -51 -48 -46 -45 -45 -44 -42 -42 -41 -42 -42 -41 -41 -40 -41 -41 -41 -39 -40 -40 -39 -38 -37 -36 -36 -36 -35 -35 -34 -49 -46 -42 -40 -39 -39 -39 -41 -42 -43 -42 -40 -38 -35 -33 -32 -32 -33 -35 -37 -39 -38 -35 -32 -30 -28 -29 -28 -27 -24 -22 -22 -26 -30 -34 -36 -36 -37 -37 -38 -38 -40 -44 -48 -51 -50 -48 -47 -46 -47 -48 -50 -53 -55 -56 -55 -53 -51 -50 -51 -52 -51 -47 -41 -35 -31 -30 -31 -32 -32 -32 -30 -28 -29 -31 -30 -28 -26 -22 -20 -20 -19 -18 -20 -24 -28 -31 -32 -31 -29 -28 -27 -27 -26 -28 -31 -37 -43 -47 -48 -48 -48 -48 -48 -48 -50 -53 -55 -54 -52 -50 -49 -50 -50 -48 -46 -43 -41 -41 -41 -42 -44 -45 -44 -44 -44 -45 -46 -47 -46 -45 -43 -43 -43 -42 -40 -38 -37 -37 -38 -40 -41 -43 -45 -47 -48 -45 -42 -39 -38 -38 -40 -40 -40 -40 -40 -42 -45 -48 -51 -50 -47 -44 -43 -44 -45 -48 -48 -47 -44 -43 -43 -44 -44 -43 -43 -43 -42 -40 -39 -40 -42 -43 -44 -45 -47 -49 -51 -53 -53 -47 -40 -33 -28 -26 -26 -28 -31 -34 -35 -36 -36 -34 -33 -33 -35 -37 -39 -42 -46 -49 -51 -52 -52 -51 -50 -49 -49 -49 -52 -54 -56 -57 -58 -62 -67 -71 -72 -70 -62 -54 -51 -54 -60 -65 -70 -75 -80 -83 -82 -79 -75 -74 -76 -76 -75 -73 -73 -75 -76 -76 -77 -79 -81 -83 -83 -83 -80 -79 -80 -82 -84 -88 -92 -93 -92 -88 -82 -79 -78 -78 -78 -79 -78 -77 -78 -78 -80 -84 -87 -87 -83 -81 -81 -82 -84 -86 -78 -71 -68 -68 -71 -71 -69 -67 -67 -65 -64 -65 -65 -64 -59 -55 -52 -49 -49 -49 -48 -45 -41 -36 -35 -36 -37 -39 -41 -44 -48 -54 -57 -58 -55 -52 -49 -48 -49 -51 -50 -48 -43 -42 -41 -42 -43 -44 -44 -44 -46 -49 -50 -52 -53 -54 -55 -58 -59 -59 -58 -57 -57 -57 -58 -59 -60 -57 -56 -55 -55 -55 -56 -55 -54 -53 -54 -55 -54 -52 -50 -50 -50 -49 -49 -50 -50 -49 -48 -47 -48 -49 -49 -50 -53 -54 -53 -50 -47 -45 -45 -44 -44 -44 -42 -42 -41 -40 -39 -39 -41 -41 -40 -39 -39 -40 -39 -37 -36 -35 -35 -35 -34 -34 -33 -51 -46 -42 -41 -39 -37 -37 -38 -41 -43 -43 -41 -38 -35 -33 -32 -32 -32 -33 -35 -37 -37 -35 -31 -29 -28 -30 -31 -30 -26 -23 -22 -25 -30 -34 -37 -38 -38 -39 -39 -37 -37 -40 -46 -51 -52 -52 -51 -51 -51 -53 -54 -56 -59 -61 -61 -58 -55 -53 -53 -53 -50 -45 -39 -31 -29 -29 -30 -30 -31 -33 -31 -27 -27 -30 -31 -30 -28 -24 -22 -21 -19 -18 -19 -24 -28 -31 -33 -32 -31 -30 -29 -29 -28 -28 -30 -33 -37 -42 -46 -48 -49 -50 -49 -49 -50 -53 -57 -57 -55 -52 -50 -51 -51 -50 -47 -44 -42 -42 -42 -43 -45 -46 -46 -45 -45 -46 -48 -50 -50 -48 -45 -44 -44 -43 -41 -38 -38 -38 -38 -38 -39 -41 -43 -46 -48 -48 -46 -43 -39 -38 -39 -40 -40 -39 -38 -40 -44 -49 -52 -52 -49 -46 -44 -43 -43 -45 -46 -46 -44 -41 -42 -43 -44 -44 -44 -45 -43 -41 -39 -39 -41 -43 -44 -45 -46 -49 -52 -55 -55 -48 -40 -32 -27 -26 -26 -27 -29 -33 -36 -38 -37 -34 -32 -32 -34 -36 -38 -42 -46 -50 -52 -52 -51 -50 -50 -49 -49 -48 -49 -52 -55 -56 -58 -62 -67 -71 -74 -73 -66 -58 -53 -55 -60 -66 -72 -78 -82 -83 -81 -78 -74 -73 -77 -79 -77 -73 -70 -71 -73 -75 -76 -77 -79 -82 -83 -83 -81 -80 -81 -82 -85 -89 -94 -96 -94 -88 -82 -79 -79 -79 -77 -76 -76 -79 -83 -83 -82 -84 -88 -90 -86 -81 -81 -84 -84 -84 -78 -73 -69 -67 -68 -70 -70 -69 -68 -66 -65 -65 -65 -65 -61 -57 -53 -50 -49 -49 -48 -46 -42 -36 -35 -35 -36 -38 -40 -44 -49 -54 -57 -58 -54 -50 -47 -46 -47 -47 -46 -44 -40 -39 -38 -39 -41 -43 -43 -42 -43 -46 -50 -54 -58 -59 -58 -57 -57 -56 -55 -55 -55 -55 -56 -56 -56 -55 -54 -54 -54 -54 -55 -55 -53 -52 -52 -53 -52 -50 -50 -49 -49 -48 -48 -49 -49 -48 -47 -47 -48 -49 -49 -50 -52 -54 -53 -51 -48 -46 -45 -45 -45 -45 -43 -42 -41 -40 -39 -40 -41 -42 -41 -39 -40 -39 -38 -36 -35 -34 -35 -34 -34 -33 -32 -56 -49 -44 -42 -40 -38 -36 -37 -39 -42 -43 -41 -38 -36 -34 -33 -32 -31 -32 -33 -36 -37 -35 -32 -29 -28 -31 -32 -32 -29 -25 -23 -26 -30 -35 -37 -39 -39 -39 -38 -36 -35 -38 -43 -49 -51 -53 -54 -54 -55 -56 -58 -60 -63 -66 -67 -65 -60 -56 -55 -52 -48 -42 -36 -30 -28 -28 -29 -28 -29 -30 -29 -27 -27 -30 -32 -31 -29 -25 -22 -21 -19 -18 -18 -22 -26 -30 -33 -34 -34 -33 -32 -31 -30 -30 -30 -31 -34 -38 -42 -45 -48 -51 -51 -50 -51 -53 -57 -58 -57 -54 -51 -51 -51 -50 -48 -46 -44 -43 -43 -44 -46 -47 -48 -48 -47 -47 -49 -51 -52 -51 -47 -44 -43 -42 -41 -38 -38 -38 -38 -37 -37 -39 -41 -43 -47 -50 -49 -46 -42 -39 -39 -39 -38 -37 -36 -38 -43 -49 -52 -53 -50 -47 -43 -41 -42 -43 -44 -43 -41 -40 -40 -42 -44 -45 -46 -47 -47 -45 -42 -40 -40 -41 -43 -45 -46 -49 -52 -55 -55 -49 -40 -32 -27 -26 -27 -28 -29 -32 -35 -37 -37 -35 -33 -32 -33 -35 -38 -43 -47 -50 -52 -51 -49 -48 -48 -48 -48 -48 -49 -51 -53 -55 -57 -61 -66 -71 -74 -75 -70 -62 -56 -55 -59 -65 -72 -78 -81 -81 -78 -73 -69 -71 -77 -79 -77 -73 -70 -71 -72 -74 -76 -77 -79 -81 -82 -82 -81 -81 -81 -83 -86 -91 -96 -98 -96 -87 -80 -77 -77 -79 -78 -77 -77 -80 -84 -85 -84 -85 -88 -92 -89 -83 -81 -82 -81 -81 -80 -77 -72 -68 -67 -68 -68 -69 -70 -68 -66 -65 -65 -65 -63 -60 -55 -51 -49 -48 -48 -46 -43 -38 -36 -35 -35 -37 -40 -44 -49 -53 -57 -57 -54 -49 -47 -46 -46 -44 -42 -40 -38 -37 -36 -37 -39 -42 -42 -42 -43 -45 -49 -53 -57 -59 -58 -55 -53 -53 -53 -53 -53 -53 -54 -54 -54 -53 -54 -54 -53 -53 -54 -54 -54 -53 -52 -52 -51 -50 -50 -49 -48 -48 -48 -48 -48 -48 -47 -47 -47 -47 -48 -50 -52 -52 -52 -50 -48 -46 -46 -46 -45 -45 -43 -42 -42 -43 -41 -42 -42 -41 -41 -40 -39 -38 -37 -35 -34 -34 -34 -34 -34 -33 -32 -62 -55 -48 -44 -41 -39 -37 -37 -38 -40 -42 -42 -40 -38 -36 -34 -32 -32 -32 -33 -36 -38 -37 -34 -31 -29 -31 -33 -33 -31 -27 -25 -26 -29 -34 -37 -38 -38 -37 -37 -35 -34 -36 -40 -45 -49 -51 -52 -54 -55 -57 -60 -63 -65 -66 -67 -67 -65 -59 -55 -50 -44 -38 -32 -29 -28 -28 -27 -26 -26 -25 -25 -26 -29 -31 -32 -31 -29 -26 -23 -20 -18 -17 -17 -21 -26 -30 -34 -35 -36 -37 -37 -36 -34 -32 -31 -31 -33 -36 -39 -42 -46 -50 -53 -53 -53 -53 -56 -58 -58 -55 -52 -51 -50 -49 -48 -48 -46 -45 -45 -46 -47 -49 -50 -51 -50 -50 -51 -52 -53 -52 -49 -44 -42 -41 -40 -38 -38 -39 -39 -38 -37 -37 -38 -41 -45 -49 -49 -47 -44 -42 -41 -39 -38 -37 -36 -37 -42 -48 -53 -55 -52 -46 -41 -39 -39 -41 -41 -40 -39 -38 -39 -41 -44 -46 -47 -48 -49 -48 -45 -41 -39 -39 -40 -43 -46 -49 -51 -53 -53 -50 -43 -35 -29 -27 -28 -29 -30 -32 -33 -34 -36 -36 -34 -33 -33 -35 -38 -43 -47 -50 -52 -51 -47 -45 -44 -45 -47 -48 -49 -51 -52 -53 -56 -60 -66 -70 -73 -74 -70 -63 -57 -55 -58 -63 -69 -75 -78 -78 -74 -67 -62 -66 -74 -77 -77 -74 -71 -71 -72 -74 -76 -78 -78 -79 -80 -81 -81 -82 -83 -84 -88 -94 -98 -99 -96 -87 -78 -74 -75 -77 -77 -76 -77 -79 -84 -86 -88 -89 -90 -93 -90 -84 -78 -75 -75 -78 -81 -81 -77 -70 -68 -67 -67 -67 -69 -69 -68 -67 -67 -66 -64 -62 -58 -53 -50 -49 -48 -47 -44 -40 -38 -37 -36 -37 -39 -43 -47 -52 -56 -56 -54 -50 -48 -47 -45 -42 -40 -39 -38 -36 -35 -36 -38 -40 -42 -43 -43 -45 -48 -52 -54 -56 -54 -52 -51 -51 -52 -52 -52 -52 -52 -52 -52 -52 -52 -53 -53 -54 -54 -54 -54 -53 -52 -51 -50 -50 -50 -49 -49 -49 -48 -48 -48 -47 -46 -45 -45 -45 -46 -48 -50 -50 -50 -49 -47 -46 -46 -46 -45 -44 -43 -43 -44 -45 -45 -45 -43 -41 -40 -40 -39 -37 -36 -35 -34 -33 -33 -34 -34 -32 -31 -63 -61 -54 -49 -44 -41 -39 -39 -40 -41 -43 -44 -42 -40 -38 -36 -34 -34 -34 -35 -36 -39 -40 -38 -34 -31 -31 -32 -32 -31 -29 -27 -27 -29 -33 -35 -36 -36 -36 -35 -34 -34 -36 -40 -45 -47 -49 -51 -52 -53 -56 -59 -61 -63 -63 -64 -64 -62 -58 -54 -48 -40 -33 -29 -28 -27 -27 -27 -26 -25 -24 -23 -24 -27 -29 -29 -29 -27 -26 -24 -23 -21 -18 -17 -20 -25 -31 -35 -36 -37 -39 -40 -41 -38 -35 -33 -33 -32 -35 -38 -41 -44 -47 -51 -53 -54 -54 -56 -58 -58 -56 -53 -51 -50 -50 -50 -50 -50 -49 -48 -49 -50 -52 -53 -53 -53 -53 -54 -53 -53 -52 -51 -44 -40 -38 -39 -39 -38 -39 -40 -39 -37 -35 -36 -39 -44 -47 -48 -46 -45 -45 -44 -42 -40 -38 -36 -36 -40 -46 -53 -57 -53 -46 -39 -36 -37 -38 -38 -38 -37 -36 -38 -40 -42 -45 -47 -48 -49 -48 -46 -43 -41 -39 -39 -41 -45 -47 -47 -49 -52 -52 -48 -40 -32 -28 -29 -30 -31 -32 -31 -31 -33 -35 -36 -35 -34 -35 -38 -43 -47 -50 -51 -50 -46 -43 -43 -44 -45 -46 -48 -51 -52 -53 -55 -60 -65 -70 -73 -73 -70 -63 -56 -55 -57 -60 -65 -70 -73 -75 -71 -64 -58 -61 -68 -73 -75 -73 -70 -69 -71 -74 -77 -79 -79 -79 -80 -80 -80 -81 -84 -87 -91 -96 -99 -100 -96 -87 -77 -72 -71 -74 -76 -77 -77 -78 -80 -83 -88 -91 -92 -93 -88 -81 -75 -73 -74 -77 -81 -83 -80 -73 -70 -69 -67 -67 -68 -70 -70 -68 -68 -66 -65 -63 -60 -55 -52 -50 -49 -48 -45 -41 -39 -39 -38 -37 -39 -42 -46 -50 -55 -55 -53 -51 -49 -47 -45 -43 -42 -43 -41 -38 -36 -36 -38 -40 -42 -43 -44 -45 -48 -50 -52 -52 -50 -49 -49 -50 -51 -51 -51 -52 -52 -52 -51 -51 -51 -52 -53 -54 -55 -55 -55 -55 -53 -52 -50 -50 -50 -50 -50 -50 -49 -49 -48 -48 -46 -45 -44 -45 -46 -47 -48 -48 -49 -48 -47 -46 -45 -45 -45 -45 -44 -44 -45 -46 -47 -46 -44 -41 -40 -39 -38 -37 -36 -36 -35 -34 -33 -33 -34 -33 -31 -62 -62 -59 -54 -48 -43 -40 -40 -41 -42 -43 -45 -44 -42 -41 -39 -37 -37 -38 -38 -38 -40 -41 -40 -38 -34 -33 -32 -31 -31 -30 -29 -29 -30 -33 -34 -35 -35 -35 -34 -33 -33 -35 -39 -44 -47 -49 -51 -52 -53 -55 -57 -60 -61 -62 -62 -61 -59 -56 -50 -42 -34 -28 -25 -25 -25 -25 -25 -25 -25 -24 -24 -26 -28 -28 -28 -27 -26 -25 -26 -25 -23 -20 -18 -19 -22 -27 -32 -35 -37 -40 -43 -44 -41 -37 -34 -33 -33 -35 -38 -40 -42 -44 -48 -51 -53 -55 -56 -57 -57 -56 -55 -52 -52 -51 -51 -52 -52 -53 -53 -54 -53 -52 -53 -54 -55 -56 -58 -56 -53 -51 -50 -46 -40 -37 -37 -39 -38 -38 -39 -40 -38 -36 -35 -38 -42 -45 -46 -46 -45 -47 -49 -47 -44 -40 -37 -36 -38 -44 -50 -56 -54 -47 -39 -34 -34 -35 -36 -37 -36 -35 -35 -37 -40 -44 -47 -47 -47 -46 -45 -44 -43 -41 -40 -40 -42 -43 -44 -47 -51 -53 -50 -42 -33 -29 -30 -32 -33 -32 -30 -30 -32 -35 -38 -37 -35 -36 -39 -43 -46 -48 -50 -49 -45 -43 -42 -42 -43 -45 -48 -51 -53 -54 -56 -60 -65 -70 -74 -73 -68 -62 -58 -59 -59 -59 -61 -65 -69 -72 -72 -67 -61 -58 -62 -67 -71 -71 -68 -66 -67 -70 -75 -77 -77 -78 -79 -80 -80 -81 -84 -88 -93 -97 -99 -99 -96 -88 -77 -70 -69 -71 -76 -78 -78 -75 -73 -77 -84 -90 -93 -90 -83 -77 -73 -73 -76 -77 -79 -80 -80 -75 -72 -70 -69 -68 -68 -69 -70 -70 -68 -67 -65 -64 -62 -56 -53 -51 -50 -48 -46 -44 -43 -42 -41 -38 -39 -41 -44 -48 -52 -52 -51 -50 -50 -48 -46 -44 -44 -47 -46 -43 -39 -37 -38 -39 -41 -42 -44 -45 -48 -50 -51 -49 -48 -48 -48 -48 -50 -50 -51 -52 -52 -52 -52 -51 -51 -51 -53 -54 -55 -55 -56 -55 -54 -53 -52 -52 -51 -51 -52 -52 -50 -49 -49 -48 -45 -45 -45 -45 -47 -47 -47 -48 -48 -47 -46 -46 -45 -45 -45 -45 -45 -45 -46 -47 -48 -47 -45 -43 -42 -41 -40 -39 -38 -37 -37 -35 -33 -33 -34 -33 -32 -58 -60 -60 -57 -52 -46 -41 -41 -41 -42 -44 -44 -44 -43 -42 -41 -40 -39 -39 -39 -38 -38 -38 -39 -39 -38 -36 -34 -32 -31 -31 -32 -33 -34 -36 -36 -36 -36 -37 -37 -35 -34 -35 -38 -43 -47 -50 -53 -54 -55 -55 -56 -57 -59 -61 -60 -59 -56 -52 -45 -36 -28 -24 -23 -23 -23 -24 -25 -25 -25 -25 -25 -26 -27 -28 -27 -26 -25 -25 -26 -26 -25 -23 -19 -19 -20 -23 -28 -31 -35 -40 -44 -47 -44 -40 -36 -35 -35 -36 -38 -40 -42 -43 -46 -48 -51 -53 -55 -56 -55 -55 -54 -54 -53 -53 -53 -52 -53 -54 -57 -58 -58 -54 -52 -52 -54 -58 -61 -59 -55 -51 -50 -47 -41 -36 -35 -38 -38 -37 -37 -38 -40 -37 -35 -36 -41 -45 -46 -46 -46 -48 -51 -53 -50 -44 -38 -37 -39 -42 -48 -54 -54 -49 -42 -36 -32 -33 -34 -35 -35 -33 -33 -35 -39 -43 -46 -46 -44 -43 -42 -43 -43 -44 -42 -40 -38 -36 -38 -42 -48 -51 -50 -43 -35 -31 -31 -32 -33 -31 -28 -28 -30 -34 -38 -37 -36 -36 -39 -43 -44 -45 -46 -47 -46 -43 -42 -42 -42 -43 -47 -50 -53 -54 -56 -60 -65 -71 -73 -72 -68 -62 -57 -58 -58 -58 -59 -63 -68 -73 -76 -75 -68 -60 -59 -63 -67 -69 -66 -63 -62 -64 -68 -71 -72 -73 -75 -78 -80 -82 -85 -89 -93 -96 -98 -97 -94 -87 -79 -72 -68 -70 -76 -79 -78 -73 -70 -72 -79 -86 -91 -88 -80 -74 -72 -74 -77 -78 -80 -81 -80 -77 -74 -71 -70 -69 -68 -68 -69 -70 -69 -67 -65 -64 -63 -58 -55 -53 -50 -48 -45 -47 -48 -47 -45 -41 -40 -41 -43 -46 -50 -50 -48 -48 -49 -48 -46 -45 -46 -49 -47 -44 -41 -38 -39 -39 -39 -41 -44 -46 -49 -51 -51 -48 -47 -46 -46 -47 -48 -49 -50 -51 -51 -51 -51 -52 -52 -51 -53 -54 -55 -56 -56 -55 -54 -53 -52 -52 -51 -51 -51 -51 -50 -49 -49 -47 -46 -45 -45 -46 -47 -47 -47 -47 -48 -46 -46 -46 -45 -44 -44 -46 -46 -47 -47 -48 -48 -46 -44 -43 -41 -40 -40 -40 -39 -38 -37 -35 -33 -33 -33 -33 -32 -54 -55 -57 -57 -55 -50 -44 -42 -42 -43 -43 -44 -43 -43 -42 -40 -39 -38 -37 -37 -37 -37 -37 -37 -38 -38 -38 -36 -34 -33 -33 -36 -39 -41 -42 -42 -41 -41 -41 -41 -39 -36 -35 -38 -42 -47 -52 -54 -56 -57 -57 -55 -54 -55 -57 -57 -56 -52 -47 -40 -31 -24 -21 -21 -22 -23 -24 -25 -25 -25 -25 -25 -25 -26 -27 -27 -27 -26 -26 -27 -27 -27 -24 -21 -19 -19 -20 -23 -27 -32 -38 -44 -48 -47 -44 -40 -37 -37 -38 -40 -42 -43 -44 -45 -46 -47 -49 -53 -54 -54 -53 -53 -54 -55 -55 -55 -53 -52 -54 -57 -60 -62 -58 -53 -51 -54 -59 -63 -62 -58 -52 -49 -46 -42 -37 -35 -36 -36 -35 -35 -37 -40 -38 -36 -35 -40 -44 -46 -46 -45 -46 -49 -53 -52 -48 -41 -38 -39 -41 -44 -48 -50 -49 -45 -39 -34 -33 -33 -33 -33 -34 -34 -36 -39 -43 -44 -44 -42 -39 -39 -40 -42 -43 -43 -39 -35 -32 -33 -37 -44 -48 -49 -45 -38 -34 -33 -33 -33 -32 -29 -29 -31 -34 -38 -38 -38 -37 -39 -43 -43 -43 -43 -45 -46 -45 -43 -42 -41 -43 -46 -50 -52 -53 -56 -61 -66 -71 -73 -70 -65 -60 -58 -58 -58 -59 -61 -65 -69 -73 -78 -81 -78 -67 -63 -63 -66 -68 -65 -61 -57 -56 -59 -63 -65 -66 -68 -72 -77 -81 -85 -88 -91 -93 -95 -95 -92 -86 -79 -73 -68 -68 -73 -77 -79 -78 -74 -73 -76 -82 -87 -86 -80 -75 -74 -77 -80 -81 -83 -84 -82 -79 -76 -72 -71 -70 -69 -68 -68 -70 -68 -66 -64 -63 -64 -59 -56 -54 -51 -48 -46 -47 -49 -49 -45 -41 -41 -42 -44 -46 -47 -46 -45 -44 -45 -45 -44 -44 -47 -49 -46 -43 -40 -38 -39 -39 -40 -40 -42 -46 -50 -52 -50 -48 -47 -46 -45 -45 -46 -47 -49 -50 -50 -50 -51 -51 -51 -51 -52 -54 -56 -56 -55 -54 -53 -52 -50 -49 -49 -50 -51 -50 -50 -50 -49 -48 -47 -46 -46 -46 -47 -47 -47 -47 -47 -46 -46 -47 -46 -44 -44 -46 -47 -48 -48 -48 -47 -46 -44 -42 -41 -38 -37 -37 -37 -37 -37 -36 -34 -33 -33 -33 -32 -51 -51 -53 -55 -56 -53 -48 -44 -43 -43 -44 -43 -42 -41 -40 -38 -37 -37 -36 -36 -36 -35 -36 -36 -37 -38 -39 -38 -37 -36 -37 -40 -43 -46 -49 -49 -48 -48 -47 -46 -44 -40 -39 -40 -44 -48 -53 -56 -58 -58 -59 -57 -54 -53 -53 -54 -54 -51 -45 -35 -27 -23 -21 -21 -22 -23 -24 -25 -25 -25 -24 -24 -25 -26 -27 -27 -27 -27 -27 -27 -28 -28 -26 -23 -20 -19 -19 -20 -24 -29 -35 -41 -46 -48 -48 -45 -41 -40 -41 -43 -45 -46 -46 -46 -45 -45 -47 -51 -53 -52 -52 -52 -53 -55 -56 -56 -54 -52 -52 -54 -59 -62 -60 -56 -53 -54 -58 -63 -63 -59 -53 -48 -45 -43 -39 -36 -34 -35 -35 -36 -37 -39 -38 -36 -36 -39 -44 -47 -48 -46 -45 -47 -51 -52 -50 -44 -41 -40 -41 -42 -43 -44 -44 -43 -40 -37 -35 -33 -32 -32 -34 -35 -37 -39 -42 -44 -43 -40 -37 -36 -37 -39 -40 -39 -37 -34 -32 -32 -34 -40 -44 -47 -46 -43 -37 -34 -34 -33 -32 -31 -31 -33 -36 -38 -39 -39 -38 -39 -41 -42 -43 -43 -45 -46 -45 -44 -43 -42 -43 -46 -49 -52 -53 -57 -62 -67 -71 -71 -67 -62 -59 -59 -60 -61 -62 -65 -68 -70 -74 -78 -81 -79 -71 -67 -66 -67 -66 -63 -59 -55 -50 -51 -54 -56 -58 -61 -65 -71 -77 -81 -85 -88 -90 -92 -94 -92 -87 -81 -74 -69 -67 -69 -72 -76 -79 -80 -80 -79 -81 -84 -84 -82 -79 -79 -80 -82 -84 -85 -85 -83 -82 -79 -75 -73 -71 -70 -68 -68 -68 -67 -65 -63 -62 -63 -60 -57 -54 -52 -50 -47 -48 -49 -49 -45 -43 -42 -42 -43 -45 -45 -44 -42 -39 -39 -39 -40 -43 -47 -47 -45 -42 -40 -38 -39 -39 -40 -41 -42 -46 -49 -52 -50 -48 -46 -45 -45 -45 -46 -47 -48 -49 -50 -49 -50 -51 -51 -50 -51 -53 -55 -55 -54 -52 -51 -50 -49 -48 -48 -48 -49 -49 -49 -49 -49 -49 -48 -47 -46 -46 -46 -47 -46 -46 -47 -46 -46 -47 -47 -46 -45 -45 -47 -48 -48 -48 -47 -45 -43 -42 -40 -38 -36 -35 -35 -37 -38 -37 -35 -34 -33 -33 -32 -48 -48 -50 -54 -56 -55 -52 -47 -45 -44 -44 -44 -42 -40 -38 -36 -35 -36 -36 -36 -35 -35 -35 -35 -36 -37 -38 -39 -39 -39 -40 -42 -45 -48 -51 -52 -51 -51 -50 -50 -48 -45 -44 -44 -47 -50 -54 -57 -59 -60 -61 -60 -58 -55 -52 -52 -53 -51 -45 -33 -25 -22 -22 -22 -23 -24 -24 -25 -25 -25 -24 -24 -25 -25 -26 -26 -26 -26 -26 -26 -28 -28 -27 -24 -21 -19 -19 -20 -24 -29 -34 -40 -44 -47 -49 -48 -46 -44 -45 -46 -48 -49 -49 -48 -46 -45 -46 -49 -51 -52 -52 -52 -53 -55 -56 -57 -56 -53 -51 -52 -55 -59 -60 -58 -57 -57 -59 -61 -61 -58 -53 -48 -45 -43 -41 -38 -35 -35 -35 -37 -37 -38 -37 -36 -36 -39 -43 -47 -49 -49 -48 -47 -49 -50 -49 -46 -43 -42 -42 -42 -42 -42 -41 -40 -39 -37 -36 -35 -35 -35 -36 -37 -37 -37 -39 -41 -41 -39 -37 -35 -35 -35 -35 -34 -35 -35 -34 -33 -34 -37 -41 -44 -46 -46 -41 -37 -35 -34 -32 -32 -34 -36 -38 -39 -39 -39 -39 -39 -39 -40 -42 -43 -43 -44 -45 -46 -46 -45 -44 -45 -48 -52 -55 -58 -63 -67 -70 -68 -63 -60 -59 -61 -63 -65 -67 -69 -71 -73 -75 -78 -80 -78 -73 -71 -70 -70 -67 -63 -60 -56 -51 -50 -52 -52 -53 -55 -60 -65 -71 -76 -80 -83 -87 -90 -93 -93 -89 -83 -77 -72 -68 -67 -68 -70 -74 -80 -82 -83 -81 -81 -82 -84 -86 -85 -83 -84 -85 -85 -85 -84 -84 -82 -80 -77 -73 -71 -70 -69 -68 -67 -65 -64 -62 -63 -60 -57 -54 -53 -51 -49 -49 -49 -48 -46 -46 -46 -45 -44 -45 -45 -42 -38 -36 -36 -36 -38 -40 -43 -44 -45 -44 -41 -39 -39 -39 -39 -40 -42 -45 -49 -51 -49 -48 -46 -45 -45 -45 -46 -47 -48 -49 -49 -50 -49 -49 -49 -50 -52 -53 -54 -55 -53 -51 -50 -49 -48 -47 -47 -47 -47 -48 -48 -48 -48 -49 -48 -48 -47 -46 -46 -47 -46 -46 -46 -46 -45 -46 -46 -46 -46 -45 -46 -47 -48 -48 -48 -46 -43 -41 -39 -39 -38 -36 -36 -38 -39 -38 -36 -36 -34 -33 -32 -48 -48 -50 -53 -54 -54 -52 -49 -46 -45 -45 -44 -42 -40 -38 -35 -34 -35 -36 -36 -35 -34 -33 -33 -34 -36 -38 -39 -40 -40 -41 -42 -44 -46 -48 -49 -49 -49 -49 -50 -50 -48 -47 -48 -51 -54 -56 -58 -60 -62 -64 -63 -62 -59 -55 -52 -51 -49 -43 -31 -23 -22 -22 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -25 -25 -26 -28 -28 -27 -25 -22 -20 -19 -20 -24 -30 -35 -39 -42 -43 -46 -47 -46 -46 -46 -47 -49 -50 -52 -50 -48 -46 -46 -48 -51 -54 -54 -53 -52 -53 -55 -57 -58 -56 -54 -52 -53 -55 -56 -58 -59 -60 -61 -60 -58 -55 -51 -47 -45 -43 -42 -40 -38 -36 -36 -36 -37 -37 -36 -36 -36 -38 -42 -45 -48 -50 -50 -49 -48 -47 -47 -45 -44 -43 -43 -42 -41 -41 -40 -40 -39 -37 -36 -36 -36 -37 -38 -38 -38 -36 -36 -37 -38 -38 -36 -35 -33 -30 -29 -30 -33 -35 -37 -37 -36 -37 -39 -43 -46 -47 -44 -41 -38 -35 -34 -34 -37 -38 -39 -39 -39 -39 -39 -39 -38 -39 -40 -42 -43 -44 -46 -48 -50 -49 -47 -47 -49 -53 -57 -61 -63 -65 -65 -63 -60 -59 -60 -63 -67 -69 -71 -72 -73 -73 -74 -76 -78 -76 -74 -72 -72 -73 -69 -63 -57 -54 -53 -52 -52 -53 -52 -53 -56 -60 -64 -68 -71 -77 -83 -88 -91 -92 -90 -86 -82 -77 -72 -69 -67 -67 -71 -77 -81 -83 -83 -82 -81 -83 -87 -89 -85 -84 -84 -85 -86 -86 -86 -86 -84 -81 -76 -73 -72 -71 -69 -68 -68 -66 -63 -62 -60 -57 -54 -53 -52 -51 -51 -50 -48 -48 -49 -49 -46 -45 -45 -44 -41 -36 -34 -34 -35 -37 -39 -40 -43 -45 -45 -42 -40 -40 -40 -40 -40 -42 -46 -48 -50 -48 -47 -46 -45 -44 -45 -46 -47 -48 -49 -50 -50 -50 -49 -49 -50 -52 -53 -54 -54 -54 -53 -51 -50 -48 -48 -47 -46 -46 -47 -47 -47 -47 -48 -47 -47 -47 -46 -47 -48 -47 -46 -46 -45 -44 -45 -45 -46 -46 -46 -47 -47 -47 -47 -47 -46 -44 -41 -39 -39 -39 -39 -38 -39 -40 -38 -37 -37 -36 -34 -33 -48 -48 -49 -51 -53 -53 -52 -49 -46 -45 -45 -44 -42 -40 -38 -35 -34 -34 -35 -35 -34 -33 -31 -31 -33 -35 -37 -38 -40 -40 -41 -42 -43 -44 -45 -46 -46 -47 -47 -48 -49 -50 -50 -51 -53 -56 -58 -59 -62 -65 -69 -67 -64 -60 -55 -51 -48 -43 -37 -27 -22 -22 -23 -24 -25 -26 -26 -26 -26 -26 -26 -25 -24 -24 -24 -24 -24 -24 -24 -26 -28 -29 -28 -25 -22 -20 -20 -22 -27 -32 -36 -39 -41 -43 -44 -44 -42 -41 -42 -44 -46 -48 -50 -50 -49 -48 -49 -50 -52 -54 -56 -56 -53 -52 -53 -56 -58 -58 -57 -55 -53 -51 -52 -55 -59 -62 -63 -61 -57 -52 -48 -45 -43 -41 -41 -42 -41 -38 -36 -35 -36 -37 -37 -37 -36 -37 -40 -44 -47 -50 -51 -50 -48 -46 -45 -44 -43 -43 -43 -42 -41 -41 -42 -42 -41 -39 -38 -37 -37 -37 -37 -37 -36 -36 -35 -35 -35 -35 -34 -34 -33 -32 -29 -28 -28 -29 -30 -32 -34 -37 -41 -44 -46 -47 -46 -44 -40 -37 -36 -37 -38 -39 -40 -39 -39 -39 -39 -38 -37 -38 -39 -41 -42 -45 -47 -50 -52 -53 -51 -50 -50 -53 -58 -63 -64 -63 -60 -58 -57 -58 -61 -65 -70 -73 -75 -75 -72 -69 -69 -71 -73 -74 -73 -72 -73 -76 -73 -65 -57 -51 -50 -51 -52 -54 -55 -55 -56 -58 -59 -60 -63 -70 -77 -84 -89 -91 -90 -89 -86 -83 -78 -73 -71 -69 -71 -75 -78 -82 -85 -85 -84 -84 -86 -89 -86 -84 -83 -84 -86 -87 -88 -89 -88 -84 -78 -75 -73 -73 -71 -71 -71 -68 -62 -61 -58 -56 -55 -54 -53 -53 -52 -51 -49 -51 -51 -49 -45 -44 -44 -42 -39 -34 -32 -32 -34 -36 -38 -39 -42 -44 -45 -43 -42 -42 -42 -42 -42 -44 -46 -47 -48 -47 -47 -46 -45 -44 -44 -45 -47 -48 -48 -50 -51 -51 -50 -50 -50 -51 -52 -53 -54 -54 -52 -51 -50 -49 -48 -47 -46 -46 -46 -46 -46 -46 -47 -46 -46 -46 -46 -47 -47 -47 -46 -45 -45 -44 -45 -46 -46 -46 -46 -46 -46 -46 -47 -47 -46 -44 -42 -40 -39 -40 -40 -40 -40 -40 -39 -38 -37 -36 -35 -34 -47 -47 -48 -50 -51 -51 -50 -48 -45 -44 -44 -43 -42 -40 -38 -36 -34 -34 -34 -34 -33 -32 -30 -30 -31 -33 -36 -37 -39 -40 -40 -40 -41 -41 -42 -43 -44 -45 -45 -46 -47 -48 -50 -53 -56 -58 -59 -59 -61 -65 -72 -73 -72 -68 -59 -51 -45 -37 -30 -24 -23 -24 -26 -27 -27 -27 -27 -27 -27 -27 -26 -26 -25 -24 -24 -23 -23 -23 -24 -25 -27 -29 -28 -25 -22 -21 -22 -25 -30 -35 -38 -40 -41 -41 -42 -42 -40 -38 -37 -40 -43 -46 -47 -48 -49 -51 -53 -56 -57 -57 -57 -57 -55 -53 -53 -55 -56 -57 -58 -57 -55 -52 -51 -54 -58 -62 -65 -62 -56 -49 -44 -41 -40 -40 -40 -40 -41 -40 -38 -38 -39 -40 -39 -37 -35 -35 -39 -43 -46 -49 -50 -50 -48 -46 -44 -43 -43 -43 -42 -42 -41 -42 -44 -46 -46 -43 -40 -39 -38 -37 -37 -36 -35 -34 -34 -33 -33 -33 -34 -34 -34 -33 -31 -28 -27 -27 -29 -31 -36 -39 -42 -44 -46 -47 -47 -45 -41 -39 -38 -38 -39 -40 -40 -40 -40 -40 -39 -39 -38 -38 -38 -40 -42 -44 -47 -50 -53 -55 -54 -53 -52 -54 -60 -64 -64 -60 -56 -55 -57 -61 -64 -67 -70 -73 -76 -75 -71 -66 -63 -63 -66 -69 -70 -72 -75 -79 -77 -69 -60 -52 -49 -50 -51 -53 -55 -57 -57 -57 -56 -56 -60 -66 -73 -81 -88 -90 -90 -90 -90 -88 -84 -81 -77 -74 -74 -75 -78 -82 -86 -89 -89 -89 -88 -89 -88 -87 -86 -85 -86 -88 -90 -91 -90 -87 -81 -76 -74 -74 -74 -75 -74 -70 -63 -60 -57 -56 -55 -55 -55 -53 -51 -50 -51 -53 -51 -47 -43 -42 -42 -40 -37 -34 -31 -30 -31 -33 -35 -36 -39 -42 -43 -42 -41 -42 -43 -44 -43 -44 -45 -45 -46 -47 -47 -47 -46 -44 -44 -44 -46 -47 -48 -50 -52 -52 -51 -50 -50 -50 -51 -53 -54 -53 -51 -50 -50 -49 -48 -47 -46 -46 -47 -47 -46 -46 -46 -46 -46 -46 -46 -46 -46 -46 -46 -45 -45 -44 -44 -45 -46 -46 -46 -45 -45 -46 -47 -47 -47 -44 -42 -40 -38 -38 -39 -40 -40 -40 -39 -38 -37 -36 -36 -35 -47 -47 -47 -48 -49 -48 -47 -45 -44 -44 -44 -43 -42 -40 -38 -36 -35 -35 -34 -34 -33 -31 -29 -29 -30 -32 -34 -36 -38 -38 -39 -39 -40 -40 -40 -41 -43 -44 -45 -45 -45 -47 -50 -53 -56 -58 -58 -58 -60 -64 -73 -80 -83 -80 -72 -59 -46 -34 -26 -24 -24 -26 -28 -29 -29 -28 -28 -28 -28 -28 -28 -27 -26 -25 -24 -24 -23 -23 -23 -24 -26 -27 -27 -26 -23 -21 -23 -27 -33 -37 -39 -40 -41 -40 -40 -39 -38 -36 -35 -36 -39 -42 -44 -47 -50 -53 -55 -59 -61 -60 -58 -56 -56 -55 -54 -55 -56 -56 -57 -57 -57 -54 -52 -53 -56 -62 -64 -62 -55 -47 -40 -37 -37 -38 -39 -38 -38 -39 -40 -41 -43 -43 -41 -37 -34 -34 -37 -41 -44 -47 -49 -50 -48 -45 -42 -41 -43 -43 -43 -41 -41 -42 -45 -49 -52 -49 -44 -41 -39 -38 -37 -36 -34 -32 -31 -31 -31 -32 -33 -34 -36 -35 -32 -28 -28 -29 -31 -34 -39 -41 -43 -45 -46 -46 -46 -45 -42 -39 -39 -39 -40 -41 -42 -43 -42 -41 -40 -39 -39 -39 -39 -39 -41 -43 -46 -50 -53 -56 -56 -55 -54 -55 -62 -66 -64 -58 -51 -50 -53 -59 -63 -66 -69 -73 -75 -74 -70 -63 -58 -56 -58 -62 -65 -69 -75 -81 -80 -74 -65 -56 -50 -49 -49 -50 -52 -55 -56 -55 -54 -54 -57 -62 -68 -74 -80 -84 -87 -90 -92 -92 -90 -87 -84 -81 -80 -79 -80 -82 -86 -91 -94 -94 -92 -90 -89 -90 -89 -88 -87 -89 -91 -93 -93 -91 -86 -80 -77 -76 -76 -77 -76 -70 -64 -59 -57 -56 -55 -55 -54 -53 -51 -51 -52 -52 -49 -45 -42 -42 -40 -37 -35 -34 -31 -29 -28 -29 -31 -32 -36 -40 -42 -42 -40 -40 -42 -42 -41 -41 -42 -43 -45 -45 -46 -46 -46 -44 -43 -43 -44 -47 -48 -49 -51 -52 -51 -51 -51 -51 -52 -53 -54 -53 -51 -50 -50 -50 -49 -48 -47 -47 -48 -47 -46 -45 -45 -46 -46 -46 -46 -46 -46 -46 -46 -45 -44 -44 -43 -44 -45 -46 -45 -44 -45 -46 -47 -47 -46 -43 -40 -38 -37 -37 -38 -40 -40 -40 -39 -38 -37 -36 -36 -35 -47 -47 -47 -47 -47 -46 -44 -43 -42 -42 -43 -43 -41 -39 -37 -36 -36 -36 -35 -34 -33 -31 -28 -28 -29 -30 -33 -35 -37 -37 -38 -38 -39 -39 -39 -41 -42 -44 -45 -45 -45 -47 -50 -53 -56 -58 -57 -57 -58 -63 -71 -80 -85 -84 -76 -62 -47 -35 -26 -24 -26 -28 -30 -30 -29 -29 -29 -30 -30 -30 -29 -28 -27 -26 -25 -24 -24 -23 -23 -24 -25 -26 -26 -25 -24 -23 -24 -27 -33 -37 -39 -40 -41 -41 -39 -37 -36 -35 -34 -34 -37 -40 -44 -49 -52 -54 -55 -58 -61 -60 -57 -53 -55 -56 -56 -56 -55 -54 -54 -56 -56 -55 -54 -54 -57 -62 -64 -60 -54 -46 -38 -34 -34 -36 -38 -38 -37 -38 -40 -43 -46 -45 -41 -37 -33 -33 -36 -39 -42 -45 -48 -48 -47 -45 -41 -40 -42 -44 -45 -43 -41 -42 -46 -51 -54 -52 -47 -43 -40 -38 -37 -37 -34 -30 -28 -28 -29 -32 -34 -36 -37 -36 -33 -31 -31 -32 -34 -36 -40 -42 -44 -45 -46 -46 -45 -45 -44 -43 -43 -43 -43 -42 -43 -45 -44 -43 -41 -40 -39 -39 -38 -39 -40 -43 -46 -49 -53 -55 -56 -56 -55 -57 -64 -67 -64 -57 -47 -44 -49 -55 -60 -63 -68 -72 -74 -73 -68 -61 -54 -50 -51 -55 -61 -67 -75 -83 -84 -79 -70 -60 -52 -49 -48 -48 -49 -51 -53 -54 -54 -53 -54 -58 -63 -68 -73 -78 -84 -89 -92 -92 -90 -89 -89 -87 -86 -85 -84 -84 -86 -91 -96 -97 -95 -92 -91 -92 -92 -91 -90 -91 -92 -94 -94 -94 -90 -86 -84 -83 -81 -79 -76 -69 -63 -60 -58 -57 -56 -54 -54 -53 -52 -52 -52 -51 -49 -47 -44 -41 -38 -35 -34 -33 -32 -30 -28 -27 -28 -30 -34 -38 -41 -40 -40 -40 -41 -39 -39 -38 -39 -41 -42 -43 -44 -45 -44 -43 -42 -42 -43 -44 -46 -49 -50 -50 -51 -51 -51 -51 -51 -52 -53 -52 -51 -50 -50 -49 -49 -49 -48 -47 -48 -48 -46 -46 -45 -45 -45 -46 -45 -45 -45 -45 -46 -45 -45 -45 -44 -44 -44 -45 -45 -45 -45 -46 -47 -47 -45 -43 -41 -39 -38 -38 -40 -40 -40 -39 -39 -39 -38 -37 -36 -35 -48 -48 -47 -47 -46 -44 -43 -42 -41 -41 -41 -41 -39 -38 -36 -36 -35 -35 -35 -34 -33 -30 -27 -27 -28 -30 -32 -35 -37 -38 -37 -37 -38 -38 -39 -41 -43 -45 -46 -46 -46 -47 -49 -52 -55 -56 -56 -57 -58 -61 -67 -73 -76 -75 -68 -58 -45 -35 -27 -25 -28 -30 -30 -30 -29 -29 -30 -31 -32 -32 -31 -30 -29 -28 -27 -26 -24 -24 -23 -23 -23 -24 -24 -25 -25 -25 -25 -27 -31 -36 -39 -41 -42 -42 -39 -36 -34 -34 -35 -36 -38 -42 -47 -51 -53 -53 -53 -55 -58 -58 -56 -52 -53 -55 -56 -54 -53 -51 -51 -53 -55 -55 -55 -55 -58 -62 -64 -59 -52 -44 -38 -34 -33 -34 -35 -37 -37 -38 -40 -43 -46 -44 -40 -36 -33 -34 -35 -37 -40 -42 -45 -46 -46 -45 -43 -40 -41 -43 -45 -45 -43 -42 -44 -47 -50 -51 -49 -45 -42 -40 -39 -39 -36 -29 -23 -23 -26 -30 -34 -36 -36 -35 -33 -33 -33 -34 -35 -37 -39 -42 -44 -46 -46 -45 -45 -45 -45 -45 -46 -45 -45 -45 -46 -47 -46 -45 -42 -40 -39 -38 -37 -37 -39 -42 -46 -49 -52 -54 -55 -55 -55 -58 -66 -68 -66 -57 -44 -40 -43 -49 -54 -59 -64 -69 -72 -72 -68 -61 -54 -49 -48 -51 -57 -65 -73 -80 -81 -78 -71 -62 -55 -51 -49 -48 -47 -48 -51 -53 -54 -53 -54 -56 -60 -64 -68 -74 -81 -87 -92 -92 -90 -90 -91 -92 -91 -91 -91 -89 -87 -90 -95 -98 -97 -93 -93 -94 -94 -93 -92 -93 -94 -95 -95 -95 -93 -90 -89 -90 -86 -81 -75 -68 -64 -62 -61 -60 -57 -55 -54 -54 -53 -52 -53 -51 -49 -48 -45 -41 -37 -34 -33 -33 -32 -31 -29 -28 -29 -31 -33 -37 -39 -38 -39 -40 -40 -37 -36 -36 -37 -38 -40 -41 -43 -43 -43 -42 -41 -41 -42 -43 -45 -47 -49 -50 -51 -52 -51 -50 -49 -50 -51 -52 -51 -50 -50 -49 -49 -49 -49 -48 -48 -47 -46 -45 -44 -44 -45 -45 -44 -44 -45 -46 -46 -46 -46 -46 -45 -44 -45 -45 -46 -45 -46 -46 -47 -47 -46 -45 -43 -41 -40 -39 -41 -41 -41 -40 -40 -39 -38 -37 -36 -34 -49 -48 -48 -46 -45 -44 -43 -42 -41 -41 -40 -39 -38 -37 -36 -36 -34 -32 -32 -32 -31 -29 -26 -25 -27 -30 -33 -35 -37 -38 -38 -36 -37 -38 -39 -41 -43 -45 -47 -47 -46 -47 -48 -50 -52 -53 -54 -57 -59 -60 -62 -65 -64 -61 -56 -50 -41 -33 -28 -26 -28 -29 -30 -30 -30 -30 -31 -32 -33 -33 -33 -33 -32 -31 -29 -28 -26 -25 -23 -23 -22 -22 -23 -25 -27 -27 -26 -27 -30 -35 -39 -41 -42 -42 -39 -35 -33 -33 -36 -39 -42 -46 -50 -51 -52 -51 -51 -52 -54 -55 -55 -53 -53 -54 -53 -52 -50 -49 -49 -51 -53 -55 -55 -57 -59 -61 -61 -56 -49 -43 -38 -35 -33 -32 -33 -35 -36 -37 -39 -43 -45 -42 -38 -35 -33 -35 -36 -37 -38 -39 -41 -43 -44 -44 -43 -41 -41 -42 -43 -44 -44 -44 -43 -43 -45 -46 -47 -46 -45 -42 -41 -41 -38 -30 -21 -18 -21 -27 -33 -35 -36 -35 -34 -34 -35 -36 -37 -36 -37 -40 -43 -45 -46 -45 -45 -45 -46 -46 -47 -47 -47 -47 -47 -48 -48 -47 -44 -40 -38 -37 -37 -37 -39 -41 -44 -48 -51 -53 -54 -55 -56 -59 -65 -69 -67 -58 -42 -37 -39 -44 -48 -53 -59 -64 -67 -67 -65 -61 -56 -51 -49 -50 -53 -59 -67 -72 -73 -70 -65 -60 -57 -54 -52 -50 -48 -49 -50 -53 -54 -55 -54 -55 -57 -61 -66 -72 -78 -85 -91 -92 -92 -92 -93 -94 -96 -98 -99 -97 -91 -90 -93 -97 -97 -94 -94 -95 -95 -93 -93 -93 -94 -96 -96 -96 -95 -94 -93 -93 -89 -84 -78 -72 -67 -64 -63 -63 -59 -56 -55 -54 -52 -51 -52 -50 -47 -46 -44 -40 -37 -33 -33 -33 -33 -32 -31 -31 -33 -33 -34 -36 -37 -37 -38 -38 -38 -35 -35 -35 -36 -37 -40 -42 -43 -43 -44 -42 -40 -40 -41 -44 -46 -47 -48 -50 -51 -51 -51 -49 -47 -48 -50 -51 -50 -50 -49 -49 -49 -49 -49 -48 -47 -47 -46 -45 -44 -44 -44 -44 -44 -44 -45 -46 -46 -46 -46 -46 -45 -45 -45 -46 -46 -46 -47 -47 -46 -46 -46 -45 -45 -44 -43 -42 -42 -42 -42 -41 -41 -40 -39 -37 -35 -34 -48 -48 -47 -46 -45 -45 -44 -43 -42 -41 -40 -38 -36 -36 -36 -36 -35 -31 -30 -29 -29 -28 -25 -23 -24 -28 -33 -36 -38 -39 -38 -36 -35 -37 -39 -41 -43 -45 -46 -47 -46 -46 -47 -47 -48 -48 -51 -55 -59 -61 -61 -60 -58 -54 -49 -45 -38 -32 -28 -27 -29 -30 -30 -31 -32 -33 -34 -35 -35 -36 -36 -36 -35 -34 -33 -31 -29 -27 -24 -23 -22 -22 -23 -24 -27 -28 -28 -28 -31 -36 -40 -42 -43 -41 -38 -35 -32 -33 -38 -43 -47 -49 -51 -50 -48 -48 -49 -50 -51 -53 -55 -56 -56 -55 -53 -51 -48 -47 -48 -50 -53 -55 -56 -57 -58 -58 -57 -52 -47 -42 -39 -36 -34 -32 -31 -31 -33 -35 -39 -42 -44 -40 -36 -33 -33 -36 -37 -37 -37 -36 -38 -41 -42 -43 -43 -41 -41 -41 -42 -42 -44 -44 -43 -42 -42 -44 -46 -48 -48 -45 -43 -42 -38 -30 -21 -17 -18 -23 -27 -30 -31 -33 -33 -34 -35 -37 -38 -36 -35 -37 -40 -43 -45 -45 -45 -46 -47 -47 -48 -48 -48 -47 -47 -48 -49 -48 -46 -42 -40 -38 -38 -38 -39 -41 -43 -45 -48 -50 -52 -54 -56 -59 -64 -69 -68 -59 -42 -35 -36 -41 -45 -48 -53 -57 -60 -59 -59 -58 -57 -55 -54 -52 -53 -55 -61 -65 -65 -62 -58 -55 -54 -55 -55 -54 -53 -52 -52 -52 -54 -56 -55 -55 -56 -59 -65 -71 -77 -83 -90 -93 -93 -93 -94 -96 -99 -102 -105 -104 -97 -92 -93 -96 -97 -94 -93 -93 -93 -92 -91 -91 -93 -95 -96 -97 -97 -96 -95 -94 -91 -86 -81 -78 -73 -68 -64 -64 -60 -57 -55 -54 -53 -50 -50 -48 -46 -45 -44 -41 -37 -33 -32 -33 -33 -33 -32 -33 -34 -34 -35 -36 -37 -37 -37 -36 -35 -34 -35 -35 -35 -37 -39 -42 -43 -43 -45 -43 -40 -39 -41 -44 -46 -46 -47 -48 -50 -50 -50 -48 -46 -47 -49 -48 -47 -48 -48 -48 -49 -49 -48 -48 -47 -47 -47 -46 -45 -44 -43 -44 -44 -44 -45 -45 -45 -46 -46 -46 -45 -45 -45 -45 -46 -47 -47 -46 -46 -46 -45 -45 -45 -45 -45 -44 -44 -44 -44 -42 -41 -39 -39 -37 -35 -34 -48 -48 -47 -47 -46 -46 -45 -45 -44 -42 -40 -38 -35 -35 -36 -37 -36 -31 -28 -28 -28 -28 -24 -21 -21 -25 -30 -35 -39 -40 -39 -36 -33 -34 -37 -40 -42 -44 -45 -46 -46 -47 -48 -47 -46 -45 -47 -52 -57 -62 -62 -61 -57 -53 -49 -43 -36 -30 -28 -29 -30 -31 -33 -34 -36 -37 -39 -39 -40 -39 -39 -39 -38 -37 -35 -34 -33 -32 -29 -26 -23 -22 -22 -23 -26 -28 -29 -30 -34 -38 -41 -43 -43 -41 -37 -34 -33 -35 -41 -45 -47 -49 -50 -48 -47 -47 -50 -53 -53 -55 -56 -59 -60 -59 -56 -51 -47 -47 -49 -52 -55 -57 -57 -56 -55 -54 -53 -50 -45 -42 -39 -38 -36 -33 -30 -29 -30 -33 -37 -41 -43 -38 -35 -33 -33 -36 -38 -38 -37 -35 -36 -39 -41 -41 -40 -39 -39 -40 -42 -41 -42 -43 -44 -43 -43 -43 -45 -48 -50 -49 -45 -40 -34 -26 -20 -17 -18 -20 -23 -27 -30 -33 -33 -34 -36 -37 -37 -36 -36 -38 -40 -42 -45 -45 -45 -46 -47 -48 -49 -49 -49 -47 -47 -47 -48 -48 -48 -45 -42 -40 -39 -39 -39 -40 -42 -44 -47 -49 -52 -55 -57 -60 -64 -68 -69 -60 -43 -34 -34 -40 -44 -44 -46 -49 -52 -53 -55 -57 -59 -62 -61 -57 -54 -54 -58 -61 -61 -58 -54 -51 -53 -54 -55 -55 -54 -55 -55 -54 -54 -56 -57 -57 -57 -58 -64 -71 -77 -82 -88 -91 -92 -92 -93 -96 -100 -104 -106 -104 -98 -93 -91 -92 -93 -92 -91 -89 -89 -88 -87 -88 -91 -94 -96 -98 -98 -96 -95 -94 -91 -87 -82 -81 -77 -71 -66 -63 -60 -58 -57 -56 -55 -50 -48 -46 -45 -45 -44 -42 -38 -33 -32 -32 -32 -33 -34 -34 -34 -34 -35 -36 -37 -38 -37 -35 -34 -34 -35 -35 -34 -36 -38 -40 -42 -42 -44 -43 -40 -38 -40 -42 -43 -44 -45 -47 -48 -49 -49 -47 -46 -46 -48 -47 -46 -46 -46 -47 -49 -48 -48 -47 -47 -47 -47 -46 -45 -44 -43 -43 -44 -44 -44 -45 -45 -46 -46 -46 -45 -45 -45 -45 -46 -47 -46 -46 -46 -46 -46 -46 -46 -45 -46 -46 -46 -46 -46 -43 -41 -40 -40 -39 -36 -33 -48 -48 -48 -47 -47 -46 -46 -46 -45 -44 -42 -39 -35 -34 -35 -37 -38 -33 -29 -28 -28 -28 -24 -20 -19 -20 -25 -31 -36 -39 -39 -37 -33 -32 -34 -37 -40 -42 -43 -44 -46 -48 -50 -49 -45 -44 -46 -50 -55 -60 -63 -62 -58 -53 -48 -40 -33 -30 -30 -31 -32 -33 -34 -36 -38 -40 -42 -44 -45 -44 -43 -41 -40 -38 -36 -35 -35 -36 -36 -32 -28 -24 -22 -22 -24 -27 -29 -31 -35 -39 -42 -44 -44 -41 -37 -35 -35 -39 -44 -47 -48 -48 -48 -46 -46 -48 -51 -52 -54 -57 -60 -63 -64 -62 -58 -53 -49 -48 -51 -54 -56 -56 -55 -54 -53 -52 -51 -48 -45 -41 -39 -39 -37 -35 -32 -29 -29 -31 -35 -38 -39 -36 -33 -32 -34 -36 -37 -38 -37 -35 -35 -37 -38 -37 -36 -35 -37 -38 -40 -40 -41 -43 -45 -46 -45 -44 -46 -48 -51 -49 -44 -37 -31 -24 -20 -18 -18 -19 -22 -25 -29 -31 -33 -34 -36 -37 -37 -37 -37 -38 -40 -42 -44 -45 -46 -47 -48 -49 -50 -50 -49 -48 -47 -46 -47 -48 -48 -46 -44 -42 -40 -40 -40 -41 -42 -44 -47 -50 -53 -57 -59 -60 -62 -66 -67 -62 -46 -36 -32 -35 -40 -42 -43 -44 -47 -52 -57 -60 -63 -67 -67 -62 -56 -54 -56 -60 -60 -57 -51 -48 -50 -53 -55 -55 -54 -55 -57 -58 -56 -57 -60 -61 -61 -61 -65 -71 -77 -82 -86 -88 -90 -91 -92 -95 -100 -103 -104 -102 -96 -91 -90 -90 -90 -90 -89 -87 -86 -83 -82 -83 -87 -90 -95 -98 -98 -96 -95 -93 -90 -86 -83 -82 -78 -73 -68 -64 -62 -59 -57 -56 -54 -50 -47 -45 -44 -44 -43 -41 -37 -34 -32 -32 -31 -32 -35 -34 -33 -32 -32 -35 -38 -38 -38 -36 -35 -35 -35 -35 -34 -35 -36 -38 -40 -41 -42 -42 -41 -39 -40 -41 -40 -40 -43 -45 -47 -48 -48 -46 -45 -46 -47 -47 -46 -46 -46 -47 -47 -47 -47 -47 -47 -46 -46 -46 -45 -44 -44 -43 -43 -44 -45 -45 -45 -45 -46 -47 -46 -46 -45 -45 -46 -46 -46 -45 -45 -46 -47 -46 -46 -45 -46 -47 -48 -47 -47 -45 -43 -42 -42 -40 -37 -35 -47 -47 -47 -47 -47 -47 -47 -46 -46 -45 -43 -40 -37 -35 -35 -36 -37 -35 -31 -29 -28 -27 -24 -20 -18 -18 -20 -23 -27 -31 -34 -35 -32 -31 -31 -34 -37 -39 -41 -42 -44 -46 -47 -46 -44 -43 -46 -50 -54 -59 -61 -60 -57 -53 -48 -40 -35 -33 -33 -33 -34 -34 -35 -37 -39 -40 -42 -44 -47 -48 -47 -45 -43 -41 -38 -36 -36 -38 -40 -39 -35 -30 -26 -24 -26 -28 -30 -32 -34 -37 -41 -45 -47 -44 -40 -37 -38 -42 -46 -47 -46 -46 -45 -45 -47 -50 -52 -53 -54 -57 -60 -62 -65 -64 -60 -54 -50 -51 -54 -56 -57 -54 -53 -53 -53 -51 -49 -46 -43 -40 -39 -39 -38 -37 -34 -31 -31 -32 -33 -35 -35 -33 -32 -32 -33 -35 -36 -38 -38 -37 -35 -34 -34 -34 -34 -34 -35 -36 -37 -39 -42 -45 -48 -48 -46 -45 -45 -46 -47 -43 -37 -31 -27 -24 -22 -20 -19 -20 -22 -24 -27 -30 -32 -32 -34 -37 -38 -38 -38 -39 -40 -42 -44 -45 -46 -46 -48 -49 -50 -49 -49 -47 -46 -46 -46 -48 -48 -47 -46 -44 -42 -41 -41 -42 -44 -46 -49 -52 -56 -58 -60 -60 -61 -63 -64 -62 -50 -39 -32 -31 -34 -37 -39 -41 -43 -48 -53 -57 -61 -69 -71 -66 -59 -53 -53 -58 -59 -55 -49 -46 -47 -50 -55 -55 -53 -54 -57 -60 -59 -60 -63 -65 -64 -63 -66 -71 -76 -80 -84 -86 -89 -91 -92 -94 -98 -102 -102 -99 -92 -88 -87 -89 -88 -88 -87 -87 -85 -82 -80 -81 -85 -88 -93 -97 -98 -96 -94 -91 -88 -85 -84 -83 -79 -75 -71 -67 -64 -61 -59 -56 -53 -50 -47 -45 -44 -42 -40 -38 -36 -34 -33 -32 -31 -31 -34 -34 -33 -31 -31 -34 -37 -38 -38 -37 -38 -37 -37 -36 -34 -35 -36 -36 -37 -39 -40 -41 -41 -40 -40 -40 -39 -38 -40 -43 -45 -46 -47 -45 -44 -45 -47 -47 -46 -45 -46 -46 -46 -46 -47 -47 -47 -46 -45 -45 -45 -45 -44 -43 -43 -44 -45 -45 -45 -45 -46 -47 -47 -46 -46 -46 -46 -46 -45 -45 -45 -46 -46 -46 -45 -44 -46 -48 -48 -47 -47 -46 -45 -43 -43 -42 -39 -37 -47 -46 -46 -46 -46 -47 -47 -47 -47 -46 -45 -42 -39 -37 -37 -37 -37 -36 -33 -30 -27 -26 -24 -21 -19 -19 -19 -20 -23 -26 -29 -30 -30 -30 -31 -33 -36 -38 -40 -41 -43 -45 -45 -44 -43 -42 -44 -48 -52 -56 -58 -55 -53 -51 -49 -43 -41 -39 -38 -36 -35 -35 -36 -37 -39 -41 -43 -45 -48 -50 -51 -49 -47 -44 -41 -38 -37 -38 -40 -41 -39 -36 -33 -31 -32 -32 -33 -34 -34 -35 -38 -43 -47 -46 -43 -41 -42 -44 -45 -44 -44 -44 -44 -46 -49 -52 -54 -54 -55 -56 -57 -59 -63 -63 -60 -55 -51 -54 -57 -58 -57 -53 -52 -53 -53 -51 -47 -44 -41 -40 -39 -39 -39 -38 -36 -35 -35 -36 -37 -36 -32 -29 -28 -29 -31 -33 -34 -36 -38 -39 -35 -32 -30 -30 -32 -33 -33 -35 -36 -39 -43 -48 -50 -49 -47 -45 -43 -41 -39 -34 -28 -24 -23 -24 -24 -23 -21 -21 -23 -25 -26 -29 -31 -31 -32 -35 -37 -38 -39 -40 -41 -43 -44 -46 -47 -47 -47 -48 -49 -49 -49 -48 -47 -47 -47 -47 -48 -48 -47 -46 -44 -42 -42 -43 -46 -49 -52 -54 -57 -58 -59 -58 -59 -60 -62 -62 -54 -43 -35 -32 -32 -33 -35 -37 -38 -41 -45 -50 -54 -61 -64 -62 -55 -48 -49 -53 -55 -54 -49 -46 -45 -48 -52 -54 -52 -52 -54 -57 -57 -59 -63 -66 -66 -64 -66 -70 -76 -81 -84 -87 -88 -90 -91 -94 -97 -99 -100 -96 -89 -85 -85 -87 -87 -87 -87 -88 -88 -85 -83 -84 -86 -88 -93 -96 -97 -97 -92 -89 -87 -85 -84 -83 -79 -76 -73 -70 -67 -64 -61 -57 -53 -50 -47 -46 -44 -42 -39 -37 -35 -36 -35 -33 -32 -31 -32 -33 -33 -33 -32 -34 -37 -37 -37 -38 -39 -39 -38 -37 -35 -35 -35 -35 -36 -37 -38 -39 -40 -38 -38 -38 -38 -38 -39 -41 -43 -44 -44 -43 -44 -46 -47 -47 -46 -46 -45 -45 -45 -46 -46 -46 -46 -45 -44 -44 -45 -45 -44 -44 -43 -44 -45 -45 -45 -44 -45 -46 -46 -46 -46 -46 -46 -45 -45 -44 -44 -45 -46 -45 -44 -44 -46 -47 -48 -48 -47 -46 -45 -44 -43 -42 -40 -39 -45 -45 -44 -45 -46 -47 -48 -47 -48 -47 -46 -44 -42 -42 -43 -42 -40 -36 -34 -31 -28 -25 -25 -23 -21 -21 -21 -21 -23 -26 -28 -30 -29 -30 -31 -34 -38 -40 -41 -41 -42 -43 -43 -43 -42 -41 -43 -46 -51 -54 -54 -52 -50 -49 -48 -46 -47 -48 -46 -41 -39 -39 -40 -40 -41 -43 -46 -49 -52 -53 -52 -51 -49 -46 -43 -40 -39 -38 -39 -41 -41 -40 -39 -39 -39 -38 -38 -37 -36 -35 -37 -40 -45 -46 -45 -44 -44 -45 -44 -42 -42 -43 -45 -47 -49 -52 -54 -54 -54 -54 -54 -57 -60 -61 -59 -55 -52 -56 -58 -59 -57 -53 -52 -52 -53 -51 -46 -42 -39 -38 -38 -39 -39 -39 -38 -37 -40 -42 -42 -37 -29 -23 -22 -25 -28 -30 -32 -35 -37 -39 -36 -31 -27 -27 -29 -32 -33 -35 -38 -41 -43 -46 -47 -47 -45 -43 -40 -36 -34 -30 -27 -24 -23 -25 -25 -24 -22 -21 -23 -24 -26 -27 -30 -31 -32 -33 -36 -38 -39 -41 -43 -44 -45 -47 -48 -48 -48 -48 -49 -49 -49 -48 -48 -48 -48 -48 -48 -48 -48 -47 -46 -44 -44 -45 -47 -50 -52 -54 -56 -58 -56 -56 -56 -58 -61 -62 -57 -50 -42 -37 -35 -33 -33 -34 -36 -38 -41 -44 -48 -53 -56 -56 -53 -49 -49 -52 -54 -53 -50 -46 -45 -46 -49 -50 -49 -50 -51 -52 -53 -58 -63 -67 -66 -66 -67 -69 -74 -80 -86 -89 -89 -88 -88 -91 -94 -96 -97 -93 -88 -83 -82 -84 -85 -86 -88 -90 -91 -90 -88 -87 -87 -89 -93 -96 -98 -96 -89 -86 -84 -83 -81 -81 -79 -78 -75 -73 -70 -68 -64 -59 -55 -51 -47 -45 -44 -43 -42 -39 -37 -37 -37 -36 -34 -32 -32 -33 -34 -36 -36 -37 -37 -37 -36 -37 -39 -39 -39 -38 -36 -35 -34 -34 -36 -37 -37 -38 -38 -36 -35 -35 -36 -38 -40 -41 -43 -44 -43 -42 -43 -45 -47 -47 -47 -46 -45 -44 -44 -45 -45 -45 -45 -45 -44 -44 -45 -45 -44 -44 -43 -44 -45 -45 -44 -44 -45 -46 -46 -46 -45 -45 -45 -44 -44 -44 -44 -44 -45 -44 -44 -44 -45 -47 -48 -48 -47 -46 -44 -43 -43 -42 -41 -40 -43 -42 -43 -44 -46 -48 -48 -48 -48 -47 -46 -45 -44 -45 -47 -48 -45 -39 -35 -32 -30 -28 -27 -26 -26 -25 -24 -23 -23 -25 -27 -28 -30 -31 -33 -34 -38 -42 -43 -43 -43 -42 -42 -41 -41 -41 -41 -45 -49 -52 -53 -50 -47 -46 -45 -47 -50 -53 -52 -48 -46 -46 -47 -47 -47 -49 -51 -55 -57 -55 -53 -51 -48 -46 -43 -42 -41 -40 -40 -42 -43 -43 -42 -42 -43 -42 -39 -37 -36 -36 -37 -39 -42 -44 -45 -45 -45 -45 -42 -40 -41 -44 -47 -48 -49 -50 -52 -53 -52 -52 -52 -55 -59 -60 -57 -54 -54 -58 -60 -60 -57 -53 -52 -52 -52 -51 -46 -41 -38 -37 -38 -38 -38 -38 -38 -39 -43 -47 -47 -40 -27 -19 -18 -21 -25 -28 -31 -33 -35 -36 -34 -31 -28 -27 -29 -32 -33 -35 -39 -42 -42 -41 -41 -42 -45 -43 -39 -36 -34 -31 -27 -24 -23 -25 -25 -24 -22 -21 -22 -23 -25 -26 -28 -30 -31 -33 -35 -37 -40 -43 -46 -47 -46 -47 -48 -49 -49 -49 -49 -49 -49 -49 -49 -49 -49 -49 -49 -48 -48 -47 -46 -45 -45 -46 -47 -50 -53 -54 -56 -56 -54 -53 -54 -56 -60 -62 -61 -56 -50 -44 -41 -37 -35 -34 -37 -39 -40 -42 -44 -49 -52 -54 -53 -51 -50 -50 -50 -50 -48 -47 -47 -47 -47 -47 -49 -51 -53 -52 -52 -56 -61 -66 -67 -68 -69 -71 -73 -79 -84 -87 -88 -87 -87 -89 -91 -91 -91 -89 -85 -82 -80 -82 -83 -85 -88 -90 -92 -92 -91 -89 -87 -89 -93 -96 -98 -95 -89 -85 -84 -82 -81 -81 -80 -79 -77 -75 -73 -70 -66 -62 -57 -53 -49 -46 -44 -44 -43 -42 -41 -40 -40 -40 -38 -36 -34 -34 -35 -38 -39 -39 -39 -37 -36 -36 -37 -38 -39 -38 -37 -36 -35 -35 -38 -38 -38 -37 -37 -35 -33 -32 -34 -38 -40 -42 -44 -45 -42 -42 -43 -44 -45 -46 -47 -46 -45 -44 -45 -45 -45 -44 -44 -44 -44 -44 -45 -45 -43 -43 -43 -44 -44 -44 -44 -44 -44 -45 -45 -45 -45 -44 -44 -43 -43 -42 -43 -43 -43 -43 -43 -44 -44 -45 -47 -48 -47 -46 -44 -42 -43 -42 -41 -40 -41 -41 -42 -44 -45 -47 -48 -48 -47 -46 -46 -45 -45 -45 -48 -50 -48 -41 -36 -33 -31 -31 -32 -32 -32 -31 -29 -27 -27 -26 -26 -26 -31 -34 -35 -34 -37 -40 -42 -43 -43 -43 -41 -41 -41 -42 -42 -44 -48 -51 -51 -48 -45 -43 -43 -46 -51 -53 -54 -53 -52 -53 -55 -55 -54 -54 -57 -59 -61 -57 -53 -50 -47 -45 -43 -43 -42 -42 -42 -44 -45 -45 -43 -41 -40 -39 -36 -34 -33 -35 -37 -38 -40 -41 -43 -43 -44 -44 -42 -41 -43 -46 -48 -48 -49 -50 -51 -51 -50 -50 -51 -55 -59 -59 -56 -54 -55 -60 -62 -60 -57 -52 -51 -51 -51 -50 -46 -42 -39 -38 -38 -38 -38 -38 -37 -38 -43 -49 -51 -45 -29 -19 -16 -18 -22 -26 -29 -30 -32 -32 -31 -30 -28 -28 -29 -32 -34 -36 -39 -40 -37 -35 -35 -40 -46 -46 -42 -36 -34 -31 -29 -27 -25 -25 -25 -24 -22 -21 -22 -23 -24 -26 -28 -29 -30 -32 -35 -38 -40 -43 -46 -48 -48 -47 -47 -48 -49 -49 -49 -49 -49 -49 -49 -49 -49 -49 -49 -48 -47 -46 -45 -45 -45 -46 -48 -50 -52 -53 -54 -53 -53 -52 -53 -55 -58 -62 -64 -62 -56 -49 -46 -42 -38 -37 -38 -41 -42 -43 -43 -45 -48 -49 -50 -51 -50 -49 -48 -46 -45 -45 -46 -46 -46 -47 -50 -53 -54 -52 -52 -54 -58 -63 -67 -71 -73 -75 -74 -77 -81 -84 -86 -86 -87 -89 -90 -91 -89 -86 -82 -79 -78 -79 -80 -83 -87 -90 -91 -92 -92 -91 -88 -89 -92 -95 -97 -94 -89 -86 -85 -84 -83 -81 -80 -79 -79 -76 -74 -71 -68 -64 -60 -56 -53 -49 -45 -43 -43 -43 -44 -43 -42 -42 -42 -40 -38 -36 -36 -38 -40 -40 -40 -38 -36 -36 -36 -36 -37 -38 -38 -37 -36 -37 -38 -38 -37 -37 -38 -35 -33 -32 -33 -37 -39 -42 -44 -44 -42 -41 -41 -43 -44 -45 -46 -46 -45 -45 -45 -45 -45 -44 -44 -43 -43 -43 -44 -43 -43 -42 -43 -43 -44 -45 -45 -44 -45 -45 -45 -45 -45 -44 -43 -43 -43 -42 -42 -42 -42 -42 -43 -43 -44 -44 -46 -47 -48 -47 -45 -43 -43 -42 -41 -40 -40 -40 -41 -43 -45 -46 -46 -46 -46 -46 -46 -45 -44 -44 -46 -48 -47 -42 -38 -34 -32 -31 -33 -35 -37 -37 -36 -34 -32 -29 -26 -26 -32 -36 -36 -35 -35 -38 -39 -40 -42 -43 -41 -40 -40 -43 -45 -47 -48 -49 -48 -45 -42 -40 -41 -45 -50 -53 -54 -55 -55 -56 -57 -58 -58 -58 -59 -60 -60 -56 -52 -49 -47 -44 -43 -44 -44 -43 -42 -43 -45 -45 -45 -44 -40 -38 -36 -34 -35 -37 -39 -40 -40 -41 -42 -43 -42 -42 -42 -43 -45 -47 -49 -49 -49 -50 -50 -50 -50 -50 -51 -54 -56 -56 -54 -53 -55 -61 -63 -62 -57 -52 -49 -49 -48 -47 -44 -41 -40 -40 -39 -39 -38 -37 -37 -37 -42 -49 -53 -50 -34 -22 -17 -18 -20 -23 -26 -28 -29 -29 -29 -29 -29 -29 -29 -32 -35 -38 -40 -38 -33 -30 -31 -37 -45 -46 -43 -36 -31 -28 -27 -26 -26 -26 -25 -24 -22 -21 -22 -23 -24 -25 -26 -29 -32 -34 -36 -38 -40 -43 -46 -49 -50 -49 -48 -48 -49 -49 -49 -48 -49 -49 -50 -50 -49 -49 -48 -48 -46 -45 -44 -44 -45 -46 -47 -49 -51 -51 -52 -52 -53 -53 -53 -54 -57 -60 -64 -64 -59 -51 -46 -44 -42 -41 -41 -43 -45 -46 -45 -44 -44 -45 -47 -49 -49 -47 -45 -43 -41 -43 -45 -46 -46 -47 -51 -55 -57 -55 -55 -56 -58 -62 -67 -72 -76 -78 -76 -76 -78 -82 -85 -86 -88 -89 -91 -92 -90 -85 -81 -79 -77 -77 -78 -81 -85 -89 -90 -91 -92 -92 -90 -89 -91 -94 -95 -92 -89 -87 -86 -85 -84 -82 -82 -81 -79 -77 -74 -72 -70 -66 -63 -60 -58 -53 -47 -44 -43 -43 -44 -43 -43 -44 -44 -43 -42 -40 -39 -36 -39 -40 -40 -40 -37 -36 -35 -35 -35 -37 -37 -37 -37 -39 -39 -38 -37 -37 -38 -37 -35 -33 -32 -36 -38 -41 -44 -43 -41 -40 -40 -41 -42 -44 -45 -45 -44 -45 -45 -44 -44 -44 -43 -42 -42 -42 -43 -42 -42 -42 -42 -43 -44 -45 -45 -45 -45 -45 -45 -44 -45 -44 -43 -43 -42 -42 -41 -41 -41 -41 -42 -43 -43 -44 -45 -47 -48 -48 -47 -45 -44 -43 -41 -39 -40 -40 -41 -43 -44 -44 -44 -44 -45 -46 -46 -44 -43 -42 -43 -44 -45 -41 -39 -35 -31 -30 -30 -33 -35 -38 -40 -40 -35 -31 -28 -27 -31 -34 -36 -37 -38 -39 -38 -37 -38 -41 -40 -39 -40 -43 -50 -52 -52 -49 -45 -42 -39 -37 -38 -42 -47 -50 -53 -54 -53 -53 -54 -56 -58 -59 -60 -60 -58 -54 -50 -48 -46 -44 -44 -45 -44 -43 -42 -41 -41 -42 -42 -42 -37 -33 -30 -32 -37 -42 -44 -44 -42 -42 -43 -43 -42 -41 -43 -45 -47 -49 -50 -51 -52 -52 -51 -50 -49 -49 -49 -52 -55 -54 -52 -52 -56 -61 -65 -65 -60 -53 -49 -47 -46 -44 -41 -40 -40 -40 -40 -39 -38 -37 -36 -36 -41 -48 -53 -52 -40 -28 -21 -20 -19 -21 -24 -26 -27 -27 -29 -30 -29 -29 -29 -32 -36 -40 -41 -37 -31 -28 -29 -35 -42 -43 -41 -36 -31 -26 -25 -24 -25 -25 -24 -23 -21 -19 -20 -22 -24 -25 -27 -31 -34 -36 -37 -38 -41 -44 -47 -50 -51 -50 -49 -49 -49 -49 -49 -48 -48 -49 -49 -50 -49 -49 -47 -46 -46 -46 -45 -45 -44 -45 -46 -48 -50 -50 -51 -52 -54 -56 -56 -55 -55 -58 -61 -62 -61 -56 -51 -49 -47 -46 -47 -47 -48 -49 -49 -47 -45 -44 -46 -47 -46 -45 -43 -41 -40 -41 -43 -45 -44 -45 -49 -54 -58 -59 -61 -62 -63 -64 -67 -71 -75 -79 -79 -78 -79 -81 -85 -87 -87 -89 -92 -93 -90 -84 -80 -78 -78 -77 -77 -79 -84 -89 -90 -91 -92 -92 -90 -90 -92 -94 -94 -91 -89 -88 -88 -88 -86 -85 -84 -83 -79 -77 -75 -73 -72 -69 -66 -64 -61 -57 -51 -47 -45 -44 -43 -43 -44 -46 -46 -44 -43 -42 -39 -37 -38 -39 -39 -41 -39 -38 -36 -35 -35 -37 -37 -37 -38 -40 -40 -39 -38 -38 -39 -39 -38 -36 -33 -35 -38 -41 -43 -41 -40 -39 -39 -39 -39 -41 -42 -43 -43 -44 -44 -44 -43 -42 -42 -41 -40 -40 -41 -41 -41 -41 -42 -43 -44 -45 -45 -46 -46 -45 -45 -45 -45 -44 -44 -43 -42 -42 -41 -41 -41 -41 -42 -42 -42 -43 -45 -48 -49 -50 -48 -47 -45 -44 -43 -41 -39 -40 -41 -43 -43 -43 -43 -43 -44 -45 -44 -43 -42 -42 -41 -41 -41 -40 -39 -36 -32 -29 -28 -29 -30 -34 -38 -39 -35 -31 -29 -29 -31 -33 -35 -37 -38 -40 -38 -36 -36 -40 -41 -40 -41 -45 -51 -54 -54 -51 -46 -42 -38 -35 -35 -38 -42 -46 -48 -50 -51 -52 -53 -55 -57 -58 -58 -57 -55 -52 -49 -47 -45 -45 -46 -47 -46 -44 -42 -41 -40 -39 -38 -36 -33 -30 -29 -31 -37 -41 -43 -43 -42 -43 -44 -44 -43 -42 -43 -45 -47 -50 -52 -53 -53 -51 -50 -49 -47 -47 -48 -51 -54 -54 -53 -54 -58 -61 -66 -67 -65 -56 -50 -46 -44 -42 -39 -38 -38 -39 -40 -39 -37 -36 -35 -36 -40 -45 -50 -50 -42 -33 -25 -21 -21 -21 -23 -24 -26 -27 -28 -29 -29 -28 -28 -30 -34 -39 -41 -37 -31 -28 -29 -34 -39 -39 -37 -35 -32 -27 -24 -23 -24 -24 -24 -23 -21 -19 -19 -21 -24 -26 -29 -33 -36 -38 -39 -40 -42 -44 -47 -49 -51 -52 -52 -50 -49 -48 -47 -47 -47 -48 -48 -49 -49 -49 -47 -46 -46 -47 -47 -45 -44 -44 -45 -47 -49 -50 -51 -52 -56 -58 -58 -56 -55 -57 -59 -61 -62 -59 -54 -51 -49 -49 -50 -51 -51 -51 -50 -48 -46 -45 -45 -45 -44 -43 -42 -40 -39 -40 -42 -44 -44 -45 -48 -52 -56 -61 -66 -68 -68 -66 -67 -70 -75 -79 -82 -83 -84 -85 -86 -87 -87 -88 -90 -92 -88 -83 -78 -76 -78 -79 -79 -81 -85 -89 -91 -91 -91 -91 -89 -90 -91 -93 -92 -91 -90 -90 -91 -91 -89 -87 -86 -84 -81 -78 -76 -74 -73 -70 -67 -65 -62 -60 -56 -52 -49 -48 -45 -45 -46 -48 -47 -44 -43 -41 -38 -37 -37 -37 -38 -41 -39 -38 -38 -37 -36 -38 -38 -39 -39 -39 -40 -40 -39 -39 -39 -40 -39 -37 -35 -35 -37 -40 -41 -39 -39 -39 -39 -38 -36 -38 -40 -41 -41 -42 -43 -43 -42 -41 -40 -39 -38 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -46 -46 -46 -45 -45 -45 -45 -44 -44 -43 -42 -41 -41 -40 -41 -42 -42 -43 -44 -46 -48 -49 -50 -49 -48 -46 -45 -44 -42 -38 -40 -42 -43 -43 -43 -42 -42 -42 -43 -43 -42 -42 -43 -43 -41 -40 -39 -38 -35 -33 -30 -28 -27 -27 -29 -31 -33 -32 -32 -31 -31 -31 -33 -35 -37 -38 -40 -40 -39 -38 -39 -40 -40 -42 -46 -52 -54 -53 -50 -46 -41 -37 -35 -35 -36 -39 -42 -46 -49 -50 -51 -53 -54 -56 -56 -55 -53 -51 -49 -47 -46 -46 -47 -49 -50 -49 -48 -46 -45 -44 -43 -40 -36 -32 -31 -32 -34 -37 -39 -40 -41 -43 -44 -45 -44 -43 -42 -43 -46 -49 -51 -54 -55 -53 -50 -48 -46 -44 -44 -47 -52 -54 -54 -55 -57 -60 -62 -65 -68 -67 -60 -51 -45 -41 -39 -37 -36 -36 -37 -38 -37 -36 -35 -34 -35 -39 -43 -45 -46 -42 -36 -30 -25 -22 -22 -23 -24 -25 -25 -26 -26 -27 -27 -27 -28 -32 -36 -40 -37 -32 -29 -28 -31 -34 -34 -32 -31 -30 -27 -25 -23 -24 -24 -24 -23 -22 -20 -20 -21 -24 -27 -31 -35 -37 -39 -40 -41 -43 -45 -47 -49 -52 -53 -54 -54 -51 -49 -46 -45 -45 -47 -47 -48 -48 -48 -46 -45 -45 -46 -46 -45 -44 -44 -45 -48 -50 -52 -52 -53 -56 -58 -58 -56 -55 -57 -59 -60 -59 -57 -54 -52 -52 -52 -53 -54 -54 -53 -50 -47 -45 -44 -45 -44 -44 -43 -42 -40 -39 -40 -41 -43 -45 -48 -50 -52 -54 -60 -66 -70 -71 -70 -70 -73 -76 -80 -83 -84 -86 -88 -89 -89 -87 -87 -87 -88 -86 -81 -76 -74 -77 -81 -83 -85 -87 -90 -91 -92 -91 -91 -89 -90 -90 -91 -90 -91 -92 -93 -93 -92 -91 -89 -87 -84 -82 -80 -78 -76 -74 -71 -68 -66 -63 -62 -59 -55 -53 -52 -48 -47 -48 -50 -48 -45 -43 -41 -38 -36 -34 -34 -34 -38 -38 -38 -38 -38 -38 -38 -39 -40 -40 -39 -39 -40 -39 -38 -38 -39 -38 -37 -35 -35 -36 -37 -38 -38 -39 -39 -38 -36 -34 -35 -37 -39 -40 -41 -42 -42 -42 -40 -39 -38 -38 -36 -36 -37 -39 -40 -41 -43 -44 -45 -46 -46 -46 -46 -46 -46 -46 -46 -45 -44 -43 -42 -41 -40 -40 -41 -42 -43 -43 -44 -46 -47 -49 -50 -49 -48 -47 -46 -45 -43 -38 -40 -42 -43 -43 -42 -42 -41 -41 -42 -41 -41 -41 -43 -42 -41 -40 -39 -37 -36 -34 -31 -30 -29 -28 -28 -29 -30 -30 -31 -33 -34 -33 -33 -35 -38 -39 -40 -41 -41 -41 -40 -40 -41 -43 -47 -51 -52 -51 -48 -44 -39 -36 -34 -34 -34 -37 -41 -44 -47 -49 -50 -52 -53 -55 -55 -53 -50 -48 -46 -46 -46 -47 -49 -51 -52 -52 -52 -52 -51 -52 -51 -48 -43 -37 -35 -35 -37 -38 -39 -39 -40 -42 -43 -43 -43 -43 -43 -44 -47 -50 -53 -57 -58 -54 -50 -45 -43 -41 -43 -47 -52 -53 -54 -56 -59 -62 -64 -65 -67 -67 -62 -53 -44 -38 -36 -35 -35 -35 -35 -36 -36 -35 -34 -33 -35 -38 -41 -42 -42 -41 -38 -33 -27 -23 -22 -23 -24 -25 -25 -24 -25 -26 -27 -27 -28 -29 -32 -34 -34 -32 -29 -27 -26 -28 -28 -27 -27 -27 -25 -24 -24 -24 -24 -24 -24 -24 -23 -21 -21 -24 -27 -32 -35 -37 -39 -40 -41 -43 -46 -48 -50 -52 -54 -55 -55 -53 -49 -45 -44 -44 -46 -47 -47 -47 -47 -46 -44 -43 -43 -44 -44 -44 -45 -47 -50 -52 -53 -54 -55 -55 -55 -55 -55 -55 -57 -59 -58 -57 -53 -51 -51 -53 -54 -55 -56 -56 -54 -52 -48 -46 -46 -48 -48 -48 -47 -44 -39 -39 -39 -40 -42 -45 -48 -51 -53 -55 -58 -64 -70 -72 -73 -74 -76 -77 -79 -80 -82 -85 -87 -89 -89 -87 -86 -85 -85 -83 -80 -75 -73 -76 -81 -84 -86 -88 -90 -91 -91 -91 -90 -89 -89 -89 -90 -90 -91 -93 -93 -94 -93 -92 -91 -88 -85 -82 -80 -79 -77 -74 -72 -70 -67 -65 -64 -61 -58 -55 -52 -50 -50 -51 -52 -50 -47 -44 -41 -38 -36 -33 -30 -30 -34 -37 -39 -40 -40 -39 -38 -39 -40 -39 -39 -39 -38 -37 -37 -37 -38 -37 -36 -34 -34 -34 -35 -36 -37 -37 -38 -36 -34 -33 -34 -36 -37 -38 -40 -41 -41 -40 -39 -39 -38 -37 -35 -35 -36 -37 -39 -41 -42 -44 -45 -46 -46 -46 -46 -46 -46 -47 -47 -47 -45 -43 -42 -41 -40 -39 -40 -41 -42 -43 -44 -46 -48 -49 -50 -49 -48 -48 -47 -45 -43 -37 -39 -41 -43 -42 -42 -42 -41 -41 -41 -41 -40 -40 -41 -42 -41 -40 -39 -38 -37 -36 -34 -32 -30 -28 -27 -28 -29 -29 -31 -33 -37 -37 -37 -39 -41 -42 -41 -42 -42 -43 -42 -40 -42 -44 -48 -50 -50 -49 -46 -42 -37 -34 -33 -33 -33 -36 -40 -43 -45 -46 -48 -50 -52 -53 -53 -51 -49 -46 -45 -45 -46 -48 -49 -51 -53 -54 -54 -55 -55 -56 -55 -53 -49 -43 -39 -37 -38 -40 -41 -41 -42 -43 -42 -40 -40 -41 -43 -45 -47 -50 -53 -58 -60 -57 -52 -47 -43 -41 -43 -47 -51 -52 -54 -56 -59 -62 -64 -65 -65 -66 -63 -54 -44 -36 -33 -33 -33 -33 -33 -34 -34 -34 -34 -34 -36 -38 -40 -40 -39 -37 -35 -32 -28 -23 -22 -22 -24 -25 -25 -24 -25 -26 -26 -26 -26 -27 -28 -30 -31 -31 -30 -27 -24 -25 -25 -25 -25 -24 -24 -24 -24 -23 -24 -25 -25 -26 -25 -23 -22 -23 -26 -31 -34 -37 -39 -40 -41 -44 -46 -48 -50 -53 -54 -55 -54 -53 -49 -46 -43 -43 -45 -46 -48 -48 -47 -45 -43 -42 -42 -42 -44 -46 -48 -50 -52 -53 -55 -55 -55 -53 -52 -52 -53 -56 -58 -58 -56 -52 -49 -47 -48 -51 -54 -56 -56 -55 -54 -52 -48 -46 -47 -51 -54 -55 -52 -44 -37 -37 -38 -39 -39 -41 -45 -49 -53 -55 -56 -62 -68 -72 -74 -76 -77 -78 -78 -79 -81 -84 -86 -88 -87 -85 -83 -82 -82 -82 -78 -74 -71 -73 -78 -83 -86 -87 -89 -90 -90 -90 -89 -88 -87 -87 -88 -89 -90 -91 -93 -94 -95 -94 -92 -88 -84 -82 -80 -79 -77 -75 -73 -71 -69 -68 -67 -65 -61 -56 -53 -51 -51 -52 -52 -51 -48 -45 -42 -38 -37 -33 -29 -28 -32 -36 -39 -41 -40 -39 -39 -39 -39 -38 -38 -38 -37 -36 -36 -37 -37 -37 -36 -34 -33 -33 -34 -35 -35 -36 -36 -35 -34 -33 -34 -34 -35 -36 -38 -40 -39 -37 -37 -37 -37 -37 -35 -34 -35 -36 -38 -40 -42 -43 -45 -46 -46 -46 -47 -46 -46 -47 -47 -47 -46 -44 -43 -42 -40 -39 -39 -40 -41 -41 -43 -45 -48 -50 -50 -50 -49 -48 -47 -45 -44 -37 -39 -41 -42 -42 -42 -41 -41 -41 -41 -40 -39 -39 -39 -42 -42 -41 -40 -39 -39 -39 -37 -34 -30 -28 -27 -26 -27 -28 -30 -33 -38 -41 -42 -44 -45 -46 -44 -44 -45 -45 -44 -42 -43 -45 -48 -49 -49 -48 -45 -40 -33 -32 -32 -32 -33 -36 -39 -42 -44 -45 -46 -48 -50 -50 -50 -49 -47 -45 -44 -45 -46 -47 -49 -51 -53 -54 -54 -55 -55 -54 -52 -50 -47 -44 -40 -39 -39 -43 -44 -45 -46 -46 -42 -39 -38 -40 -43 -45 -47 -49 -52 -56 -60 -60 -56 -52 -49 -46 -46 -48 -51 -53 -55 -57 -60 -62 -64 -64 -64 -64 -62 -54 -45 -37 -33 -33 -33 -33 -32 -32 -32 -33 -34 -36 -37 -39 -39 -38 -36 -34 -32 -30 -27 -24 -22 -22 -23 -24 -25 -25 -25 -26 -25 -24 -23 -24 -26 -28 -30 -31 -31 -29 -25 -24 -23 -23 -24 -25 -25 -25 -25 -24 -24 -24 -26 -28 -27 -25 -25 -25 -26 -30 -34 -37 -39 -40 -41 -43 -46 -49 -51 -53 -54 -54 -52 -52 -49 -46 -43 -42 -44 -46 -48 -48 -46 -44 -43 -42 -41 -42 -45 -47 -50 -51 -52 -53 -54 -54 -55 -53 -51 -50 -52 -57 -60 -59 -53 -46 -43 -43 -44 -48 -52 -54 -55 -53 -51 -48 -45 -45 -48 -55 -61 -61 -55 -43 -36 -36 -37 -38 -38 -39 -42 -46 -49 -51 -53 -57 -64 -69 -72 -75 -77 -77 -77 -79 -81 -83 -85 -87 -87 -85 -82 -79 -80 -79 -77 -73 -70 -70 -75 -81 -85 -88 -89 -89 -88 -87 -86 -86 -85 -85 -87 -88 -89 -90 -92 -94 -95 -93 -90 -87 -84 -82 -80 -79 -77 -76 -74 -72 -71 -70 -69 -68 -64 -60 -56 -54 -52 -51 -50 -49 -48 -45 -42 -38 -37 -35 -32 -31 -32 -35 -39 -41 -40 -38 -39 -39 -38 -37 -37 -37 -37 -37 -37 -37 -37 -37 -37 -35 -33 -33 -34 -34 -34 -34 -34 -34 -33 -33 -33 -34 -34 -35 -36 -37 -36 -35 -35 -35 -36 -35 -34 -34 -34 -35 -37 -39 -41 -43 -44 -45 -46 -46 -46 -46 -45 -46 -47 -48 -47 -45 -43 -42 -41 -39 -38 -38 -39 -40 -42 -44 -47 -49 -50 -50 -49 -49 -48 -46 -46 -37 -39 -40 -42 -41 -41 -41 -41 -40 -39 -39 -39 -39 -39 -42 -42 -41 -40 -39 -39 -40 -39 -36 -30 -26 -25 -25 -25 -27 -30 -34 -38 -42 -44 -47 -48 -48 -47 -47 -48 -48 -46 -45 -45 -47 -49 -49 -49 -47 -44 -36 -30 -30 -30 -31 -31 -34 -37 -40 -43 -45 -46 -47 -48 -47 -46 -45 -45 -44 -44 -45 -46 -48 -50 -52 -52 -52 -53 -52 -52 -50 -48 -46 -45 -44 -42 -41 -41 -43 -45 -47 -49 -50 -45 -40 -37 -37 -42 -44 -46 -48 -50 -54 -58 -60 -61 -60 -58 -54 -52 -52 -54 -56 -57 -58 -59 -61 -63 -63 -62 -60 -59 -54 -46 -39 -36 -34 -33 -32 -31 -30 -30 -31 -34 -37 -39 -39 -38 -36 -34 -32 -29 -27 -25 -24 -23 -22 -23 -24 -24 -25 -25 -25 -23 -21 -21 -23 -25 -27 -29 -31 -32 -32 -28 -24 -22 -22 -23 -24 -25 -26 -26 -25 -24 -24 -25 -27 -28 -28 -29 -29 -30 -33 -35 -37 -39 -40 -41 -43 -45 -48 -51 -54 -54 -53 -51 -50 -49 -47 -45 -44 -45 -46 -47 -46 -44 -43 -42 -42 -43 -44 -46 -48 -50 -51 -52 -52 -52 -52 -51 -51 -49 -49 -52 -57 -60 -59 -52 -42 -40 -40 -41 -43 -48 -52 -53 -53 -49 -45 -43 -44 -49 -58 -66 -66 -57 -42 -37 -36 -37 -38 -38 -39 -41 -44 -47 -49 -50 -53 -59 -64 -68 -72 -75 -76 -77 -79 -82 -84 -85 -86 -87 -85 -82 -79 -79 -79 -77 -73 -69 -70 -75 -81 -86 -89 -90 -89 -87 -85 -84 -84 -85 -85 -86 -86 -87 -89 -92 -93 -94 -92 -89 -85 -82 -80 -79 -78 -76 -75 -74 -73 -71 -70 -70 -70 -68 -64 -60 -55 -52 -48 -48 -48 -46 -44 -42 -39 -38 -37 -36 -36 -34 -35 -38 -40 -39 -39 -39 -39 -38 -37 -37 -37 -38 -37 -37 -38 -38 -38 -38 -37 -36 -35 -35 -35 -34 -33 -32 -32 -32 -32 -33 -33 -34 -34 -34 -35 -34 -33 -33 -34 -34 -34 -33 -33 -34 -34 -36 -38 -40 -42 -43 -44 -45 -46 -45 -45 -45 -45 -46 -47 -47 -46 -44 -43 -41 -39 -37 -37 -37 -38 -41 -43 -46 -48 -49 -50 -49 -48 -47 -47 -46 -37 -40 -42 -43 -43 -43 -42 -41 -38 -37 -37 -37 -37 -37 -39 -39 -38 -38 -37 -38 -38 -38 -35 -30 -25 -23 -23 -24 -27 -30 -34 -38 -41 -44 -47 -48 -49 -48 -49 -49 -49 -48 -46 -47 -48 -49 -50 -50 -47 -40 -32 -26 -26 -27 -28 -29 -32 -35 -38 -41 -44 -46 -46 -46 -44 -43 -43 -43 -43 -43 -44 -45 -47 -50 -52 -52 -51 -50 -49 -48 -46 -45 -44 -43 -42 -42 -42 -42 -42 -41 -43 -47 -51 -47 -41 -37 -37 -40 -44 -46 -48 -51 -52 -54 -58 -61 -64 -64 -61 -58 -56 -57 -59 -59 -57 -56 -59 -60 -60 -58 -56 -55 -51 -46 -41 -38 -34 -33 -32 -31 -29 -29 -30 -33 -37 -39 -39 -37 -34 -32 -30 -28 -25 -23 -24 -24 -23 -23 -24 -24 -24 -24 -23 -21 -20 -21 -23 -25 -27 -28 -30 -33 -34 -31 -27 -24 -22 -22 -23 -24 -26 -26 -26 -25 -25 -25 -27 -28 -30 -32 -33 -34 -35 -36 -37 -38 -39 -40 -42 -44 -48 -51 -54 -55 -54 -51 -49 -48 -47 -47 -47 -46 -47 -46 -45 -42 -41 -41 -42 -44 -45 -46 -48 -50 -51 -51 -52 -53 -52 -51 -49 -49 -49 -52 -56 -59 -57 -50 -44 -42 -40 -39 -41 -46 -50 -53 -54 -52 -46 -44 -45 -50 -59 -67 -65 -56 -40 -37 -37 -38 -38 -37 -38 -40 -44 -47 -49 -50 -51 -52 -54 -61 -67 -72 -74 -75 -78 -81 -83 -84 -85 -86 -86 -84 -81 -81 -80 -79 -75 -71 -71 -76 -81 -87 -89 -90 -88 -85 -83 -82 -83 -85 -86 -86 -86 -87 -89 -91 -92 -93 -91 -87 -82 -79 -78 -78 -77 -76 -75 -74 -73 -71 -70 -70 -71 -71 -67 -62 -56 -51 -47 -46 -45 -44 -43 -41 -37 -36 -35 -35 -36 -35 -36 -37 -38 -39 -40 -41 -40 -38 -38 -38 -38 -39 -38 -38 -38 -38 -38 -38 -38 -37 -36 -36 -36 -35 -33 -31 -31 -30 -30 -31 -32 -33 -32 -32 -33 -32 -32 -32 -32 -32 -32 -32 -32 -32 -33 -34 -36 -39 -41 -42 -44 -45 -45 -44 -44 -44 -44 -45 -46 -47 -46 -45 -44 -42 -39 -38 -37 -37 -38 -40 -43 -45 -47 -48 -49 -49 -48 -47 -47 -46 -40 -44 -45 -45 -46 -44 -42 -40 -37 -34 -33 -34 -36 -35 -35 -34 -34 -34 -33 -34 -34 -33 -32 -29 -25 -22 -22 -24 -26 -29 -33 -36 -38 -41 -44 -46 -48 -48 -49 -49 -49 -48 -47 -47 -48 -48 -49 -52 -48 -39 -30 -26 -27 -28 -28 -29 -32 -35 -38 -40 -43 -44 -44 -43 -42 -41 -41 -41 -43 -43 -44 -45 -46 -47 -49 -50 -49 -47 -45 -44 -44 -43 -42 -42 -42 -42 -42 -42 -40 -38 -40 -44 -49 -46 -41 -38 -37 -41 -44 -46 -49 -51 -52 -53 -56 -59 -61 -62 -61 -60 -59 -59 -61 -60 -58 -54 -54 -56 -57 -55 -52 -50 -48 -44 -41 -39 -36 -34 -32 -31 -29 -29 -30 -32 -34 -37 -38 -37 -33 -30 -29 -27 -24 -23 -23 -23 -23 -24 -24 -23 -23 -22 -21 -20 -20 -21 -22 -24 -26 -28 -30 -33 -35 -33 -30 -26 -24 -23 -22 -23 -25 -26 -26 -26 -26 -27 -28 -29 -32 -34 -36 -36 -37 -37 -38 -39 -40 -41 -43 -45 -47 -51 -53 -54 -52 -48 -46 -46 -47 -49 -50 -49 -48 -45 -42 -41 -41 -42 -43 -44 -45 -46 -48 -50 -50 -52 -53 -54 -53 -50 -48 -47 -48 -51 -55 -57 -57 -53 -49 -46 -43 -42 -42 -45 -48 -51 -53 -53 -49 -47 -47 -51 -58 -64 -62 -53 -41 -39 -39 -40 -40 -39 -39 -40 -43 -46 -49 -50 -50 -51 -52 -56 -61 -65 -69 -72 -76 -79 -82 -83 -83 -84 -85 -85 -84 -83 -82 -81 -78 -73 -73 -75 -81 -87 -91 -90 -86 -82 -79 -80 -82 -85 -87 -87 -87 -87 -89 -91 -91 -92 -90 -85 -81 -79 -78 -78 -77 -76 -75 -74 -73 -71 -69 -70 -71 -72 -67 -62 -57 -52 -48 -46 -44 -42 -41 -39 -35 -32 -31 -32 -32 -34 -37 -37 -37 -39 -41 -42 -41 -39 -39 -39 -39 -39 -39 -38 -38 -38 -38 -38 -38 -38 -37 -36 -36 -35 -34 -32 -31 -30 -29 -29 -31 -32 -31 -31 -32 -32 -31 -31 -31 -31 -31 -30 -31 -31 -32 -33 -34 -36 -38 -40 -42 -43 -44 -44 -43 -43 -43 -44 -46 -46 -46 -45 -44 -43 -41 -39 -38 -37 -38 -40 -43 -44 -46 -47 -48 -48 -48 -48 -47 -47 -42 -46 -48 -47 -47 -44 -41 -38 -35 -32 -31 -33 -35 -34 -31 -31 -30 -29 -28 -28 -29 -29 -27 -25 -24 -22 -21 -22 -25 -27 -30 -33 -36 -39 -43 -45 -46 -46 -48 -49 -49 -48 -47 -47 -47 -47 -48 -52 -48 -39 -30 -28 -29 -30 -30 -31 -33 -35 -37 -39 -41 -42 -41 -40 -40 -40 -40 -41 -42 -43 -44 -45 -46 -46 -46 -46 -45 -44 -42 -42 -43 -44 -45 -44 -43 -42 -42 -42 -40 -39 -40 -43 -45 -44 -39 -37 -38 -42 -44 -47 -49 -52 -52 -53 -55 -58 -59 -60 -60 -60 -60 -60 -61 -60 -57 -53 -52 -54 -54 -52 -49 -47 -44 -42 -40 -40 -36 -33 -31 -30 -29 -29 -30 -30 -31 -35 -37 -36 -32 -27 -26 -25 -24 -22 -22 -22 -23 -24 -24 -23 -22 -21 -19 -19 -20 -21 -22 -24 -25 -28 -31 -34 -35 -34 -31 -29 -26 -24 -22 -22 -23 -25 -26 -26 -27 -28 -29 -30 -32 -35 -37 -37 -38 -39 -39 -40 -41 -43 -45 -47 -49 -51 -52 -53 -51 -48 -46 -46 -48 -50 -53 -53 -50 -46 -42 -42 -42 -43 -44 -44 -45 -46 -48 -48 -49 -51 -54 -55 -54 -50 -48 -47 -49 -51 -54 -57 -57 -56 -51 -48 -45 -43 -41 -40 -42 -45 -47 -48 -48 -49 -50 -51 -55 -60 -61 -55 -47 -44 -44 -44 -44 -42 -41 -41 -41 -43 -46 -48 -49 -51 -52 -54 -56 -60 -65 -70 -74 -78 -80 -81 -82 -83 -84 -85 -85 -84 -84 -82 -80 -76 -74 -75 -80 -87 -91 -89 -84 -79 -77 -78 -79 -81 -85 -87 -87 -88 -90 -91 -91 -90 -88 -85 -82 -80 -79 -79 -78 -77 -77 -76 -75 -73 -71 -70 -69 -69 -67 -63 -59 -55 -51 -47 -44 -41 -39 -38 -35 -31 -29 -29 -29 -32 -34 -35 -36 -39 -40 -41 -41 -40 -39 -39 -39 -39 -38 -38 -37 -36 -37 -37 -37 -37 -36 -36 -36 -36 -35 -34 -32 -31 -29 -28 -29 -30 -31 -31 -31 -31 -31 -31 -31 -30 -31 -30 -30 -31 -32 -32 -33 -34 -37 -38 -40 -41 -43 -43 -43 -43 -43 -43 -45 -46 -45 -44 -44 -43 -41 -40 -38 -38 -39 -40 -42 -43 -45 -47 -48 -48 -48 -48 -48 -47 -44 -47 -48 -48 -47 -43 -40 -37 -34 -31 -30 -31 -34 -35 -31 -28 -26 -24 -22 -23 -25 -27 -25 -21 -19 -19 -19 -21 -23 -25 -27 -31 -34 -38 -41 -44 -45 -45 -46 -48 -49 -48 -46 -46 -46 -46 -48 -50 -47 -40 -32 -30 -31 -32 -32 -32 -33 -35 -37 -39 -40 -40 -39 -38 -38 -39 -40 -41 -42 -43 -44 -46 -47 -46 -44 -43 -42 -42 -42 -43 -45 -48 -50 -50 -46 -44 -42 -42 -41 -42 -43 -43 -43 -41 -38 -36 -37 -40 -44 -47 -50 -52 -52 -54 -56 -58 -59 -60 -60 -60 -60 -61 -61 -59 -56 -52 -51 -52 -52 -51 -48 -45 -42 -40 -39 -39 -36 -33 -30 -27 -28 -29 -30 -30 -30 -33 -35 -35 -30 -25 -24 -23 -23 -22 -22 -22 -23 -23 -23 -23 -22 -21 -20 -21 -22 -22 -22 -23 -25 -29 -33 -37 -38 -34 -31 -30 -29 -25 -22 -21 -22 -23 -25 -26 -28 -29 -29 -31 -33 -36 -38 -39 -40 -40 -41 -41 -42 -44 -47 -49 -51 -51 -51 -51 -50 -48 -47 -47 -48 -51 -55 -56 -54 -49 -44 -43 -43 -44 -44 -45 -45 -45 -45 -47 -49 -51 -54 -56 -55 -52 -50 -49 -50 -52 -54 -55 -56 -55 -51 -47 -43 -41 -41 -40 -41 -42 -43 -46 -50 -53 -53 -52 -56 -59 -60 -59 -54 -51 -49 -49 -49 -48 -46 -44 -42 -43 -44 -47 -49 -50 -51 -52 -55 -59 -64 -70 -75 -77 -78 -79 -80 -82 -83 -85 -85 -84 -84 -83 -80 -77 -74 -75 -79 -85 -88 -87 -82 -77 -76 -77 -78 -79 -81 -84 -86 -87 -88 -90 -90 -89 -87 -84 -82 -80 -79 -79 -79 -79 -79 -80 -78 -77 -75 -73 -70 -69 -68 -65 -61 -57 -53 -50 -46 -42 -39 -38 -35 -31 -28 -28 -29 -30 -32 -33 -35 -36 -37 -37 -40 -39 -39 -38 -38 -38 -37 -37 -36 -35 -37 -37 -36 -36 -35 -36 -36 -37 -36 -35 -34 -32 -31 -29 -28 -29 -30 -31 -32 -31 -32 -32 -31 -30 -30 -30 -30 -31 -32 -33 -33 -34 -36 -36 -38 -39 -41 -42 -43 -43 -42 -42 -44 -45 -45 -44 -42 -41 -41 -40 -39 -38 -39 -41 -42 -43 -45 -46 -47 -47 -47 -48 -48 -48 -46 -49 -49 -47 -46 -43 -40 -37 -35 -32 -30 -31 -33 -35 -32 -28 -24 -20 -17 -18 -22 -24 -24 -20 -16 -16 -17 -19 -21 -24 -26 -30 -33 -37 -40 -43 -45 -45 -46 -47 -48 -47 -46 -45 -45 -46 -50 -50 -47 -42 -35 -33 -33 -33 -33 -33 -33 -34 -36 -38 -40 -39 -38 -37 -38 -39 -40 -41 -43 -44 -45 -47 -49 -48 -45 -41 -41 -42 -44 -45 -48 -51 -54 -54 -51 -47 -44 -43 -43 -45 -45 -45 -43 -40 -38 -36 -36 -37 -41 -46 -49 -51 -52 -55 -56 -57 -58 -60 -60 -60 -60 -61 -61 -58 -54 -52 -52 -52 -51 -50 -48 -45 -41 -38 -37 -37 -36 -33 -29 -26 -26 -28 -30 -31 -31 -32 -34 -33 -29 -26 -23 -22 -22 -22 -23 -23 -23 -23 -22 -22 -22 -22 -22 -22 -23 -23 -23 -23 -26 -30 -36 -41 -42 -35 -30 -28 -29 -26 -22 -20 -20 -22 -24 -26 -28 -29 -30 -31 -34 -36 -38 -39 -40 -42 -43 -44 -44 -46 -48 -50 -51 -51 -50 -50 -50 -49 -49 -49 -50 -53 -56 -57 -56 -52 -47 -45 -45 -46 -47 -49 -49 -47 -46 -46 -47 -50 -53 -55 -55 -54 -52 -51 -52 -52 -52 -52 -53 -52 -49 -45 -41 -40 -42 -42 -42 -41 -43 -47 -52 -55 -56 -55 -56 -58 -59 -60 -59 -57 -56 -55 -57 -58 -55 -52 -48 -47 -47 -48 -50 -50 -50 -52 -55 -59 -65 -71 -75 -77 -78 -78 -79 -81 -84 -85 -85 -85 -85 -84 -81 -77 -75 -76 -79 -83 -86 -85 -81 -77 -76 -76 -77 -78 -80 -82 -83 -85 -87 -88 -89 -89 -87 -84 -81 -79 -78 -79 -81 -81 -82 -83 -81 -80 -78 -75 -72 -71 -69 -65 -61 -56 -53 -51 -48 -44 -41 -38 -35 -31 -29 -29 -30 -30 -30 -31 -33 -33 -33 -34 -37 -37 -37 -36 -36 -37 -37 -36 -35 -36 -37 -38 -37 -36 -35 -35 -36 -37 -37 -36 -35 -34 -33 -31 -29 -28 -29 -30 -32 -32 -32 -31 -30 -30 -30 -30 -31 -32 -33 -33 -34 -35 -35 -35 -36 -37 -38 -40 -42 -42 -42 -42 -43 -44 -44 -43 -40 -40 -40 -41 -40 -40 -40 -41 -41 -43 -45 -46 -47 -47 -48 -48 -48 -48 -46 -50 -50 -48 -45 -42 -39 -36 -34 -32 -31 -31 -33 -36 -35 -30 -23 -18 -14 -15 -18 -22 -23 -19 -15 -14 -15 -18 -21 -24 -27 -30 -34 -37 -40 -43 -44 -45 -45 -46 -47 -47 -46 -45 -45 -47 -51 -51 -48 -43 -38 -36 -35 -35 -34 -33 -33 -33 -35 -38 -39 -38 -37 -36 -37 -39 -40 -41 -43 -44 -46 -48 -50 -51 -48 -43 -42 -43 -46 -48 -50 -52 -54 -54 -51 -49 -47 -46 -45 -44 -44 -44 -43 -41 -39 -37 -36 -35 -38 -44 -49 -50 -52 -54 -56 -56 -57 -59 -60 -59 -59 -59 -59 -56 -53 -50 -50 -51 -51 -50 -49 -45 -41 -38 -35 -35 -35 -33 -29 -25 -24 -27 -29 -31 -31 -33 -33 -32 -28 -25 -23 -22 -22 -22 -23 -24 -24 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -27 -33 -39 -44 -42 -34 -29 -27 -29 -27 -23 -20 -19 -20 -23 -26 -28 -30 -31 -33 -34 -36 -37 -39 -42 -44 -46 -48 -48 -49 -50 -51 -52 -51 -50 -49 -49 -49 -50 -51 -53 -54 -56 -57 -56 -53 -50 -48 -48 -49 -50 -51 -51 -49 -47 -45 -46 -49 -52 -54 -55 -55 -54 -53 -52 -51 -49 -49 -49 -50 -48 -44 -41 -40 -42 -42 -41 -41 -44 -47 -51 -54 -56 -57 -57 -56 -56 -56 -57 -57 -58 -59 -63 -64 -63 -60 -57 -55 -53 -52 -51 -50 -51 -53 -56 -61 -67 -73 -76 -78 -78 -78 -80 -83 -85 -87 -88 -87 -86 -85 -82 -79 -77 -77 -79 -83 -85 -84 -80 -77 -77 -76 -76 -77 -79 -80 -81 -83 -85 -86 -87 -88 -87 -86 -82 -80 -79 -82 -84 -84 -84 -84 -83 -81 -79 -77 -74 -71 -69 -65 -60 -55 -52 -50 -48 -46 -43 -40 -36 -33 -30 -31 -31 -30 -29 -29 -32 -32 -31 -31 -35 -35 -35 -35 -35 -37 -37 -37 -36 -37 -38 -39 -38 -36 -36 -35 -35 -36 -38 -37 -36 -35 -34 -32 -31 -30 -30 -31 -32 -32 -32 -31 -30 -29 -29 -30 -30 -31 -32 -32 -33 -35 -35 -35 -35 -36 -36 -38 -40 -41 -41 -41 -42 -42 -41 -40 -39 -39 -40 -42 -41 -41 -41 -41 -41 -43 -44 -46 -47 -48 -48 -48 -48 -48 -45 -48 -49 -48 -46 -43 -40 -37 -36 -35 -34 -34 -35 -38 -39 -33 -25 -17 -13 -13 -17 -21 -22 -20 -15 -14 -15 -18 -22 -26 -29 -32 -35 -38 -41 -43 -44 -45 -46 -46 -47 -48 -46 -45 -45 -47 -51 -51 -48 -43 -39 -38 -37 -37 -36 -35 -33 -33 -34 -37 -39 -38 -36 -36 -37 -39 -40 -41 -42 -44 -46 -49 -51 -53 -51 -48 -46 -46 -47 -49 -51 -51 -51 -50 -48 -47 -48 -49 -47 -43 -40 -39 -39 -39 -38 -38 -38 -35 -38 -44 -49 -51 -51 -52 -53 -54 -55 -57 -59 -59 -58 -57 -57 -54 -50 -47 -47 -49 -50 -50 -50 -47 -43 -38 -34 -33 -32 -31 -29 -27 -25 -26 -28 -30 -31 -33 -33 -31 -27 -24 -23 -22 -22 -23 -24 -24 -25 -26 -25 -24 -24 -24 -24 -24 -24 -23 -23 -23 -27 -34 -41 -44 -40 -31 -26 -24 -26 -27 -24 -21 -20 -21 -24 -28 -31 -33 -34 -34 -34 -35 -36 -39 -44 -48 -51 -52 -52 -51 -51 -51 -51 -50 -49 -48 -48 -49 -50 -51 -54 -56 -56 -56 -55 -53 -51 -51 -51 -52 -51 -51 -50 -49 -48 -46 -46 -48 -51 -54 -54 -55 -54 -53 -51 -50 -48 -48 -48 -47 -45 -42 -39 -37 -37 -37 -39 -41 -45 -47 -49 -51 -53 -56 -57 -56 -55 -56 -58 -58 -59 -61 -64 -65 -65 -65 -65 -63 -59 -56 -53 -54 -57 -60 -62 -65 -71 -76 -79 -80 -80 -80 -82 -84 -87 -90 -90 -90 -89 -87 -85 -82 -80 -79 -81 -84 -85 -83 -80 -77 -77 -77 -77 -78 -79 -80 -81 -82 -84 -85 -86 -86 -87 -88 -85 -83 -83 -86 -87 -87 -86 -84 -83 -81 -79 -76 -73 -70 -67 -63 -59 -55 -52 -50 -48 -47 -45 -42 -39 -36 -33 -34 -32 -30 -29 -29 -30 -30 -30 -31 -33 -34 -34 -34 -35 -37 -38 -38 -38 -38 -39 -40 -39 -37 -36 -36 -36 -36 -38 -37 -36 -35 -35 -34 -33 -32 -32 -33 -33 -32 -32 -31 -30 -30 -29 -29 -30 -30 -31 -31 -31 -33 -34 -35 -35 -36 -35 -36 -37 -39 -40 -41 -41 -41 -40 -38 -38 -38 -40 -41 -42 -42 -41 -41 -41 -43 -44 -46 -48 -48 -48 -48 -48 -48 -43 -46 -47 -48 -48 -47 -45 -44 -42 -42 -39 -37 -37 -39 -42 -37 -29 -20 -14 -14 -17 -20 -23 -21 -17 -15 -15 -19 -23 -27 -30 -33 -36 -40 -42 -43 -44 -46 -47 -47 -47 -47 -46 -45 -46 -48 -51 -51 -48 -44 -41 -39 -39 -38 -37 -35 -33 -33 -34 -37 -38 -37 -36 -36 -37 -38 -39 -40 -41 -43 -46 -49 -51 -53 -53 -51 -50 -49 -50 -51 -51 -51 -49 -47 -45 -46 -47 -48 -47 -44 -41 -39 -38 -38 -38 -38 -38 -37 -41 -48 -53 -53 -50 -47 -47 -48 -51 -55 -58 -60 -60 -58 -55 -52 -48 -44 -45 -47 -49 -50 -51 -49 -45 -39 -34 -32 -30 -29 -29 -29 -28 -28 -29 -31 -31 -32 -32 -30 -27 -24 -23 -23 -23 -24 -25 -25 -26 -27 -28 -26 -25 -25 -26 -26 -25 -24 -23 -23 -27 -34 -40 -43 -37 -28 -23 -22 -23 -23 -21 -20 -21 -24 -27 -30 -33 -36 -37 -37 -36 -36 -37 -40 -45 -50 -54 -56 -55 -53 -52 -51 -50 -48 -48 -49 -50 -50 -50 -51 -53 -55 -56 -55 -54 -52 -51 -52 -53 -53 -51 -50 -49 -49 -49 -47 -47 -48 -52 -55 -56 -55 -54 -54 -52 -50 -49 -50 -51 -50 -45 -39 -34 -32 -33 -35 -38 -41 -45 -47 -48 -50 -52 -56 -57 -57 -57 -58 -60 -60 -59 -60 -62 -63 -63 -64 -65 -66 -65 -63 -60 -61 -64 -67 -69 -71 -74 -77 -80 -81 -81 -82 -84 -86 -89 -91 -92 -92 -91 -90 -87 -85 -84 -83 -84 -86 -86 -84 -81 -79 -79 -79 -80 -81 -81 -80 -81 -83 -86 -87 -87 -87 -87 -88 -87 -86 -86 -86 -87 -87 -86 -84 -82 -79 -75 -73 -70 -67 -65 -62 -58 -54 -52 -50 -49 -48 -46 -44 -42 -39 -36 -35 -34 -32 -30 -30 -30 -30 -30 -30 -32 -32 -33 -34 -36 -38 -39 -39 -39 -40 -40 -40 -40 -38 -37 -37 -36 -37 -37 -37 -36 -35 -35 -35 -34 -33 -32 -32 -33 -32 -31 -31 -31 -30 -30 -29 -30 -30 -30 -30 -30 -31 -33 -34 -35 -36 -36 -36 -36 -37 -39 -40 -40 -40 -39 -38 -37 -38 -39 -41 -41 -42 -41 -41 -41 -43 -45 -46 -47 -47 -48 -49 -49 -49 -44 -46 -47 -48 -50 -52 -52 -51 -49 -47 -44 -40 -39 -40 -42 -39 -32 -24 -17 -16 -17 -20 -23 -23 -19 -17 -16 -19 -23 -27 -30 -34 -37 -41 -43 -45 -46 -48 -49 -49 -48 -47 -46 -46 -48 -50 -51 -51 -50 -47 -44 -41 -40 -39 -37 -36 -34 -34 -36 -38 -39 -38 -36 -36 -36 -38 -38 -39 -40 -42 -46 -49 -51 -53 -53 -53 -52 -52 -52 -53 -52 -50 -48 -45 -45 -46 -46 -46 -43 -42 -40 -40 -40 -39 -39 -39 -39 -40 -46 -53 -56 -54 -49 -45 -43 -44 -46 -51 -55 -58 -59 -58 -54 -50 -46 -43 -44 -46 -47 -48 -50 -50 -46 -41 -34 -31 -30 -29 -28 -28 -28 -31 -33 -34 -34 -32 -30 -29 -27 -24 -23 -23 -25 -26 -26 -26 -27 -28 -28 -27 -25 -25 -25 -26 -25 -24 -23 -23 -27 -32 -37 -39 -34 -28 -23 -21 -20 -20 -19 -19 -21 -26 -29 -32 -34 -37 -39 -40 -40 -40 -40 -42 -46 -51 -55 -58 -57 -55 -53 -51 -49 -49 -50 -51 -52 -52 -51 -51 -52 -53 -54 -54 -53 -52 -51 -53 -55 -55 -52 -49 -48 -49 -49 -48 -48 -50 -54 -59 -59 -57 -55 -54 -53 -51 -50 -50 -52 -52 -48 -42 -37 -34 -36 -38 -41 -43 -45 -47 -48 -51 -54 -57 -58 -58 -58 -59 -60 -59 -58 -59 -59 -60 -61 -62 -65 -67 -67 -66 -64 -64 -67 -71 -74 -76 -77 -79 -80 -81 -82 -83 -84 -87 -89 -92 -93 -94 -93 -91 -89 -87 -86 -85 -86 -87 -87 -85 -82 -82 -83 -83 -83 -84 -84 -83 -83 -86 -90 -91 -90 -87 -86 -87 -88 -87 -86 -84 -85 -86 -85 -84 -80 -75 -71 -69 -69 -67 -65 -62 -59 -55 -52 -50 -49 -48 -46 -45 -44 -42 -38 -36 -34 -33 -31 -31 -31 -31 -30 -29 -30 -31 -32 -33 -36 -37 -39 -39 -40 -40 -41 -41 -41 -40 -38 -37 -37 -37 -37 -36 -35 -35 -35 -35 -34 -34 -33 -32 -33 -32 -32 -32 -31 -31 -31 -30 -30 -30 -30 -30 -30 -31 -32 -33 -34 -35 -36 -36 -36 -37 -38 -38 -38 -39 -39 -37 -37 -37 -38 -39 -40 -41 -41 -42 -42 -43 -44 -46 -46 -47 -48 -49 -50 -49 -45 -47 -49 -50 -53 -56 -56 -55 -52 -49 -45 -42 -40 -40 -41 -40 -35 -28 -21 -18 -18 -20 -22 -23 -21 -18 -18 -19 -23 -26 -30 -34 -37 -41 -45 -47 -48 -51 -52 -51 -49 -47 -47 -47 -48 -49 -49 -49 -49 -48 -46 -43 -41 -40 -38 -37 -35 -35 -37 -39 -41 -40 -38 -36 -35 -36 -37 -38 -40 -43 -46 -49 -52 -54 -55 -54 -54 -53 -53 -53 -52 -50 -47 -45 -45 -46 -45 -43 -41 -40 -39 -40 -41 -41 -40 -39 -40 -42 -48 -54 -57 -55 -50 -46 -43 -42 -43 -49 -53 -57 -58 -55 -51 -47 -44 -41 -43 -45 -46 -47 -48 -49 -47 -43 -37 -32 -30 -30 -29 -28 -28 -32 -35 -38 -37 -34 -31 -29 -26 -23 -22 -22 -24 -26 -27 -27 -27 -27 -27 -26 -25 -24 -24 -25 -25 -24 -23 -24 -27 -32 -36 -37 -33 -29 -26 -23 -20 -19 -19 -20 -22 -26 -29 -32 -34 -37 -40 -42 -43 -43 -43 -44 -47 -51 -55 -58 -59 -57 -55 -53 -51 -50 -52 -54 -55 -55 -54 -52 -51 -52 -52 -52 -53 -52 -51 -52 -54 -54 -51 -48 -46 -47 -48 -49 -50 -53 -57 -62 -63 -60 -57 -53 -51 -49 -48 -48 -51 -53 -50 -46 -41 -40 -41 -43 -45 -48 -50 -51 -52 -54 -58 -59 -58 -57 -57 -58 -57 -55 -55 -57 -57 -57 -58 -60 -63 -65 -66 -66 -65 -66 -68 -72 -76 -79 -79 -79 -80 -80 -82 -83 -84 -86 -89 -92 -93 -93 -92 -90 -89 -87 -86 -86 -87 -89 -88 -86 -82 -83 -83 -84 -84 -85 -87 -86 -86 -88 -92 -92 -90 -86 -84 -85 -86 -87 -84 -79 -80 -83 -85 -83 -79 -73 -69 -68 -68 -67 -66 -63 -60 -56 -53 -51 -49 -47 -46 -45 -45 -44 -40 -37 -34 -32 -32 -32 -33 -33 -31 -28 -28 -29 -31 -32 -34 -35 -37 -38 -39 -40 -40 -41 -41 -40 -39 -38 -38 -37 -37 -37 -36 -34 -34 -34 -34 -34 -33 -33 -33 -33 -33 -33 -32 -31 -31 -31 -31 -30 -30 -29 -29 -29 -30 -32 -33 -35 -35 -35 -35 -36 -36 -36 -36 -38 -38 -37 -36 -36 -37 -39 -40 -41 -41 -42 -43 -43 -44 -46 -46 -47 -48 -49 -49 -49 -46 -48 -50 -52 -54 -56 -55 -52 -50 -47 -44 -41 -39 -38 -39 -38 -35 -29 -23 -20 -19 -20 -21 -21 -21 -20 -19 -20 -23 -27 -30 -34 -38 -42 -46 -49 -51 -53 -53 -52 -50 -49 -48 -49 -50 -49 -47 -47 -48 -48 -47 -44 -42 -41 -40 -38 -37 -37 -38 -39 -41 -41 -39 -37 -35 -35 -36 -38 -40 -44 -47 -50 -53 -56 -57 -55 -54 -54 -53 -53 -51 -49 -47 -45 -45 -45 -44 -42 -41 -40 -40 -40 -41 -42 -40 -39 -39 -42 -48 -54 -57 -56 -52 -48 -44 -41 -41 -47 -52 -55 -55 -52 -49 -46 -43 -42 -43 -44 -45 -45 -47 -48 -48 -44 -38 -32 -30 -30 -29 -28 -28 -31 -35 -38 -38 -35 -32 -29 -26 -23 -22 -23 -24 -26 -27 -27 -27 -27 -26 -25 -24 -23 -23 -24 -24 -24 -25 -26 -29 -32 -34 -35 -34 -31 -29 -27 -23 -21 -21 -22 -24 -26 -29 -32 -34 -36 -39 -41 -43 -44 -44 -45 -48 -51 -54 -57 -57 -57 -56 -55 -53 -53 -55 -57 -59 -58 -56 -52 -51 -52 -52 -51 -49 -48 -48 -51 -52 -51 -49 -46 -45 -46 -48 -51 -54 -57 -61 -66 -66 -63 -57 -51 -48 -47 -46 -46 -48 -49 -48 -47 -45 -46 -48 -49 -51 -52 -53 -53 -54 -58 -64 -64 -59 -54 -53 -55 -54 -52 -50 -51 -53 -55 -56 -58 -60 -62 -63 -64 -65 -66 -68 -72 -76 -78 -77 -77 -78 -80 -82 -83 -84 -85 -88 -90 -91 -91 -90 -88 -87 -86 -86 -86 -88 -90 -90 -87 -82 -81 -82 -82 -83 -85 -88 -89 -90 -89 -90 -89 -87 -84 -82 -82 -84 -85 -83 -76 -74 -75 -80 -81 -76 -71 -67 -67 -67 -67 -67 -65 -62 -57 -54 -52 -50 -47 -46 -45 -46 -45 -43 -39 -35 -32 -30 -32 -32 -32 -31 -29 -28 -28 -30 -32 -33 -33 -34 -37 -37 -38 -39 -40 -40 -40 -39 -39 -38 -37 -38 -38 -37 -35 -34 -34 -34 -34 -34 -33 -33 -32 -32 -33 -32 -31 -31 -32 -31 -31 -29 -28 -28 -28 -29 -31 -33 -35 -36 -35 -35 -36 -36 -36 -35 -36 -36 -35 -35 -35 -37 -39 -40 -41 -41 -42 -43 -44 -44 -46 -46 -47 -48 -48 -49 -49 -46 -48 -50 -51 -52 -52 -50 -48 -45 -43 -41 -39 -37 -36 -37 -36 -33 -29 -24 -20 -19 -20 -21 -20 -20 -20 -20 -22 -24 -27 -31 -35 -39 -43 -47 -50 -52 -54 -54 -53 -51 -50 -51 -53 -53 -51 -48 -47 -48 -48 -47 -44 -43 -42 -41 -40 -40 -39 -39 -39 -40 -40 -39 -38 -37 -37 -38 -40 -42 -45 -48 -51 -54 -57 -58 -56 -55 -53 -52 -51 -49 -47 -46 -45 -45 -44 -42 -41 -41 -41 -41 -41 -41 -41 -40 -39 -39 -42 -47 -52 -56 -57 -55 -50 -44 -40 -40 -46 -51 -53 -52 -49 -47 -46 -45 -44 -44 -44 -44 -44 -46 -48 -48 -45 -39 -34 -31 -30 -30 -29 -29 -31 -34 -37 -38 -36 -33 -29 -26 -24 -23 -23 -24 -25 -26 -27 -28 -27 -25 -23 -22 -21 -22 -23 -24 -25 -27 -30 -33 -34 -35 -35 -33 -32 -31 -29 -27 -24 -24 -24 -25 -27 -29 -31 -33 -35 -37 -40 -42 -44 -44 -45 -46 -49 -52 -53 -54 -55 -56 -56 -55 -56 -59 -63 -65 -62 -57 -51 -48 -49 -51 -50 -49 -47 -47 -48 -49 -49 -47 -45 -45 -46 -48 -54 -58 -61 -65 -69 -69 -64 -57 -50 -46 -45 -45 -45 -45 -45 -45 -47 -49 -51 -52 -53 -54 -54 -54 -54 -56 -61 -66 -63 -56 -48 -46 -49 -49 -47 -45 -44 -47 -50 -53 -55 -58 -60 -60 -61 -62 -64 -68 -71 -75 -76 -75 -75 -78 -81 -83 -84 -84 -85 -86 -87 -87 -87 -85 -84 -83 -82 -83 -84 -87 -90 -91 -88 -83 -81 -80 -81 -82 -84 -87 -89 -90 -88 -87 -85 -82 -80 -79 -79 -81 -83 -83 -78 -71 -68 -72 -76 -73 -69 -65 -65 -66 -67 -66 -65 -63 -59 -55 -52 -50 -48 -47 -46 -46 -47 -44 -40 -36 -32 -28 -29 -30 -29 -28 -29 -29 -30 -30 -31 -32 -32 -32 -35 -36 -36 -37 -38 -39 -39 -39 -39 -38 -38 -38 -39 -38 -37 -36 -34 -34 -34 -34 -33 -32 -31 -31 -32 -32 -32 -32 -32 -32 -31 -29 -28 -28 -28 -29 -31 -34 -36 -37 -36 -36 -36 -37 -37 -36 -35 -34 -34 -35 -35 -37 -38 -40 -40 -41 -42 -43 -44 -44 -45 -46 -46 -47 -47 -48 -48 -45 -45 -45 -46 -46 -47 -46 -44 -42 -40 -38 -36 -35 -34 -35 -33 -31 -29 -25 -20 -19 -20 -21 -20 -20 -21 -22 -23 -25 -28 -32 -36 -41 -45 -48 -50 -52 -54 -54 -53 -52 -51 -52 -55 -57 -55 -50 -48 -48 -48 -47 -45 -45 -44 -44 -43 -42 -41 -39 -38 -38 -38 -39 -39 -39 -40 -41 -42 -43 -46 -50 -53 -56 -58 -59 -57 -54 -51 -49 -48 -46 -45 -44 -44 -44 -43 -42 -40 -40 -41 -41 -41 -41 -40 -39 -39 -40 -43 -46 -51 -55 -58 -58 -53 -46 -40 -40 -46 -50 -51 -50 -48 -47 -46 -46 -46 -46 -44 -43 -43 -45 -47 -47 -45 -40 -35 -33 -31 -30 -30 -31 -32 -34 -36 -37 -35 -33 -29 -26 -25 -25 -24 -24 -24 -26 -27 -28 -28 -25 -22 -21 -21 -21 -22 -24 -26 -28 -32 -36 -37 -37 -35 -34 -33 -33 -32 -30 -28 -26 -26 -26 -28 -29 -31 -33 -36 -39 -41 -43 -44 -43 -43 -44 -46 -48 -49 -51 -54 -56 -57 -58 -60 -64 -68 -70 -65 -57 -50 -47 -47 -49 -50 -49 -48 -47 -47 -47 -47 -46 -46 -46 -47 -49 -55 -60 -64 -68 -70 -70 -66 -60 -54 -49 -47 -46 -46 -46 -46 -47 -49 -52 -53 -53 -53 -53 -53 -54 -55 -60 -66 -68 -62 -52 -43 -41 -44 -45 -44 -43 -40 -41 -43 -46 -50 -54 -56 -57 -58 -60 -63 -66 -69 -72 -73 -73 -75 -78 -82 -84 -84 -83 -82 -83 -83 -84 -83 -82 -81 -80 -79 -79 -82 -87 -91 -92 -89 -83 -80 -79 -79 -81 -84 -87 -89 -89 -87 -84 -79 -75 -74 -75 -76 -78 -80 -82 -79 -72 -66 -64 -70 -71 -68 -64 -64 -65 -65 -65 -64 -63 -60 -57 -55 -52 -50 -48 -48 -47 -48 -46 -42 -39 -34 -30 -29 -29 -29 -28 -28 -29 -30 -31 -31 -32 -32 -32 -34 -35 -35 -35 -36 -37 -37 -38 -38 -38 -38 -38 -39 -39 -38 -38 -36 -35 -35 -34 -33 -32 -31 -30 -32 -33 -33 -32 -32 -32 -31 -30 -29 -29 -29 -30 -31 -34 -36 -37 -37 -36 -37 -37 -37 -37 -36 -35 -34 -34 -34 -36 -37 -38 -38 -40 -41 -42 -43 -44 -45 -45 -46 -47 -48 -48 -48 -43 -42 -42 -41 -42 -43 -43 -42 -40 -37 -36 -35 -34 -33 -33 -31 -30 -28 -25 -20 -19 -19 -21 -22 -22 -22 -23 -25 -26 -29 -33 -38 -43 -47 -49 -51 -52 -53 -54 -53 -52 -52 -53 -57 -59 -58 -53 -50 -49 -48 -48 -47 -46 -46 -45 -44 -43 -42 -39 -37 -36 -37 -38 -40 -42 -44 -45 -45 -46 -48 -52 -55 -57 -58 -59 -57 -53 -49 -45 -44 -43 -43 -43 -43 -43 -43 -42 -41 -40 -40 -40 -40 -40 -40 -39 -39 -41 -43 -44 -48 -54 -59 -60 -55 -48 -42 -42 -47 -49 -50 -48 -47 -47 -46 -46 -47 -47 -44 -41 -41 -44 -46 -47 -45 -42 -37 -35 -33 -31 -31 -32 -34 -36 -38 -37 -34 -32 -29 -27 -26 -26 -26 -25 -25 -26 -27 -28 -28 -26 -24 -22 -22 -22 -23 -24 -26 -29 -34 -38 -39 -38 -35 -34 -34 -34 -33 -31 -30 -29 -28 -28 -28 -29 -31 -34 -36 -40 -44 -47 -46 -44 -43 -42 -43 -43 -45 -48 -52 -55 -57 -60 -63 -68 -72 -73 -66 -57 -50 -47 -46 -47 -48 -49 -49 -48 -47 -46 -46 -47 -47 -48 -49 -52 -58 -63 -66 -69 -70 -69 -67 -64 -62 -57 -52 -49 -48 -51 -52 -54 -55 -56 -54 -51 -49 -48 -49 -51 -55 -62 -70 -68 -59 -49 -41 -38 -41 -43 -44 -42 -39 -36 -36 -37 -42 -48 -52 -54 -55 -58 -61 -64 -66 -68 -70 -71 -74 -78 -82 -83 -84 -83 -80 -79 -79 -79 -78 -79 -79 -79 -79 -79 -83 -89 -93 -94 -91 -83 -79 -78 -79 -81 -84 -87 -89 -89 -87 -82 -76 -70 -69 -70 -72 -74 -76 -78 -78 -75 -70 -64 -68 -70 -69 -64 -63 -64 -64 -64 -63 -61 -59 -58 -57 -55 -53 -51 -49 -50 -50 -47 -44 -42 -38 -34 -32 -32 -31 -29 -27 -28 -29 -30 -31 -32 -33 -34 -35 -35 -35 -35 -35 -35 -35 -36 -37 -37 -37 -38 -39 -39 -39 -38 -38 -37 -36 -35 -34 -33 -31 -31 -32 -33 -33 -33 -33 -33 -32 -31 -30 -29 -30 -31 -33 -35 -35 -36 -37 -37 -36 -37 -38 -38 -37 -35 -34 -33 -34 -35 -36 -36 -37 -39 -40 -41 -43 -44 -45 -46 -46 -48 -48 -48 -48 -41 -40 -39 -39 -39 -41 -41 -40 -39 -37 -35 -34 -33 -32 -31 -30 -29 -27 -24 -21 -19 -19 -20 -22 -24 -24 -25 -27 -28 -31 -35 -41 -45 -49 -50 -51 -51 -52 -53 -53 -53 -54 -55 -58 -60 -58 -54 -51 -49 -49 -49 -48 -47 -46 -45 -44 -43 -41 -39 -37 -36 -38 -40 -43 -46 -49 -49 -49 -50 -51 -54 -56 -58 -59 -59 -56 -51 -46 -42 -42 -41 -41 -42 -43 -43 -43 -42 -41 -40 -40 -40 -40 -40 -41 -41 -41 -42 -42 -43 -48 -53 -58 -59 -56 -50 -45 -45 -47 -48 -48 -47 -47 -47 -46 -46 -46 -46 -44 -42 -41 -42 -45 -46 -46 -44 -40 -37 -34 -31 -31 -33 -36 -39 -40 -38 -34 -31 -28 -26 -27 -27 -27 -27 -27 -27 -27 -27 -27 -26 -25 -25 -24 -24 -24 -26 -28 -30 -34 -38 -40 -39 -34 -32 -32 -32 -32 -31 -31 -31 -30 -29 -29 -30 -31 -33 -35 -41 -47 -51 -51 -47 -44 -42 -40 -39 -41 -46 -51 -55 -57 -61 -66 -70 -74 -72 -65 -58 -53 -50 -47 -46 -46 -47 -48 -48 -48 -47 -47 -48 -49 -50 -52 -56 -61 -65 -68 -69 -69 -67 -67 -66 -65 -61 -56 -52 -51 -54 -58 -61 -62 -61 -55 -49 -44 -43 -45 -48 -54 -63 -71 -66 -56 -47 -40 -38 -40 -42 -43 -42 -39 -36 -34 -35 -40 -46 -51 -53 -55 -56 -59 -62 -64 -66 -67 -70 -73 -76 -79 -81 -82 -81 -79 -76 -75 -74 -74 -76 -78 -79 -80 -81 -86 -91 -95 -95 -90 -82 -78 -77 -78 -80 -83 -86 -89 -89 -87 -81 -74 -67 -65 -66 -68 -69 -70 -74 -74 -74 -73 -70 -71 -72 -70 -66 -64 -64 -63 -62 -61 -60 -58 -57 -56 -55 -55 -53 -50 -49 -49 -47 -45 -43 -41 -38 -37 -35 -34 -31 -29 -28 -28 -29 -31 -33 -35 -36 -36 -36 -36 -36 -35 -34 -34 -35 -36 -36 -36 -37 -38 -39 -39 -39 -38 -37 -37 -36 -35 -33 -31 -32 -32 -32 -32 -32 -33 -33 -33 -32 -31 -31 -31 -33 -34 -34 -34 -34 -36 -36 -36 -37 -38 -38 -37 -35 -34 -34 -34 -35 -35 -36 -37 -39 -40 -42 -43 -44 -45 -46 -47 -48 -49 -49 -49 -38 -38 -37 -37 -38 -40 -40 -40 -38 -36 -35 -34 -33 -32 -31 -30 -28 -26 -24 -21 -19 -19 -19 -22 -24 -26 -28 -30 -31 -33 -39 -44 -47 -49 -50 -50 -51 -52 -54 -55 -55 -56 -58 -59 -59 -58 -55 -51 -50 -49 -49 -48 -46 -45 -43 -41 -40 -40 -39 -39 -39 -40 -43 -46 -49 -52 -53 -54 -54 -55 -56 -58 -59 -61 -61 -56 -49 -44 -42 -41 -40 -40 -41 -43 -44 -43 -42 -40 -40 -41 -43 -44 -45 -46 -47 -46 -45 -42 -44 -48 -52 -57 -58 -56 -52 -48 -47 -49 -48 -48 -48 -49 -48 -47 -45 -44 -44 -43 -42 -42 -42 -43 -45 -46 -45 -42 -38 -35 -32 -31 -33 -37 -40 -41 -39 -35 -30 -26 -24 -25 -26 -27 -29 -29 -29 -28 -28 -27 -27 -27 -28 -28 -27 -28 -29 -30 -32 -35 -38 -40 -38 -33 -30 -29 -30 -30 -30 -31 -32 -31 -30 -30 -30 -31 -33 -36 -43 -50 -55 -55 -49 -44 -41 -39 -39 -41 -45 -49 -53 -57 -62 -67 -72 -73 -68 -62 -57 -56 -54 -50 -47 -45 -46 -47 -47 -47 -47 -48 -49 -51 -53 -55 -59 -63 -66 -67 -67 -66 -65 -65 -65 -64 -61 -57 -55 -53 -55 -58 -61 -61 -60 -55 -48 -43 -42 -42 -45 -52 -60 -68 -62 -53 -45 -40 -39 -39 -41 -43 -44 -42 -39 -37 -37 -41 -47 -50 -53 -55 -56 -58 -60 -62 -63 -65 -68 -70 -73 -75 -77 -78 -78 -77 -73 -70 -70 -72 -76 -78 -80 -82 -84 -88 -93 -95 -93 -87 -82 -79 -78 -79 -82 -85 -87 -88 -89 -86 -81 -74 -66 -62 -63 -64 -65 -64 -68 -72 -74 -75 -75 -74 -72 -70 -68 -66 -64 -63 -61 -60 -59 -57 -55 -54 -53 -55 -54 -51 -47 -46 -44 -43 -41 -41 -40 -40 -39 -37 -35 -32 -30 -29 -30 -32 -34 -35 -36 -36 -36 -37 -38 -37 -36 -35 -35 -35 -35 -35 -36 -37 -38 -38 -39 -39 -38 -37 -36 -35 -34 -32 -32 -32 -32 -31 -32 -33 -34 -34 -34 -33 -33 -34 -35 -35 -33 -33 -34 -34 -34 -35 -36 -38 -38 -36 -35 -34 -35 -36 -36 -36 -37 -37 -39 -41 -43 -44 -45 -45 -46 -47 -48 -49 -50 -50 -36 -36 -36 -36 -37 -38 -39 -39 -38 -36 -35 -34 -33 -32 -31 -30 -28 -26 -23 -20 -19 -19 -20 -21 -23 -26 -30 -32 -33 -36 -41 -45 -48 -49 -49 -50 -51 -53 -56 -59 -59 -59 -58 -59 -59 -58 -55 -52 -50 -49 -48 -47 -45 -43 -41 -40 -39 -40 -41 -41 -41 -43 -45 -48 -51 -54 -56 -57 -58 -58 -59 -59 -60 -61 -61 -56 -50 -45 -43 -42 -41 -40 -41 -43 -44 -43 -41 -40 -42 -45 -48 -50 -50 -50 -50 -49 -48 -45 -46 -48 -51 -54 -56 -54 -51 -48 -47 -49 -49 -49 -49 -50 -50 -47 -44 -42 -42 -42 -41 -41 -40 -41 -43 -45 -46 -43 -39 -36 -34 -32 -32 -35 -39 -41 -39 -35 -31 -27 -24 -24 -24 -26 -29 -31 -32 -32 -31 -29 -28 -29 -30 -30 -31 -31 -32 -33 -34 -36 -39 -40 -38 -32 -28 -27 -28 -30 -30 -31 -31 -32 -32 -31 -31 -32 -34 -39 -46 -52 -56 -56 -50 -45 -41 -41 -41 -42 -45 -48 -52 -56 -62 -67 -72 -73 -67 -60 -54 -53 -54 -49 -46 -44 -45 -45 -46 -46 -47 -49 -51 -53 -56 -58 -61 -63 -64 -64 -64 -64 -64 -64 -64 -63 -61 -59 -57 -57 -58 -59 -59 -60 -59 -53 -47 -43 -41 -42 -46 -51 -57 -60 -54 -46 -41 -40 -39 -39 -41 -44 -45 -45 -43 -41 -41 -45 -49 -51 -52 -54 -56 -58 -59 -60 -62 -64 -66 -68 -70 -72 -73 -75 -76 -74 -69 -66 -67 -70 -75 -78 -80 -82 -84 -89 -92 -93 -90 -85 -81 -80 -80 -81 -84 -87 -88 -88 -88 -86 -81 -74 -65 -60 -60 -60 -61 -60 -64 -69 -74 -77 -78 -78 -76 -74 -71 -67 -65 -63 -62 -60 -58 -57 -55 -53 -52 -53 -54 -51 -45 -43 -41 -41 -39 -39 -39 -39 -38 -38 -37 -35 -32 -31 -31 -33 -34 -35 -35 -35 -36 -37 -38 -39 -38 -37 -36 -36 -36 -35 -36 -36 -37 -38 -38 -38 -38 -38 -37 -35 -34 -32 -31 -31 -31 -31 -31 -33 -34 -35 -35 -35 -36 -36 -37 -36 -34 -33 -33 -33 -33 -35 -36 -38 -37 -35 -35 -35 -37 -38 -38 -37 -37 -38 -40 -42 -43 -45 -45 -45 -46 -46 -48 -50 -51 -51 -34 -33 -34 -35 -36 -37 -38 -38 -37 -36 -35 -34 -33 -33 -31 -30 -28 -26 -24 -21 -19 -19 -19 -21 -22 -26 -30 -34 -35 -37 -41 -44 -46 -47 -48 -50 -52 -54 -58 -60 -61 -60 -58 -59 -59 -58 -55 -53 -51 -49 -48 -46 -44 -41 -40 -39 -40 -42 -43 -43 -44 -45 -47 -49 -52 -55 -57 -59 -60 -61 -61 -60 -60 -61 -61 -56 -50 -45 -43 -42 -42 -43 -44 -44 -45 -43 -42 -43 -46 -49 -51 -52 -52 -52 -51 -50 -48 -46 -46 -47 -49 -52 -54 -52 -49 -47 -46 -47 -49 -50 -50 -52 -51 -48 -43 -40 -40 -39 -39 -39 -38 -40 -42 -44 -46 -44 -40 -37 -35 -33 -33 -34 -36 -38 -36 -33 -31 -28 -24 -22 -22 -23 -25 -28 -30 -33 -35 -34 -32 -30 -31 -32 -34 -35 -36 -37 -37 -37 -39 -39 -37 -31 -28 -27 -28 -29 -30 -30 -32 -33 -34 -34 -33 -34 -37 -42 -48 -54 -57 -55 -49 -44 -42 -43 -44 -44 -45 -48 -51 -56 -62 -67 -71 -73 -66 -58 -52 -50 -51 -49 -47 -46 -46 -46 -46 -46 -47 -49 -54 -57 -59 -60 -61 -62 -63 -62 -61 -62 -63 -63 -63 -63 -63 -62 -61 -62 -62 -61 -59 -58 -57 -54 -49 -44 -42 -43 -46 -51 -53 -50 -44 -42 -43 -46 -45 -43 -42 -43 -45 -46 -46 -45 -44 -48 -50 -51 -51 -52 -54 -57 -59 -60 -60 -62 -64 -66 -67 -68 -71 -73 -73 -70 -65 -63 -64 -68 -73 -76 -78 -79 -83 -88 -90 -90 -86 -82 -80 -79 -80 -83 -87 -88 -88 -88 -87 -84 -80 -74 -66 -61 -58 -58 -59 -59 -62 -66 -71 -75 -79 -80 -80 -78 -74 -69 -65 -63 -61 -59 -58 -57 -56 -54 -51 -52 -52 -50 -45 -42 -40 -39 -37 -37 -37 -36 -35 -35 -36 -36 -35 -33 -33 -34 -35 -36 -35 -35 -36 -37 -38 -39 -39 -38 -38 -39 -38 -37 -36 -37 -36 -37 -37 -37 -38 -37 -37 -36 -34 -32 -31 -31 -30 -31 -32 -33 -34 -35 -36 -36 -37 -37 -38 -37 -35 -34 -32 -31 -32 -33 -36 -38 -36 -36 -35 -36 -38 -39 -39 -38 -38 -39 -40 -42 -44 -45 -45 -46 -46 -46 -48 -50 -51 -52 -31 -32 -32 -34 -35 -36 -37 -37 -37 -36 -35 -34 -34 -33 -32 -30 -28 -26 -24 -22 -19 -18 -19 -20 -22 -25 -29 -33 -35 -37 -41 -43 -45 -46 -48 -50 -53 -54 -57 -59 -60 -60 -59 -59 -59 -57 -55 -52 -51 -49 -47 -45 -43 -41 -40 -40 -41 -43 -44 -45 -46 -47 -48 -51 -53 -56 -58 -59 -61 -61 -61 -60 -59 -60 -60 -56 -52 -48 -45 -43 -44 -46 -48 -48 -48 -47 -46 -48 -50 -52 -53 -53 -52 -52 -51 -50 -47 -45 -43 -44 -46 -50 -52 -50 -47 -46 -45 -46 -48 -50 -52 -53 -52 -48 -42 -37 -37 -37 -37 -37 -37 -39 -42 -44 -45 -44 -40 -37 -35 -34 -33 -33 -34 -34 -33 -32 -31 -29 -27 -24 -22 -21 -22 -23 -26 -30 -34 -37 -37 -36 -35 -35 -36 -38 -40 -40 -38 -38 -39 -38 -35 -30 -27 -26 -27 -29 -30 -31 -32 -34 -35 -36 -37 -38 -41 -45 -50 -54 -56 -54 -47 -42 -41 -44 -46 -46 -46 -48 -52 -57 -62 -67 -71 -72 -66 -58 -52 -50 -51 -50 -49 -48 -47 -47 -47 -47 -48 -51 -56 -60 -63 -62 -61 -62 -63 -62 -61 -61 -62 -62 -62 -63 -64 -64 -63 -64 -65 -63 -60 -57 -57 -55 -52 -48 -44 -44 -46 -50 -52 -48 -43 -41 -42 -46 -49 -48 -45 -42 -43 -46 -47 -47 -46 -47 -49 -49 -49 -50 -52 -56 -59 -60 -60 -60 -62 -63 -65 -67 -70 -71 -70 -66 -61 -58 -58 -61 -67 -71 -73 -75 -80 -85 -87 -85 -81 -78 -77 -78 -80 -84 -87 -88 -88 -87 -84 -82 -79 -75 -68 -62 -59 -58 -58 -59 -61 -64 -67 -72 -77 -80 -81 -80 -75 -70 -66 -63 -61 -59 -58 -58 -57 -54 -52 -51 -51 -49 -46 -42 -40 -38 -37 -36 -35 -34 -34 -33 -34 -34 -35 -34 -34 -35 -36 -37 -36 -36 -37 -37 -38 -38 -37 -38 -39 -40 -40 -39 -38 -39 -38 -37 -37 -36 -37 -37 -36 -36 -34 -32 -31 -31 -30 -31 -32 -33 -34 -35 -35 -36 -37 -37 -37 -38 -37 -35 -33 -31 -30 -31 -34 -37 -36 -35 -35 -36 -38 -40 -40 -39 -38 -39 -40 -42 -44 -44 -45 -46 -46 -47 -48 -50 -51 -52 -30 -30 -31 -32 -34 -35 -36 -36 -36 -36 -35 -35 -34 -33 -32 -30 -29 -27 -25 -23 -20 -18 -18 -20 -22 -25 -28 -32 -35 -37 -41 -43 -44 -45 -48 -50 -53 -54 -55 -56 -57 -59 -59 -59 -58 -56 -54 -52 -50 -48 -47 -45 -42 -40 -39 -40 -41 -43 -45 -47 -48 -48 -50 -52 -54 -57 -58 -59 -60 -61 -60 -59 -57 -57 -57 -57 -55 -52 -49 -47 -46 -48 -51 -52 -51 -51 -52 -53 -52 -52 -52 -52 -52 -52 -51 -49 -46 -43 -40 -40 -43 -48 -50 -48 -46 -45 -45 -45 -46 -49 -51 -53 -52 -47 -40 -35 -34 -34 -36 -37 -37 -40 -42 -44 -44 -44 -40 -37 -34 -33 -32 -31 -31 -30 -30 -29 -29 -29 -28 -26 -24 -23 -21 -21 -23 -26 -32 -38 -41 -42 -40 -38 -38 -40 -41 -42 -40 -39 -38 -36 -33 -28 -25 -26 -27 -29 -31 -32 -33 -34 -35 -37 -39 -41 -44 -47 -51 -53 -53 -50 -45 -41 -40 -42 -46 -47 -48 -49 -54 -59 -64 -68 -70 -70 -67 -61 -55 -51 -51 -51 -50 -49 -48 -48 -48 -49 -50 -53 -57 -60 -62 -61 -60 -61 -63 -64 -63 -62 -61 -62 -62 -63 -64 -64 -63 -64 -64 -63 -61 -58 -58 -57 -55 -50 -45 -43 -45 -47 -50 -48 -44 -42 -43 -46 -48 -47 -45 -42 -44 -47 -48 -47 -46 -46 -45 -46 -47 -48 -51 -54 -57 -59 -58 -57 -58 -60 -62 -65 -67 -67 -65 -61 -57 -55 -53 -54 -60 -65 -69 -72 -76 -81 -83 -82 -78 -75 -75 -76 -80 -84 -87 -88 -87 -85 -82 -80 -79 -77 -71 -65 -62 -59 -57 -59 -60 -63 -67 -72 -76 -79 -81 -80 -76 -71 -67 -65 -62 -59 -58 -57 -56 -54 -52 -51 -50 -48 -46 -44 -41 -38 -37 -36 -34 -33 -33 -32 -32 -33 -33 -34 -34 -35 -36 -37 -37 -37 -38 -38 -38 -37 -36 -36 -39 -40 -41 -40 -40 -41 -41 -40 -39 -37 -37 -36 -36 -36 -35 -33 -32 -32 -31 -32 -32 -33 -33 -34 -34 -35 -36 -36 -37 -38 -38 -36 -33 -30 -29 -29 -32 -35 -35 -34 -34 -35 -38 -39 -40 -39 -39 -39 -40 -42 -44 -44 -44 -45 -45 -46 -48 -50 -51 -51 -28 -29 -30 -31 -32 -34 -34 -35 -36 -36 -36 -36 -34 -33 -31 -30 -29 -27 -25 -23 -21 -19 -19 -20 -22 -25 -28 -32 -35 -37 -40 -43 -45 -45 -47 -50 -52 -54 -53 -53 -55 -57 -59 -59 -57 -55 -53 -52 -50 -48 -45 -43 -40 -39 -38 -39 -40 -42 -45 -48 -50 -51 -52 -54 -56 -57 -58 -59 -60 -60 -59 -57 -55 -53 -53 -56 -57 -57 -55 -52 -50 -50 -52 -54 -54 -55 -55 -55 -53 -52 -52 -52 -52 -51 -49 -47 -45 -41 -39 -39 -41 -45 -48 -45 -44 -44 -45 -45 -45 -47 -50 -52 -50 -45 -39 -34 -33 -34 -36 -38 -40 -42 -42 -43 -44 -44 -41 -36 -32 -30 -30 -30 -29 -27 -26 -26 -27 -28 -29 -27 -26 -24 -23 -23 -23 -25 -30 -37 -43 -46 -45 -43 -41 -41 -42 -42 -42 -41 -39 -36 -31 -26 -24 -25 -28 -30 -31 -32 -32 -34 -36 -40 -42 -45 -46 -48 -49 -50 -50 -49 -46 -42 -40 -40 -44 -47 -49 -52 -57 -62 -66 -69 -69 -68 -67 -64 -59 -54 -53 -52 -51 -51 -50 -49 -49 -49 -51 -54 -57 -59 -60 -60 -60 -61 -62 -64 -65 -66 -66 -65 -63 -64 -65 -64 -63 -61 -61 -60 -59 -58 -59 -58 -56 -51 -45 -43 -43 -44 -46 -45 -44 -44 -45 -46 -47 -47 -46 -45 -46 -46 -46 -44 -43 -42 -41 -42 -45 -49 -51 -52 -53 -54 -53 -52 -53 -55 -58 -60 -62 -62 -61 -58 -56 -53 -51 -50 -54 -60 -66 -72 -76 -80 -81 -80 -77 -75 -74 -75 -79 -84 -87 -88 -87 -84 -81 -80 -79 -78 -73 -69 -66 -63 -59 -58 -61 -65 -70 -74 -77 -79 -80 -80 -76 -72 -69 -67 -65 -61 -57 -55 -55 -52 -51 -50 -49 -48 -47 -45 -43 -39 -38 -37 -35 -34 -33 -32 -32 -32 -32 -31 -32 -33 -35 -36 -36 -37 -38 -39 -39 -37 -35 -35 -38 -40 -41 -42 -42 -43 -43 -42 -41 -39 -39 -38 -37 -36 -35 -34 -34 -33 -32 -33 -33 -33 -33 -33 -33 -34 -35 -36 -37 -38 -37 -35 -32 -29 -27 -28 -32 -34 -34 -33 -33 -34 -37 -39 -40 -40 -39 -39 -40 -41 -42 -43 -44 -44 -45 -46 -47 -49 -50 -51 -27 -28 -29 -30 -32 -33 -34 -35 -36 -36 -36 -36 -35 -33 -31 -29 -28 -27 -25 -23 -21 -20 -20 -20 -22 -25 -28 -32 -34 -36 -40 -43 -46 -46 -46 -48 -50 -52 -52 -52 -54 -56 -58 -58 -57 -55 -54 -53 -51 -48 -45 -41 -38 -37 -36 -38 -40 -43 -47 -51 -54 -54 -55 -55 -56 -57 -58 -58 -59 -59 -57 -55 -52 -51 -51 -54 -56 -56 -55 -52 -51 -51 -52 -53 -54 -54 -54 -54 -54 -53 -52 -51 -51 -50 -48 -46 -44 -41 -40 -40 -41 -43 -45 -43 -43 -44 -46 -48 -47 -46 -47 -48 -47 -44 -40 -36 -35 -35 -37 -40 -42 -42 -42 -42 -44 -44 -41 -36 -31 -28 -28 -29 -28 -27 -25 -25 -26 -27 -28 -26 -24 -24 -24 -25 -26 -27 -31 -36 -43 -48 -49 -47 -45 -44 -43 -43 -43 -43 -40 -36 -30 -25 -24 -26 -28 -30 -31 -31 -32 -34 -37 -41 -45 -47 -47 -47 -47 -47 -46 -46 -45 -41 -38 -38 -42 -47 -51 -56 -61 -65 -67 -68 -67 -65 -65 -65 -63 -60 -57 -55 -53 -52 -51 -50 -49 -50 -52 -54 -56 -58 -59 -60 -60 -61 -62 -64 -66 -68 -68 -67 -66 -66 -66 -65 -62 -59 -58 -57 -58 -58 -58 -57 -55 -50 -45 -42 -42 -43 -42 -42 -42 -44 -46 -46 -45 -46 -47 -48 -48 -46 -44 -42 -42 -42 -41 -42 -45 -50 -51 -49 -46 -46 -47 -47 -47 -49 -52 -54 -55 -57 -57 -56 -55 -54 -53 -49 -50 -55 -62 -69 -75 -78 -79 -79 -77 -75 -74 -75 -80 -84 -87 -87 -85 -82 -80 -79 -78 -78 -75 -72 -69 -66 -62 -60 -61 -64 -69 -73 -76 -78 -79 -78 -75 -72 -70 -68 -66 -62 -58 -55 -54 -52 -50 -49 -48 -49 -47 -45 -43 -39 -39 -38 -37 -36 -33 -32 -32 -32 -32 -31 -31 -32 -33 -34 -35 -36 -37 -39 -38 -37 -35 -35 -38 -40 -42 -42 -43 -43 -43 -43 -41 -40 -40 -40 -39 -37 -36 -35 -34 -34 -33 -34 -34 -34 -33 -33 -33 -34 -35 -35 -37 -36 -34 -32 -31 -28 -27 -27 -31 -33 -34 -33 -31 -32 -36 -39 -40 -41 -40 -40 -39 -40 -41 -43 -43 -44 -45 -45 -46 -48 -49 -50 -26 -27 -28 -30 -31 -32 -33 -34 -36 -37 -37 -36 -35 -32 -30 -28 -27 -26 -25 -23 -22 -21 -21 -22 -23 -25 -29 -33 -35 -37 -40 -43 -44 -45 -45 -46 -48 -50 -52 -52 -54 -55 -57 -57 -56 -56 -55 -56 -54 -50 -45 -40 -36 -34 -34 -37 -42 -47 -51 -54 -56 -57 -57 -56 -57 -57 -57 -57 -57 -58 -57 -55 -52 -51 -52 -53 -54 -54 -53 -51 -51 -51 -52 -52 -53 -53 -54 -53 -53 -53 -52 -51 -50 -49 -47 -44 -42 -40 -39 -39 -40 -42 -44 -44 -43 -44 -45 -47 -47 -47 -46 -45 -44 -42 -40 -37 -37 -37 -38 -40 -41 -41 -42 -42 -43 -43 -40 -36 -31 -27 -27 -27 -28 -27 -24 -24 -25 -27 -27 -24 -22 -22 -24 -27 -29 -31 -34 -39 -44 -48 -51 -51 -49 -47 -45 -43 -42 -42 -40 -36 -30 -25 -25 -26 -28 -30 -30 -31 -32 -34 -37 -42 -47 -49 -48 -46 -44 -42 -42 -43 -43 -41 -39 -39 -42 -47 -53 -59 -63 -65 -66 -67 -66 -63 -63 -64 -65 -65 -62 -58 -55 -52 -51 -50 -49 -50 -51 -54 -55 -57 -59 -60 -60 -61 -63 -65 -67 -69 -70 -69 -68 -67 -66 -65 -62 -59 -56 -55 -54 -54 -55 -55 -54 -51 -46 -44 -44 -43 -41 -40 -41 -43 -46 -45 -44 -44 -45 -47 -48 -46 -43 -42 -42 -42 -42 -43 -48 -53 -52 -48 -41 -38 -39 -39 -39 -43 -47 -48 -48 -50 -53 -54 -55 -56 -56 -52 -51 -54 -60 -67 -72 -75 -77 -77 -77 -76 -77 -79 -82 -85 -87 -86 -83 -80 -79 -78 -78 -79 -76 -73 -71 -69 -65 -63 -62 -64 -67 -72 -75 -77 -78 -77 -74 -71 -69 -67 -65 -62 -59 -57 -54 -52 -50 -48 -47 -48 -47 -45 -42 -39 -38 -38 -38 -38 -34 -32 -31 -32 -32 -31 -31 -32 -33 -33 -34 -35 -36 -38 -37 -36 -35 -35 -38 -41 -42 -42 -43 -43 -43 -42 -41 -40 -40 -40 -40 -39 -38 -37 -35 -35 -34 -34 -34 -34 -33 -33 -33 -33 -34 -35 -35 -34 -32 -31 -31 -29 -27 -27 -30 -33 -34 -32 -29 -31 -35 -38 -40 -42 -42 -40 -39 -40 -41 -42 -43 -44 -45 -45 -46 -47 -49 -50 -24 -25 -27 -28 -30 -31 -33 -34 -36 -37 -37 -36 -34 -32 -29 -26 -25 -25 -25 -24 -23 -22 -23 -24 -26 -27 -30 -34 -37 -38 -40 -42 -43 -43 -43 -45 -47 -49 -51 -53 -54 -55 -55 -55 -56 -56 -57 -57 -55 -51 -46 -40 -36 -34 -35 -38 -44 -48 -51 -53 -54 -55 -55 -56 -56 -57 -57 -57 -56 -56 -56 -55 -53 -52 -53 -54 -54 -54 -53 -52 -52 -52 -52 -52 -53 -53 -54 -53 -52 -52 -51 -50 -49 -47 -45 -43 -41 -39 -38 -37 -39 -42 -44 -44 -43 -43 -44 -45 -46 -46 -45 -44 -42 -41 -39 -38 -37 -37 -38 -39 -38 -38 -39 -39 -41 -41 -39 -35 -32 -27 -27 -27 -27 -27 -24 -23 -24 -25 -25 -23 -22 -21 -22 -26 -30 -35 -39 -42 -46 -49 -52 -53 -52 -50 -47 -43 -41 -40 -39 -35 -29 -25 -25 -27 -29 -29 -30 -30 -31 -32 -36 -42 -47 -50 -50 -46 -42 -40 -40 -43 -42 -41 -40 -42 -45 -49 -54 -59 -63 -65 -66 -66 -66 -64 -63 -63 -64 -67 -66 -61 -56 -52 -51 -49 -49 -50 -52 -54 -56 -57 -59 -60 -60 -61 -63 -66 -68 -69 -70 -70 -69 -68 -67 -65 -63 -59 -56 -53 -51 -50 -51 -51 -51 -49 -47 -47 -46 -45 -41 -39 -40 -43 -45 -44 -44 -43 -43 -46 -47 -46 -43 -42 -43 -43 -44 -46 -49 -52 -52 -47 -37 -31 -30 -31 -33 -37 -40 -41 -41 -44 -50 -53 -55 -57 -58 -55 -53 -55 -60 -65 -69 -73 -76 -77 -78 -78 -79 -81 -83 -85 -85 -84 -82 -80 -79 -79 -80 -80 -77 -75 -73 -71 -69 -67 -65 -65 -67 -70 -73 -75 -77 -76 -73 -70 -68 -66 -64 -62 -60 -58 -56 -55 -53 -49 -46 -47 -46 -44 -41 -38 -37 -36 -36 -37 -34 -32 -32 -32 -32 -32 -32 -33 -33 -34 -34 -35 -35 -37 -37 -37 -36 -36 -39 -41 -42 -42 -43 -43 -43 -41 -40 -39 -39 -39 -40 -40 -39 -38 -37 -36 -34 -33 -33 -33 -34 -33 -33 -33 -32 -34 -34 -33 -32 -32 -32 -30 -29 -29 -31 -33 -33 -31 -29 -30 -34 -37 -40 -41 -41 -40 -39 -40 -41 -42 -42 -43 -44 -45 -46 -47 -48 -49 -22 -24 -26 -27 -28 -30 -32 -34 -35 -36 -36 -34 -33 -31 -28 -25 -24 -25 -25 -25 -25 -24 -25 -26 -28 -30 -32 -35 -38 -39 -41 -41 -41 -41 -42 -43 -45 -47 -51 -53 -55 -55 -54 -54 -54 -55 -55 -55 -53 -50 -46 -42 -38 -37 -38 -40 -44 -47 -49 -50 -52 -52 -53 -54 -55 -56 -56 -55 -54 -54 -54 -53 -52 -52 -52 -53 -54 -54 -54 -53 -53 -52 -52 -51 -52 -53 -54 -53 -51 -50 -49 -48 -47 -44 -43 -42 -41 -39 -37 -37 -39 -43 -45 -43 -42 -42 -42 -43 -45 -46 -45 -43 -41 -40 -40 -38 -38 -38 -38 -38 -38 -36 -36 -37 -38 -39 -38 -35 -32 -30 -28 -28 -27 -27 -25 -24 -24 -24 -24 -23 -22 -22 -23 -25 -31 -36 -41 -44 -47 -50 -52 -53 -53 -51 -48 -43 -40 -38 -36 -33 -28 -25 -26 -28 -29 -29 -29 -28 -29 -30 -34 -40 -45 -49 -49 -45 -41 -40 -40 -42 -42 -42 -43 -45 -48 -51 -53 -56 -60 -62 -64 -66 -66 -66 -65 -63 -64 -66 -65 -61 -57 -53 -51 -49 -49 -51 -52 -54 -56 -58 -59 -59 -59 -61 -64 -68 -69 -70 -70 -70 -69 -69 -68 -66 -64 -61 -57 -54 -51 -49 -47 -46 -46 -47 -48 -49 -48 -46 -41 -38 -38 -42 -45 -46 -45 -45 -44 -45 -47 -46 -45 -43 -43 -44 -45 -46 -48 -50 -49 -44 -36 -31 -28 -27 -28 -31 -36 -38 -38 -40 -47 -53 -56 -57 -58 -57 -56 -57 -61 -64 -68 -72 -75 -77 -78 -79 -80 -82 -82 -83 -84 -84 -83 -82 -82 -82 -82 -81 -79 -77 -76 -75 -73 -71 -69 -68 -68 -69 -71 -74 -75 -75 -73 -70 -68 -65 -62 -60 -59 -57 -58 -59 -56 -50 -46 -45 -44 -43 -41 -38 -37 -36 -36 -36 -34 -33 -33 -33 -33 -33 -33 -34 -35 -35 -35 -35 -35 -37 -39 -39 -38 -38 -40 -41 -42 -43 -43 -43 -42 -40 -38 -38 -38 -39 -40 -40 -39 -38 -37 -35 -34 -33 -33 -33 -33 -33 -32 -32 -32 -32 -33 -33 -33 -33 -33 -32 -31 -32 -33 -33 -32 -30 -29 -30 -33 -36 -39 -40 -40 -39 -39 -40 -41 -41 -41 -43 -44 -45 -46 -47 -47 -48 -20 -23 -25 -26 -27 -28 -31 -33 -34 -34 -34 -33 -31 -30 -27 -25 -24 -25 -26 -26 -26 -26 -27 -27 -28 -31 -34 -36 -38 -40 -42 -42 -41 -40 -41 -42 -44 -46 -49 -51 -53 -53 -53 -52 -52 -52 -53 -53 -51 -49 -46 -43 -41 -40 -40 -41 -43 -45 -46 -48 -49 -50 -51 -52 -53 -53 -53 -53 -52 -51 -50 -49 -49 -50 -50 -51 -52 -52 -52 -52 -52 -51 -50 -49 -50 -52 -53 -53 -50 -48 -47 -45 -44 -43 -42 -42 -42 -40 -38 -38 -40 -43 -43 -41 -40 -40 -41 -42 -43 -44 -43 -41 -40 -40 -40 -40 -39 -38 -38 -39 -38 -36 -34 -34 -35 -36 -36 -34 -32 -32 -30 -29 -28 -27 -26 -25 -25 -24 -24 -23 -22 -22 -24 -26 -31 -36 -41 -44 -47 -50 -53 -54 -53 -49 -45 -41 -38 -36 -34 -30 -27 -25 -26 -28 -29 -28 -28 -27 -27 -29 -32 -38 -43 -45 -45 -43 -41 -41 -40 -40 -41 -43 -45 -48 -50 -52 -53 -54 -57 -60 -62 -64 -66 -68 -67 -65 -63 -63 -62 -60 -58 -56 -53 -51 -51 -51 -53 -56 -57 -58 -59 -59 -59 -60 -63 -67 -69 -70 -70 -71 -69 -69 -68 -67 -64 -62 -58 -54 -51 -48 -47 -45 -44 -44 -46 -47 -48 -45 -41 -38 -39 -41 -45 -46 -47 -46 -45 -45 -46 -47 -46 -44 -44 -43 -43 -44 -45 -46 -44 -41 -37 -33 -30 -27 -26 -27 -30 -32 -33 -36 -44 -51 -56 -58 -57 -55 -56 -58 -61 -63 -66 -70 -73 -75 -77 -78 -79 -80 -81 -82 -83 -83 -82 -82 -82 -82 -82 -82 -80 -79 -79 -79 -77 -75 -73 -72 -72 -71 -71 -72 -74 -74 -72 -69 -67 -65 -61 -59 -58 -57 -59 -60 -58 -52 -47 -45 -44 -42 -40 -39 -38 -38 -37 -37 -35 -34 -33 -33 -34 -35 -36 -36 -36 -36 -37 -37 -37 -38 -40 -41 -41 -40 -41 -42 -42 -43 -43 -43 -41 -39 -37 -37 -38 -39 -41 -40 -39 -38 -37 -35 -34 -33 -32 -32 -32 -31 -31 -31 -30 -31 -31 -33 -35 -35 -34 -33 -32 -33 -34 -34 -32 -29 -29 -30 -33 -36 -37 -38 -38 -38 -38 -38 -39 -40 -40 -42 -43 -45 -46 -47 -48 -48 -19 -22 -25 -26 -26 -28 -31 -33 -33 -33 -32 -32 -31 -30 -28 -26 -25 -25 -25 -25 -26 -27 -27 -27 -29 -31 -34 -36 -37 -40 -42 -42 -41 -41 -41 -42 -44 -45 -46 -48 -49 -50 -50 -50 -49 -50 -50 -50 -49 -47 -46 -44 -43 -42 -41 -41 -42 -44 -45 -47 -48 -49 -50 -50 -51 -50 -50 -50 -49 -48 -46 -45 -46 -47 -48 -47 -47 -48 -49 -49 -48 -47 -45 -46 -48 -50 -51 -51 -49 -46 -44 -43 -43 -44 -44 -43 -42 -40 -39 -40 -41 -42 -40 -39 -38 -39 -40 -42 -42 -41 -40 -38 -37 -38 -39 -40 -40 -39 -39 -39 -37 -35 -33 -31 -32 -33 -33 -32 -32 -34 -32 -30 -28 -27 -27 -27 -26 -25 -24 -23 -22 -23 -26 -28 -32 -36 -41 -45 -48 -51 -54 -54 -50 -46 -41 -37 -36 -35 -33 -30 -27 -26 -27 -28 -29 -28 -28 -27 -28 -29 -33 -38 -41 -42 -42 -41 -41 -41 -41 -40 -41 -44 -47 -50 -52 -53 -53 -54 -56 -59 -61 -62 -65 -69 -69 -66 -62 -59 -57 -57 -57 -57 -54 -53 -53 -53 -55 -57 -59 -59 -59 -59 -59 -60 -62 -65 -68 -70 -71 -71 -69 -68 -67 -66 -64 -61 -58 -54 -50 -49 -49 -47 -45 -42 -42 -44 -46 -45 -42 -40 -39 -41 -45 -47 -48 -47 -45 -44 -45 -46 -46 -44 -42 -41 -41 -40 -40 -40 -39 -38 -38 -36 -33 -29 -27 -27 -28 -30 -31 -35 -41 -47 -53 -58 -57 -55 -55 -57 -59 -62 -64 -66 -69 -71 -73 -75 -77 -78 -80 -81 -82 -82 -81 -81 -81 -81 -81 -81 -80 -80 -80 -80 -79 -77 -76 -75 -75 -74 -73 -72 -72 -72 -71 -69 -68 -65 -61 -58 -57 -56 -57 -57 -56 -52 -48 -46 -44 -41 -40 -40 -40 -40 -39 -37 -35 -34 -33 -33 -34 -35 -36 -36 -37 -37 -38 -38 -38 -40 -42 -44 -43 -43 -43 -43 -42 -43 -43 -42 -39 -36 -36 -37 -38 -41 -42 -41 -40 -39 -37 -35 -33 -32 -31 -30 -30 -30 -30 -29 -28 -29 -30 -32 -35 -36 -35 -34 -32 -33 -34 -34 -31 -27 -26 -29 -33 -35 -35 -36 -36 -37 -36 -35 -36 -37 -39 -41 -43 -44 -46 -47 -48 -48 -18 -21 -24 -26 -27 -29 -31 -33 -33 -33 -32 -31 -31 -31 -29 -27 -26 -26 -26 -26 -25 -26 -27 -28 -29 -32 -34 -36 -36 -38 -40 -41 -41 -41 -41 -42 -43 -44 -44 -44 -45 -47 -48 -48 -47 -47 -47 -48 -47 -46 -45 -44 -42 -41 -40 -40 -42 -44 -46 -47 -49 -48 -48 -48 -48 -48 -48 -48 -47 -46 -43 -42 -43 -45 -46 -45 -44 -44 -45 -46 -45 -42 -41 -43 -46 -47 -48 -47 -46 -45 -43 -42 -44 -47 -48 -47 -44 -42 -41 -41 -41 -41 -39 -38 -38 -38 -40 -42 -42 -40 -37 -34 -34 -35 -37 -38 -39 -39 -39 -39 -37 -35 -32 -30 -30 -30 -31 -31 -31 -34 -34 -31 -28 -27 -28 -29 -28 -26 -24 -23 -23 -25 -28 -31 -34 -38 -41 -45 -48 -51 -52 -50 -45 -40 -36 -34 -34 -34 -32 -29 -27 -28 -29 -30 -30 -29 -28 -28 -29 -30 -34 -38 -41 -42 -41 -39 -39 -40 -41 -41 -42 -45 -48 -51 -52 -53 -53 -54 -56 -58 -60 -61 -63 -68 -70 -68 -61 -56 -54 -55 -56 -56 -55 -55 -55 -56 -57 -59 -60 -59 -59 -59 -59 -60 -62 -64 -66 -68 -70 -70 -69 -68 -66 -64 -63 -61 -57 -53 -50 -51 -51 -49 -45 -40 -39 -41 -44 -46 -44 -41 -39 -41 -44 -47 -48 -48 -45 -44 -45 -46 -46 -44 -41 -39 -39 -37 -35 -35 -36 -37 -39 -38 -35 -32 -30 -30 -30 -30 -32 -37 -42 -47 -52 -56 -55 -53 -53 -55 -58 -60 -61 -62 -64 -67 -70 -72 -74 -76 -78 -80 -81 -81 -81 -81 -80 -80 -80 -80 -80 -80 -80 -79 -78 -78 -78 -79 -79 -78 -75 -72 -71 -71 -70 -68 -68 -65 -60 -57 -56 -56 -55 -54 -52 -50 -47 -45 -44 -42 -40 -40 -41 -41 -39 -36 -34 -34 -33 -32 -32 -32 -33 -34 -36 -37 -39 -40 -40 -42 -44 -46 -45 -44 -43 -43 -43 -43 -42 -40 -38 -35 -35 -36 -38 -41 -42 -41 -41 -39 -37 -35 -33 -31 -30 -30 -30 -30 -30 -29 -28 -28 -29 -31 -33 -35 -35 -33 -31 -33 -34 -34 -32 -26 -24 -26 -31 -33 -32 -32 -33 -34 -33 -33 -33 -34 -37 -40 -42 -44 -46 -48 -49 -49 -17 -19 -22 -25 -28 -29 -31 -32 -33 -33 -32 -31 -31 -31 -30 -29 -28 -28 -27 -27 -26 -27 -28 -30 -31 -33 -35 -35 -35 -36 -38 -39 -39 -40 -41 -42 -43 -43 -41 -41 -42 -44 -45 -45 -45 -45 -45 -45 -45 -45 -44 -42 -40 -39 -39 -40 -41 -43 -45 -48 -50 -48 -46 -45 -46 -46 -46 -46 -46 -46 -44 -42 -42 -43 -44 -43 -43 -43 -44 -44 -43 -41 -41 -43 -45 -45 -43 -42 -42 -42 -42 -43 -47 -52 -54 -52 -47 -43 -40 -39 -39 -40 -39 -39 -38 -38 -39 -40 -40 -39 -35 -32 -30 -29 -31 -33 -37 -39 -40 -40 -37 -34 -32 -30 -29 -29 -30 -30 -31 -34 -33 -30 -26 -25 -28 -30 -31 -29 -26 -25 -25 -27 -30 -35 -38 -41 -44 -46 -49 -50 -49 -45 -40 -36 -33 -32 -32 -32 -31 -30 -28 -30 -31 -32 -31 -30 -29 -29 -29 -31 -34 -38 -41 -42 -41 -39 -39 -39 -41 -41 -42 -44 -47 -50 -51 -52 -52 -54 -57 -59 -60 -61 -61 -65 -69 -69 -64 -57 -54 -54 -55 -55 -55 -55 -56 -58 -60 -61 -61 -60 -59 -59 -59 -60 -62 -64 -66 -67 -68 -68 -68 -67 -65 -63 -62 -60 -58 -55 -53 -53 -52 -48 -44 -39 -38 -40 -45 -48 -45 -42 -40 -41 -44 -46 -47 -47 -45 -43 -43 -44 -45 -43 -40 -39 -38 -37 -33 -32 -32 -36 -39 -39 -38 -36 -34 -35 -35 -34 -35 -39 -42 -46 -51 -54 -53 -51 -52 -53 -57 -59 -59 -59 -60 -62 -66 -69 -71 -74 -77 -79 -80 -81 -81 -80 -80 -79 -80 -80 -80 -80 -79 -79 -78 -78 -79 -80 -81 -80 -77 -73 -71 -70 -69 -69 -68 -64 -59 -56 -56 -56 -55 -54 -52 -50 -48 -46 -44 -43 -41 -39 -39 -38 -36 -34 -33 -33 -32 -31 -30 -29 -30 -31 -33 -35 -38 -41 -41 -42 -44 -45 -46 -45 -44 -43 -43 -42 -41 -39 -38 -35 -35 -36 -38 -40 -41 -41 -40 -39 -36 -35 -33 -31 -31 -32 -32 -32 -32 -31 -29 -28 -28 -29 -31 -33 -34 -33 -31 -32 -34 -35 -32 -27 -24 -25 -28 -31 -31 -31 -31 -32 -31 -32 -32 -33 -36 -38 -41 -44 -47 -49 -49 -49 -16 -17 -20 -23 -26 -29 -31 -32 -32 -33 -32 -31 -31 -31 -31 -30 -29 -29 -29 -28 -27 -28 -30 -31 -33 -35 -36 -36 -35 -35 -36 -36 -37 -38 -39 -41 -42 -42 -40 -39 -39 -40 -42 -43 -44 -44 -44 -44 -44 -43 -42 -40 -38 -37 -38 -39 -40 -40 -43 -47 -49 -47 -43 -42 -43 -45 -45 -46 -45 -45 -45 -45 -45 -45 -45 -45 -45 -45 -45 -44 -44 -44 -44 -44 -44 -42 -40 -39 -39 -40 -41 -43 -47 -51 -54 -53 -50 -44 -39 -36 -37 -40 -42 -41 -40 -38 -38 -38 -39 -38 -35 -32 -30 -29 -28 -28 -32 -36 -39 -40 -39 -35 -32 -30 -31 -32 -31 -30 -30 -32 -31 -29 -24 -22 -24 -27 -31 -32 -29 -27 -27 -29 -33 -38 -43 -46 -48 -49 -49 -48 -45 -40 -36 -34 -32 -31 -31 -31 -31 -30 -29 -31 -33 -34 -33 -32 -31 -30 -30 -32 -35 -37 -40 -41 -41 -40 -39 -38 -39 -40 -41 -43 -46 -49 -51 -51 -51 -53 -56 -59 -61 -61 -60 -62 -66 -68 -67 -60 -56 -54 -54 -54 -54 -55 -57 -59 -62 -63 -63 -61 -60 -59 -60 -61 -62 -64 -66 -67 -68 -67 -66 -65 -64 -63 -62 -61 -60 -58 -56 -53 -48 -45 -42 -39 -39 -42 -47 -50 -47 -43 -41 -42 -44 -45 -44 -44 -42 -40 -40 -41 -42 -42 -40 -39 -38 -38 -36 -34 -35 -38 -41 -43 -42 -40 -39 -40 -40 -40 -39 -41 -42 -45 -48 -51 -51 -50 -50 -51 -54 -56 -57 -57 -58 -60 -63 -67 -70 -73 -76 -79 -80 -81 -80 -79 -79 -79 -80 -80 -80 -79 -78 -78 -78 -79 -80 -80 -80 -79 -77 -74 -70 -69 -69 -69 -67 -63 -60 -58 -57 -57 -57 -55 -53 -50 -49 -47 -46 -44 -41 -39 -36 -34 -32 -32 -33 -33 -32 -30 -28 -27 -28 -28 -30 -33 -37 -41 -41 -41 -42 -43 -44 -43 -42 -41 -42 -41 -40 -39 -37 -35 -36 -37 -39 -41 -41 -40 -39 -37 -35 -33 -32 -32 -33 -33 -34 -34 -35 -32 -29 -28 -27 -28 -29 -31 -33 -33 -29 -30 -32 -34 -32 -27 -24 -24 -26 -28 -29 -30 -30 -30 -30 -32 -33 -32 -34 -37 -40 -44 -47 -48 -49 -50 -15 -16 -18 -20 -24 -27 -30 -31 -32 -32 -32 -31 -30 -31 -31 -31 -30 -30 -30 -30 -30 -30 -31 -32 -34 -36 -37 -37 -36 -35 -35 -34 -34 -35 -37 -39 -40 -40 -39 -38 -38 -39 -41 -43 -43 -44 -43 -43 -43 -42 -40 -39 -37 -36 -36 -37 -37 -38 -41 -44 -46 -43 -41 -41 -42 -44 -45 -45 -45 -44 -44 -44 -45 -46 -47 -46 -46 -46 -46 -46 -46 -46 -46 -45 -44 -41 -39 -38 -39 -39 -40 -42 -46 -50 -52 -53 -50 -44 -38 -35 -36 -40 -44 -44 -41 -38 -36 -37 -37 -37 -36 -34 -34 -32 -30 -28 -31 -34 -38 -40 -39 -35 -32 -31 -34 -37 -36 -33 -30 -29 -29 -27 -25 -22 -21 -22 -25 -29 -31 -30 -31 -34 -37 -42 -46 -50 -52 -52 -51 -46 -41 -36 -35 -33 -32 -31 -31 -31 -31 -30 -30 -32 -34 -35 -35 -33 -32 -32 -32 -33 -35 -37 -39 -40 -41 -41 -40 -40 -40 -41 -42 -44 -45 -48 -50 -50 -51 -52 -57 -61 -63 -62 -59 -60 -63 -66 -66 -62 -58 -56 -54 -53 -54 -56 -58 -60 -63 -64 -64 -62 -61 -61 -61 -62 -63 -64 -66 -67 -68 -67 -66 -64 -64 -63 -62 -62 -63 -63 -61 -56 -49 -44 -40 -39 -40 -42 -46 -50 -49 -47 -44 -43 -43 -41 -40 -39 -37 -35 -34 -36 -39 -42 -43 -42 -41 -40 -38 -38 -39 -40 -42 -43 -42 -40 -39 -41 -43 -43 -43 -43 -43 -44 -46 -49 -50 -50 -49 -50 -52 -53 -55 -56 -57 -60 -63 -67 -71 -73 -76 -78 -80 -80 -79 -78 -78 -79 -80 -80 -80 -79 -78 -78 -78 -79 -79 -79 -79 -78 -76 -75 -72 -70 -70 -70 -68 -65 -62 -60 -59 -58 -57 -56 -54 -51 -49 -48 -47 -45 -42 -39 -36 -33 -31 -32 -32 -32 -30 -29 -27 -26 -26 -26 -27 -30 -36 -40 -40 -40 -40 -41 -41 -40 -39 -38 -39 -39 -39 -38 -37 -35 -36 -38 -39 -41 -40 -38 -36 -34 -33 -32 -32 -32 -33 -35 -36 -36 -37 -34 -31 -29 -28 -28 -29 -30 -31 -31 -27 -27 -29 -31 -29 -25 -23 -23 -24 -25 -27 -29 -29 -29 -30 -31 -32 -32 -33 -36 -40 -43 -46 -48 -49 -49 -16 -16 -17 -19 -21 -24 -28 -30 -30 -30 -30 -30 -30 -30 -31 -32 -30 -30 -30 -31 -32 -32 -32 -33 -35 -37 -38 -38 -37 -36 -35 -34 -33 -33 -34 -36 -38 -39 -39 -38 -38 -39 -40 -42 -43 -43 -43 -42 -41 -40 -39 -37 -36 -35 -35 -36 -36 -36 -38 -41 -42 -41 -40 -40 -41 -42 -43 -44 -44 -44 -43 -43 -44 -46 -47 -47 -47 -47 -47 -47 -47 -47 -47 -45 -43 -41 -40 -39 -40 -40 -42 -44 -46 -48 -50 -50 -47 -42 -37 -34 -34 -39 -44 -45 -43 -38 -35 -35 -35 -35 -35 -37 -39 -38 -34 -29 -30 -32 -34 -36 -36 -34 -32 -32 -36 -41 -41 -36 -30 -28 -27 -26 -25 -24 -23 -22 -23 -24 -26 -28 -32 -36 -38 -41 -46 -50 -52 -53 -51 -46 -40 -35 -33 -33 -32 -32 -32 -31 -31 -31 -32 -33 -34 -34 -34 -33 -33 -33 -33 -34 -35 -37 -38 -39 -40 -41 -42 -42 -41 -42 -43 -44 -46 -47 -49 -49 -50 -52 -58 -62 -63 -61 -59 -60 -61 -63 -63 -62 -59 -57 -54 -53 -54 -56 -58 -60 -62 -64 -64 -63 -62 -62 -61 -61 -62 -63 -65 -67 -68 -68 -66 -64 -63 -62 -63 -64 -66 -67 -66 -59 -51 -44 -40 -40 -41 -42 -44 -47 -49 -49 -47 -43 -40 -37 -36 -35 -33 -30 -29 -32 -38 -43 -45 -44 -42 -40 -38 -39 -40 -42 -41 -41 -41 -42 -43 -44 -45 -45 -45 -46 -45 -45 -46 -49 -50 -50 -49 -50 -51 -52 -53 -55 -57 -60 -64 -68 -71 -73 -75 -78 -79 -79 -78 -77 -77 -78 -79 -79 -79 -78 -77 -77 -78 -78 -78 -78 -78 -77 -75 -74 -72 -71 -70 -70 -68 -66 -65 -63 -61 -59 -57 -56 -54 -52 -50 -49 -47 -46 -43 -40 -37 -34 -32 -32 -32 -32 -31 -29 -27 -26 -26 -25 -25 -28 -34 -38 -39 -39 -39 -38 -37 -36 -35 -34 -35 -36 -37 -37 -35 -34 -35 -36 -38 -39 -37 -35 -34 -34 -33 -33 -33 -33 -34 -36 -36 -37 -38 -35 -32 -30 -29 -29 -29 -30 -30 -28 -26 -26 -27 -28 -26 -23 -21 -21 -22 -23 -26 -28 -29 -29 -30 -31 -32 -32 -34 -36 -40 -43 -46 -47 -48 -48 -19 -17 -17 -18 -20 -22 -25 -27 -28 -29 -29 -30 -31 -31 -31 -31 -30 -29 -30 -31 -33 -34 -35 -36 -37 -38 -39 -38 -38 -37 -36 -34 -33 -32 -33 -36 -38 -39 -39 -39 -39 -40 -40 -41 -42 -41 -41 -40 -39 -39 -38 -36 -35 -34 -34 -35 -36 -36 -37 -39 -40 -40 -40 -40 -40 -41 -43 -43 -43 -43 -42 -41 -42 -44 -46 -47 -47 -47 -47 -47 -47 -47 -46 -45 -43 -42 -42 -42 -41 -42 -44 -47 -49 -48 -47 -46 -44 -41 -36 -33 -33 -37 -43 -46 -44 -39 -35 -35 -34 -33 -34 -38 -42 -41 -36 -30 -30 -31 -33 -34 -35 -34 -33 -34 -37 -41 -40 -36 -30 -27 -26 -26 -26 -26 -26 -25 -25 -25 -26 -30 -34 -38 -40 -41 -44 -47 -51 -53 -51 -46 -40 -35 -33 -32 -32 -33 -32 -32 -31 -31 -31 -32 -33 -32 -32 -33 -33 -34 -35 -36 -37 -38 -38 -38 -38 -40 -42 -43 -43 -43 -44 -45 -46 -47 -48 -48 -49 -52 -57 -61 -62 -61 -59 -59 -60 -61 -61 -61 -60 -58 -55 -53 -54 -55 -58 -60 -62 -63 -63 -62 -62 -62 -61 -61 -61 -62 -63 -65 -68 -68 -67 -65 -62 -61 -64 -67 -69 -68 -65 -58 -51 -44 -42 -42 -42 -43 -44 -47 -48 -46 -43 -39 -37 -36 -35 -33 -30 -28 -29 -34 -41 -45 -45 -42 -38 -37 -37 -38 -40 -42 -42 -42 -43 -44 -46 -46 -46 -45 -45 -45 -45 -46 -47 -49 -50 -50 -49 -50 -51 -51 -52 -55 -58 -61 -65 -68 -71 -73 -75 -77 -78 -77 -76 -76 -76 -77 -78 -78 -78 -77 -77 -76 -77 -77 -77 -78 -77 -76 -74 -72 -72 -71 -70 -69 -68 -67 -66 -63 -61 -59 -57 -55 -53 -52 -50 -49 -48 -47 -44 -41 -37 -34 -33 -32 -32 -33 -33 -31 -28 -26 -25 -24 -24 -27 -31 -35 -37 -39 -39 -38 -36 -35 -34 -34 -35 -37 -37 -36 -34 -33 -33 -34 -34 -35 -34 -32 -32 -34 -34 -34 -34 -34 -34 -34 -35 -36 -37 -35 -33 -31 -31 -30 -30 -30 -30 -27 -25 -25 -26 -26 -25 -22 -19 -18 -19 -22 -26 -30 -29 -29 -30 -31 -33 -33 -35 -38 -41 -43 -46 -47 -48 -48 -22 -20 -18 -18 -19 -20 -22 -24 -26 -27 -29 -31 -32 -33 -33 -32 -31 -30 -30 -31 -33 -35 -36 -37 -38 -39 -39 -38 -38 -38 -36 -34 -32 -31 -33 -36 -38 -38 -39 -39 -39 -40 -40 -40 -40 -40 -39 -39 -38 -37 -36 -35 -33 -33 -34 -34 -35 -35 -36 -38 -39 -39 -40 -40 -41 -41 -42 -42 -42 -41 -40 -40 -41 -43 -45 -46 -47 -47 -47 -47 -46 -45 -44 -43 -43 -43 -44 -44 -43 -43 -45 -49 -50 -48 -46 -44 -41 -39 -36 -33 -33 -35 -42 -45 -44 -39 -35 -35 -34 -34 -35 -39 -41 -39 -35 -30 -30 -31 -32 -34 -35 -35 -35 -35 -36 -37 -37 -34 -30 -27 -26 -26 -26 -27 -27 -28 -28 -29 -30 -32 -35 -38 -39 -40 -43 -47 -50 -51 -49 -46 -41 -36 -33 -32 -33 -33 -33 -33 -33 -32 -33 -33 -32 -32 -32 -33 -34 -35 -37 -39 -40 -40 -39 -38 -37 -39 -41 -43 -44 -44 -45 -45 -46 -47 -47 -48 -48 -51 -55 -58 -60 -60 -59 -59 -60 -60 -60 -61 -60 -59 -56 -55 -54 -55 -57 -59 -61 -62 -62 -61 -61 -61 -60 -60 -60 -61 -62 -64 -65 -67 -67 -66 -63 -62 -66 -69 -69 -65 -60 -54 -49 -45 -44 -43 -43 -43 -45 -47 -46 -43 -40 -39 -39 -39 -38 -37 -36 -36 -37 -39 -44 -45 -42 -36 -32 -33 -35 -37 -40 -43 -44 -44 -45 -46 -46 -46 -46 -45 -45 -45 -45 -46 -49 -51 -50 -50 -50 -50 -50 -51 -52 -55 -58 -61 -65 -68 -71 -72 -74 -75 -76 -75 -75 -74 -75 -75 -76 -76 -76 -76 -76 -75 -76 -76 -77 -77 -76 -75 -73 -71 -70 -70 -69 -69 -69 -68 -66 -63 -61 -59 -57 -55 -54 -53 -51 -50 -48 -47 -44 -41 -38 -35 -33 -31 -31 -33 -34 -32 -29 -26 -24 -22 -22 -24 -28 -32 -35 -38 -40 -38 -37 -37 -37 -38 -39 -40 -41 -39 -37 -35 -34 -33 -32 -32 -31 -31 -31 -34 -34 -34 -34 -33 -33 -33 -33 -34 -35 -34 -33 -32 -31 -31 -31 -31 -30 -27 -25 -25 -25 -25 -23 -21 -18 -17 -18 -23 -28 -31 -29 -30 -30 -32 -34 -34 -36 -38 -41 -43 -45 -47 -48 -48 -24 -23 -21 -20 -20 -20 -20 -22 -25 -28 -30 -32 -33 -34 -34 -34 -33 -32 -31 -32 -33 -34 -36 -37 -38 -39 -38 -38 -39 -39 -37 -34 -32 -31 -33 -36 -38 -38 -38 -38 -39 -39 -39 -38 -38 -38 -38 -37 -36 -35 -34 -33 -32 -32 -33 -33 -34 -34 -36 -37 -38 -38 -39 -39 -40 -41 -41 -40 -39 -39 -38 -39 -41 -43 -45 -46 -46 -47 -47 -46 -44 -43 -42 -41 -41 -42 -44 -45 -44 -44 -45 -47 -48 -46 -44 -42 -40 -37 -35 -33 -32 -34 -40 -43 -42 -37 -35 -35 -36 -36 -37 -38 -38 -36 -34 -32 -30 -30 -31 -33 -34 -34 -34 -33 -33 -32 -32 -32 -30 -28 -28 -28 -28 -27 -28 -29 -31 -33 -34 -35 -35 -35 -36 -39 -43 -47 -49 -49 -47 -44 -40 -36 -34 -33 -33 -34 -34 -34 -34 -34 -34 -34 -34 -33 -33 -34 -35 -37 -38 -41 -42 -43 -41 -38 -37 -37 -39 -42 -44 -44 -45 -45 -46 -47 -47 -46 -46 -49 -52 -55 -57 -58 -59 -59 -59 -59 -59 -60 -60 -59 -57 -56 -56 -56 -57 -58 -59 -60 -60 -60 -59 -59 -58 -58 -58 -59 -60 -62 -64 -66 -68 -68 -67 -65 -65 -64 -63 -57 -52 -49 -48 -47 -46 -45 -44 -44 -44 -45 -43 -41 -40 -41 -43 -44 -43 -43 -44 -45 -46 -46 -42 -37 -32 -29 -28 -30 -34 -38 -41 -44 -45 -45 -44 -44 -46 -46 -46 -46 -46 -45 -46 -47 -50 -51 -51 -50 -50 -50 -51 -52 -54 -57 -60 -62 -65 -68 -70 -71 -72 -73 -74 -73 -73 -73 -73 -74 -75 -75 -74 -74 -74 -74 -75 -76 -76 -76 -75 -74 -73 -71 -69 -68 -68 -69 -69 -68 -66 -63 -61 -59 -57 -56 -55 -54 -52 -51 -49 -47 -45 -43 -39 -36 -32 -30 -30 -32 -34 -33 -29 -26 -23 -22 -22 -23 -26 -31 -35 -38 -40 -38 -39 -40 -41 -42 -43 -44 -44 -42 -40 -38 -36 -35 -34 -33 -32 -31 -31 -32 -33 -33 -32 -32 -32 -32 -32 -32 -33 -33 -33 -32 -32 -32 -32 -32 -30 -26 -25 -25 -25 -25 -23 -20 -19 -19 -20 -24 -28 -30 -29 -29 -30 -31 -34 -35 -36 -38 -41 -43 -45 -47 -49 -50 -25 -25 -23 -21 -20 -20 -20 -23 -26 -29 -30 -31 -33 -34 -35 -35 -35 -34 -33 -33 -33 -34 -35 -37 -38 -38 -38 -38 -39 -39 -37 -34 -32 -32 -34 -37 -38 -39 -38 -38 -37 -37 -37 -37 -37 -37 -36 -37 -36 -35 -33 -31 -30 -31 -31 -32 -32 -33 -35 -36 -37 -38 -38 -39 -39 -40 -39 -39 -38 -38 -37 -38 -40 -42 -44 -45 -46 -46 -47 -45 -43 -42 -40 -38 -37 -39 -42 -46 -47 -46 -45 -44 -45 -43 -42 -40 -38 -35 -33 -31 -31 -34 -39 -41 -40 -36 -34 -36 -37 -38 -39 -38 -37 -35 -35 -34 -32 -31 -31 -32 -32 -32 -31 -30 -28 -28 -29 -31 -32 -31 -30 -30 -30 -30 -30 -31 -33 -35 -37 -37 -36 -34 -34 -38 -43 -47 -50 -48 -45 -42 -38 -36 -34 -34 -34 -34 -34 -34 -34 -35 -35 -36 -35 -35 -34 -34 -36 -37 -39 -42 -44 -45 -43 -40 -37 -37 -38 -40 -41 -42 -43 -44 -45 -46 -45 -44 -44 -47 -50 -53 -55 -57 -58 -58 -58 -58 -58 -58 -59 -59 -58 -58 -57 -57 -57 -57 -58 -58 -59 -59 -58 -57 -57 -56 -57 -58 -60 -61 -63 -66 -69 -71 -70 -65 -60 -56 -54 -53 -50 -49 -48 -47 -46 -46 -46 -45 -44 -43 -42 -41 -41 -42 -44 -46 -48 -48 -50 -53 -55 -51 -40 -30 -24 -24 -26 -29 -34 -39 -42 -44 -44 -43 -42 -43 -45 -46 -46 -46 -47 -47 -47 -49 -51 -51 -51 -50 -50 -51 -51 -53 -56 -59 -61 -63 -65 -67 -69 -71 -71 -72 -72 -71 -70 -71 -72 -73 -73 -73 -73 -73 -73 -73 -74 -75 -75 -75 -74 -73 -71 -69 -67 -66 -67 -69 -69 -69 -66 -63 -61 -59 -57 -57 -56 -55 -54 -52 -49 -47 -46 -43 -40 -37 -33 -31 -30 -32 -33 -32 -29 -27 -24 -23 -22 -23 -25 -29 -33 -37 -39 -38 -40 -42 -43 -44 -45 -46 -46 -44 -41 -39 -38 -36 -35 -34 -33 -32 -31 -31 -31 -32 -31 -31 -32 -32 -32 -32 -33 -33 -33 -32 -32 -32 -33 -34 -29 -26 -24 -25 -26 -25 -23 -21 -20 -20 -21 -23 -26 -27 -28 -29 -30 -31 -33 -34 -36 -37 -40 -42 -45 -47 -49 -50 -25 -25 -24 -22 -21 -21 -22 -25 -28 -29 -30 -31 -33 -35 -36 -36 -35 -35 -35 -35 -35 -35 -35 -36 -37 -37 -37 -38 -39 -39 -37 -35 -33 -33 -35 -38 -39 -40 -39 -37 -36 -36 -36 -36 -35 -35 -36 -36 -37 -36 -33 -30 -29 -30 -30 -30 -30 -31 -33 -35 -36 -36 -37 -37 -37 -37 -37 -37 -37 -37 -37 -36 -38 -40 -43 -44 -45 -45 -45 -44 -42 -40 -37 -34 -33 -36 -41 -45 -48 -48 -45 -42 -41 -41 -39 -38 -37 -34 -31 -30 -30 -33 -38 -40 -38 -35 -34 -36 -38 -38 -37 -36 -35 -35 -34 -34 -33 -32 -31 -30 -30 -30 -30 -29 -27 -26 -27 -30 -33 -34 -33 -33 -33 -33 -33 -33 -34 -36 -37 -37 -36 -35 -35 -38 -43 -47 -50 -47 -44 -40 -37 -35 -34 -34 -34 -35 -34 -34 -34 -35 -36 -37 -37 -37 -36 -36 -37 -38 -40 -43 -46 -48 -46 -42 -39 -38 -38 -38 -39 -40 -41 -43 -44 -44 -44 -43 -44 -46 -49 -52 -54 -55 -56 -57 -57 -57 -57 -57 -58 -58 -58 -58 -58 -58 -57 -56 -56 -56 -57 -58 -58 -57 -56 -56 -56 -57 -59 -61 -63 -66 -70 -72 -71 -63 -56 -52 -51 -51 -51 -49 -47 -45 -44 -44 -45 -45 -45 -45 -45 -44 -43 -42 -43 -46 -49 -50 -53 -56 -58 -55 -41 -29 -22 -21 -25 -31 -37 -41 -43 -44 -44 -42 -40 -41 -44 -45 -46 -47 -48 -49 -50 -51 -52 -51 -50 -50 -50 -51 -52 -54 -57 -60 -61 -63 -64 -66 -69 -70 -71 -71 -70 -69 -68 -69 -71 -72 -72 -72 -72 -72 -71 -72 -72 -74 -74 -74 -73 -72 -70 -68 -66 -66 -67 -69 -70 -69 -67 -63 -61 -59 -58 -58 -57 -57 -55 -53 -50 -48 -45 -43 -40 -38 -36 -34 -32 -32 -32 -32 -29 -28 -26 -24 -23 -23 -25 -28 -31 -35 -36 -37 -39 -41 -43 -44 -45 -46 -45 -44 -41 -39 -37 -37 -36 -35 -33 -32 -31 -31 -31 -32 -32 -32 -33 -33 -33 -33 -33 -33 -33 -33 -32 -33 -34 -35 -30 -26 -26 -27 -27 -26 -24 -22 -22 -21 -21 -22 -25 -26 -28 -29 -31 -31 -32 -34 -35 -37 -39 -42 -44 -47 -49 -49 -25 -25 -24 -23 -23 -24 -25 -26 -28 -29 -30 -31 -34 -36 -37 -36 -36 -36 -37 -37 -37 -36 -35 -35 -36 -37 -36 -37 -38 -38 -37 -35 -34 -34 -36 -39 -40 -41 -40 -37 -35 -35 -35 -35 -35 -35 -35 -36 -37 -37 -35 -31 -28 -28 -29 -29 -30 -31 -32 -34 -35 -36 -36 -36 -36 -35 -35 -36 -36 -36 -34 -33 -34 -37 -39 -40 -41 -42 -42 -40 -39 -36 -34 -32 -32 -34 -39 -44 -48 -48 -46 -43 -40 -39 -38 -37 -35 -33 -30 -28 -29 -32 -36 -38 -36 -34 -34 -36 -38 -39 -36 -33 -33 -33 -33 -33 -33 -32 -30 -28 -28 -28 -29 -29 -27 -27 -27 -30 -33 -35 -34 -33 -34 -35 -35 -35 -36 -36 -37 -38 -38 -38 -38 -39 -43 -47 -50 -47 -43 -40 -38 -35 -35 -35 -34 -35 -35 -35 -35 -35 -36 -38 -39 -40 -39 -38 -39 -39 -41 -45 -48 -49 -47 -43 -41 -39 -38 -37 -38 -39 -40 -41 -42 -42 -42 -42 -43 -45 -48 -50 -53 -54 -55 -56 -56 -56 -56 -57 -57 -57 -58 -59 -59 -58 -57 -56 -55 -55 -55 -57 -57 -57 -56 -56 -57 -57 -58 -59 -62 -66 -70 -72 -70 -61 -54 -50 -50 -50 -50 -49 -47 -45 -45 -44 -44 -44 -46 -49 -50 -49 -45 -42 -42 -45 -48 -50 -52 -55 -57 -55 -43 -31 -22 -20 -24 -32 -37 -41 -42 -44 -44 -43 -43 -44 -46 -46 -47 -48 -50 -52 -53 -53 -52 -51 -50 -50 -50 -51 -53 -55 -58 -60 -61 -61 -62 -65 -68 -69 -70 -69 -68 -68 -68 -68 -70 -71 -71 -71 -71 -71 -70 -71 -72 -73 -73 -73 -72 -71 -69 -67 -66 -67 -69 -71 -71 -69 -67 -63 -61 -59 -58 -59 -58 -57 -56 -54 -51 -48 -46 -43 -41 -40 -39 -37 -35 -34 -32 -30 -29 -28 -27 -26 -25 -24 -24 -27 -30 -33 -34 -36 -38 -40 -41 -43 -43 -43 -43 -42 -40 -38 -36 -36 -35 -35 -33 -31 -30 -31 -31 -32 -32 -33 -34 -34 -34 -33 -33 -33 -32 -33 -33 -33 -34 -35 -32 -29 -28 -28 -29 -27 -25 -23 -23 -22 -22 -22 -24 -26 -27 -29 -30 -32 -33 -34 -35 -37 -39 -42 -44 -46 -48 -48 -25 -24 -24 -25 -26 -26 -27 -27 -28 -29 -31 -33 -35 -37 -38 -38 -37 -38 -38 -38 -38 -38 -36 -36 -36 -36 -35 -35 -36 -37 -37 -36 -35 -36 -37 -40 -42 -42 -41 -38 -36 -35 -34 -34 -34 -34 -34 -35 -37 -38 -36 -32 -29 -28 -28 -29 -31 -32 -32 -33 -34 -36 -36 -36 -35 -34 -35 -35 -35 -33 -30 -30 -32 -34 -36 -36 -36 -36 -36 -36 -35 -33 -31 -31 -32 -34 -38 -43 -48 -48 -47 -44 -41 -40 -39 -37 -35 -32 -28 -27 -28 -32 -35 -35 -35 -33 -34 -35 -37 -38 -37 -34 -32 -32 -32 -31 -30 -28 -27 -25 -26 -27 -29 -29 -27 -28 -29 -31 -34 -36 -35 -34 -33 -34 -35 -37 -39 -40 -40 -40 -40 -41 -42 -43 -46 -49 -50 -46 -43 -41 -39 -37 -35 -35 -35 -35 -35 -35 -35 -36 -37 -39 -41 -42 -41 -41 -40 -41 -42 -46 -49 -50 -48 -43 -42 -40 -38 -37 -37 -39 -40 -40 -41 -42 -42 -42 -43 -44 -47 -49 -52 -53 -54 -54 -55 -56 -56 -57 -57 -58 -58 -58 -57 -56 -56 -55 -54 -53 -53 -54 -55 -56 -56 -57 -57 -57 -57 -58 -61 -66 -70 -72 -69 -60 -54 -50 -50 -50 -50 -49 -48 -47 -46 -45 -45 -45 -46 -50 -53 -52 -46 -42 -42 -44 -47 -49 -51 -54 -55 -54 -45 -34 -24 -19 -24 -30 -35 -37 -39 -42 -43 -44 -45 -46 -47 -47 -48 -50 -53 -54 -54 -53 -52 -51 -50 -50 -50 -51 -52 -55 -58 -59 -60 -60 -61 -63 -66 -68 -69 -69 -68 -67 -67 -68 -69 -70 -70 -70 -70 -70 -70 -70 -71 -72 -73 -73 -72 -71 -69 -67 -67 -68 -69 -70 -70 -69 -67 -63 -60 -59 -59 -59 -59 -58 -56 -54 -52 -49 -46 -43 -42 -41 -41 -40 -38 -36 -34 -30 -29 -28 -28 -27 -27 -26 -26 -28 -31 -33 -34 -36 -38 -39 -39 -41 -41 -40 -40 -40 -39 -36 -34 -35 -35 -35 -34 -32 -31 -31 -32 -32 -32 -32 -33 -33 -33 -32 -32 -32 -32 -33 -33 -33 -34 -35 -32 -30 -28 -29 -29 -28 -26 -24 -23 -23 -22 -22 -23 -25 -27 -29 -31 -32 -33 -35 -36 -37 -40 -42 -44 -46 -47 -47 -26 -25 -25 -26 -28 -29 -29 -28 -28 -30 -32 -35 -36 -38 -39 -40 -39 -39 -39 -39 -39 -39 -38 -38 -37 -36 -35 -34 -35 -36 -36 -36 -36 -37 -38 -41 -42 -43 -42 -40 -37 -36 -35 -34 -34 -34 -34 -35 -37 -38 -36 -33 -29 -28 -29 -30 -32 -33 -33 -33 -34 -37 -37 -36 -35 -35 -35 -35 -33 -31 -29 -29 -31 -32 -32 -31 -29 -29 -30 -32 -32 -31 -30 -31 -33 -35 -38 -43 -47 -47 -46 -44 -42 -42 -41 -39 -36 -30 -26 -26 -29 -32 -34 -34 -33 -32 -33 -34 -35 -36 -36 -34 -32 -31 -30 -28 -26 -24 -24 -23 -25 -27 -30 -30 -28 -28 -29 -32 -36 -37 -36 -34 -32 -32 -34 -38 -42 -43 -42 -42 -42 -43 -44 -46 -49 -52 -53 -47 -43 -41 -41 -39 -37 -36 -36 -35 -35 -35 -36 -36 -38 -40 -42 -44 -43 -42 -42 -42 -43 -47 -51 -51 -47 -43 -42 -41 -38 -36 -37 -38 -39 -40 -41 -41 -41 -42 -43 -44 -46 -48 -50 -52 -52 -53 -54 -56 -57 -57 -58 -58 -58 -57 -55 -53 -53 -54 -53 -52 -51 -51 -52 -54 -55 -56 -57 -57 -57 -58 -61 -65 -68 -70 -68 -60 -55 -52 -51 -51 -50 -49 -48 -49 -48 -47 -46 -46 -47 -49 -51 -51 -46 -42 -42 -44 -46 -47 -51 -55 -56 -55 -47 -35 -25 -20 -24 -28 -32 -33 -35 -39 -42 -44 -46 -47 -47 -48 -50 -53 -55 -55 -53 -51 -50 -50 -50 -50 -50 -51 -52 -54 -58 -59 -60 -60 -60 -62 -64 -66 -68 -68 -68 -67 -67 -67 -68 -68 -69 -69 -69 -69 -69 -70 -71 -71 -72 -72 -72 -71 -69 -68 -68 -69 -69 -68 -68 -68 -66 -63 -61 -59 -59 -59 -58 -58 -56 -54 -52 -49 -47 -44 -42 -41 -41 -41 -40 -38 -35 -31 -28 -28 -28 -28 -28 -30 -30 -31 -33 -34 -35 -36 -37 -38 -38 -39 -39 -39 -39 -39 -37 -34 -32 -33 -34 -35 -35 -34 -33 -33 -34 -33 -33 -32 -32 -32 -31 -31 -32 -32 -32 -33 -33 -34 -34 -34 -32 -30 -29 -29 -29 -29 -27 -25 -23 -23 -23 -23 -22 -24 -27 -30 -32 -31 -32 -34 -36 -36 -39 -42 -45 -46 -48 -46 -27 -26 -27 -28 -29 -30 -29 -28 -28 -31 -34 -36 -37 -38 -40 -41 -41 -40 -39 -38 -39 -40 -39 -38 -37 -36 -34 -34 -35 -36 -36 -36 -36 -38 -39 -41 -42 -43 -43 -41 -39 -37 -35 -34 -34 -34 -34 -35 -36 -37 -36 -33 -30 -29 -29 -31 -32 -33 -33 -34 -35 -38 -38 -37 -36 -35 -35 -33 -32 -30 -29 -29 -30 -30 -29 -26 -24 -24 -26 -29 -29 -29 -30 -31 -34 -37 -40 -43 -46 -45 -44 -42 -42 -43 -43 -41 -36 -29 -25 -26 -29 -33 -35 -35 -33 -32 -32 -33 -34 -35 -36 -35 -32 -30 -28 -25 -23 -22 -22 -23 -24 -27 -30 -32 -30 -28 -29 -32 -36 -37 -36 -33 -30 -31 -35 -39 -43 -44 -43 -43 -43 -43 -43 -46 -51 -56 -57 -50 -43 -40 -40 -40 -38 -37 -36 -36 -35 -35 -37 -38 -39 -41 -43 -44 -44 -43 -42 -42 -44 -48 -52 -52 -48 -43 -42 -40 -38 -37 -37 -38 -39 -40 -41 -41 -41 -41 -42 -43 -45 -47 -49 -50 -50 -52 -54 -56 -58 -58 -58 -59 -59 -56 -53 -51 -51 -52 -52 -52 -50 -49 -50 -52 -53 -55 -56 -56 -56 -57 -60 -63 -66 -67 -66 -60 -56 -54 -53 -52 -50 -49 -48 -50 -51 -50 -49 -48 -46 -46 -47 -47 -45 -43 -42 -42 -43 -45 -49 -54 -58 -56 -46 -34 -24 -22 -25 -28 -30 -31 -33 -37 -41 -44 -46 -48 -48 -48 -50 -54 -55 -54 -52 -50 -50 -50 -51 -51 -50 -50 -51 -53 -57 -59 -60 -60 -60 -61 -63 -65 -67 -68 -68 -67 -67 -67 -67 -68 -68 -68 -68 -69 -69 -70 -70 -71 -71 -71 -71 -70 -69 -69 -69 -69 -68 -67 -67 -66 -65 -63 -61 -60 -59 -58 -58 -57 -55 -54 -52 -50 -47 -44 -42 -41 -41 -42 -42 -41 -37 -33 -30 -29 -28 -28 -29 -33 -34 -34 -34 -34 -34 -35 -36 -37 -37 -37 -38 -38 -38 -38 -35 -32 -30 -31 -33 -35 -35 -34 -33 -34 -34 -34 -33 -32 -31 -31 -32 -33 -33 -33 -33 -33 -33 -34 -34 -33 -33 -32 -30 -30 -30 -29 -28 -25 -24 -24 -24 -23 -22 -24 -27 -30 -32 -31 -31 -33 -35 -35 -37 -41 -44 -46 -47 -46 -29 -28 -29 -29 -30 -30 -29 -28 -29 -32 -35 -37 -38 -39 -40 -41 -42 -41 -40 -39 -39 -40 -39 -38 -36 -35 -34 -34 -35 -36 -36 -36 -36 -37 -39 -40 -41 -42 -42 -41 -39 -38 -36 -34 -34 -34 -34 -34 -35 -36 -35 -34 -31 -30 -30 -31 -32 -33 -34 -35 -36 -39 -39 -38 -36 -35 -33 -32 -32 -31 -31 -30 -30 -29 -27 -24 -23 -24 -25 -27 -27 -28 -29 -32 -36 -39 -42 -43 -43 -41 -40 -40 -41 -44 -45 -43 -37 -28 -25 -25 -29 -33 -36 -37 -35 -33 -32 -33 -34 -35 -36 -34 -32 -29 -27 -23 -22 -21 -21 -22 -23 -25 -28 -32 -31 -29 -29 -31 -34 -36 -35 -32 -30 -32 -36 -40 -42 -43 -44 -43 -42 -42 -43 -47 -53 -59 -59 -51 -44 -40 -40 -39 -38 -37 -37 -36 -36 -37 -38 -40 -40 -41 -42 -44 -44 -43 -43 -43 -45 -49 -53 -53 -49 -43 -42 -40 -38 -37 -37 -38 -39 -41 -42 -41 -40 -40 -41 -42 -44 -46 -47 -48 -49 -51 -54 -57 -59 -59 -58 -58 -58 -56 -53 -51 -50 -50 -51 -51 -49 -48 -48 -50 -52 -54 -55 -56 -57 -58 -59 -61 -63 -64 -63 -60 -57 -55 -54 -52 -51 -49 -49 -50 -52 -53 -54 -52 -48 -45 -44 -45 -45 -44 -42 -41 -41 -44 -48 -53 -57 -53 -42 -30 -23 -24 -29 -32 -32 -32 -33 -36 -40 -43 -48 -50 -50 -50 -51 -54 -56 -55 -53 -51 -51 -51 -52 -52 -51 -51 -51 -52 -55 -58 -60 -60 -60 -60 -62 -64 -66 -67 -67 -68 -68 -68 -68 -68 -68 -68 -68 -69 -70 -70 -70 -70 -71 -71 -71 -69 -69 -69 -69 -68 -67 -67 -66 -66 -65 -63 -62 -60 -59 -59 -58 -56 -55 -54 -52 -50 -47 -44 -42 -41 -41 -44 -44 -43 -40 -36 -33 -31 -30 -29 -29 -32 -33 -33 -32 -32 -32 -32 -33 -34 -35 -36 -37 -37 -37 -36 -34 -32 -30 -31 -32 -34 -34 -33 -33 -33 -34 -33 -33 -32 -31 -31 -32 -34 -35 -34 -33 -33 -33 -34 -33 -33 -33 -33 -31 -30 -30 -29 -28 -26 -24 -23 -23 -22 -23 -24 -27 -30 -32 -31 -31 -31 -33 -34 -36 -40 -43 -45 -47 -46 -31 -30 -30 -30 -30 -30 -30 -30 -31 -33 -36 -38 -40 -40 -40 -40 -41 -42 -41 -40 -39 -39 -38 -36 -35 -34 -34 -34 -35 -36 -36 -35 -36 -36 -38 -39 -39 -40 -39 -39 -38 -37 -35 -34 -34 -34 -34 -33 -33 -33 -34 -33 -32 -32 -32 -32 -32 -33 -34 -36 -38 -39 -39 -38 -36 -35 -33 -32 -32 -33 -33 -32 -31 -29 -27 -24 -23 -23 -25 -26 -26 -27 -29 -32 -37 -41 -42 -41 -38 -37 -36 -37 -38 -42 -44 -42 -36 -28 -24 -25 -29 -33 -37 -39 -38 -35 -33 -33 -34 -36 -36 -33 -30 -27 -25 -23 -21 -20 -20 -20 -21 -23 -26 -29 -30 -28 -28 -29 -32 -34 -34 -33 -32 -34 -38 -41 -42 -42 -42 -42 -41 -41 -44 -49 -55 -59 -57 -50 -45 -42 -40 -37 -36 -36 -36 -36 -36 -38 -40 -42 -42 -42 -42 -43 -43 -43 -43 -44 -46 -49 -52 -53 -49 -44 -42 -40 -39 -38 -37 -38 -39 -41 -43 -43 -42 -42 -41 -42 -43 -45 -46 -47 -48 -51 -55 -59 -60 -59 -57 -57 -57 -55 -53 -51 -50 -50 -50 -49 -49 -47 -48 -49 -51 -53 -54 -56 -57 -58 -58 -59 -59 -60 -59 -57 -56 -55 -55 -52 -51 -50 -49 -49 -52 -56 -59 -58 -51 -46 -44 -45 -45 -43 -41 -39 -39 -44 -49 -53 -56 -50 -38 -28 -23 -26 -32 -36 -36 -33 -34 -36 -39 -43 -48 -51 -52 -52 -53 -55 -57 -56 -54 -52 -52 -52 -52 -52 -51 -50 -50 -52 -55 -57 -59 -59 -60 -60 -61 -63 -65 -66 -67 -68 -69 -69 -69 -69 -69 -69 -69 -69 -70 -70 -70 -71 -71 -71 -71 -69 -69 -69 -69 -68 -67 -66 -66 -66 -65 -64 -62 -61 -59 -59 -58 -56 -55 -54 -53 -51 -48 -44 -42 -41 -42 -45 -45 -43 -40 -37 -35 -33 -31 -30 -29 -30 -30 -30 -29 -28 -28 -28 -29 -31 -33 -35 -36 -36 -36 -35 -34 -32 -31 -30 -30 -32 -33 -32 -32 -32 -32 -32 -32 -32 -31 -31 -33 -35 -36 -36 -35 -34 -34 -33 -32 -32 -32 -33 -31 -30 -29 -28 -27 -25 -23 -22 -22 -22 -23 -24 -26 -29 -31 -31 -30 -30 -31 -33 -35 -38 -41 -44 -45 -45 -30 -29 -29 -29 -30 -31 -31 -32 -33 -35 -37 -39 -41 -41 -40 -39 -39 -40 -41 -40 -39 -38 -36 -34 -33 -33 -33 -33 -34 -35 -34 -34 -34 -35 -36 -36 -37 -37 -37 -37 -36 -35 -34 -34 -35 -34 -34 -33 -33 -33 -33 -33 -32 -32 -32 -33 -33 -33 -34 -36 -37 -38 -37 -36 -35 -34 -33 -33 -33 -33 -34 -33 -31 -29 -26 -23 -22 -23 -25 -25 -26 -27 -30 -33 -37 -39 -39 -37 -34 -33 -34 -35 -37 -40 -42 -41 -35 -27 -24 -25 -28 -31 -35 -39 -40 -38 -34 -32 -32 -34 -34 -31 -27 -25 -23 -22 -22 -21 -20 -21 -23 -25 -26 -27 -26 -25 -25 -27 -29 -31 -32 -33 -33 -36 -41 -43 -42 -39 -39 -40 -40 -42 -46 -51 -55 -57 -53 -49 -46 -42 -39 -36 -35 -35 -36 -36 -37 -39 -41 -43 -43 -43 -42 -42 -43 -44 -44 -45 -47 -50 -52 -52 -49 -44 -42 -40 -39 -38 -38 -38 -40 -41 -43 -43 -43 -42 -40 -40 -42 -44 -46 -47 -49 -51 -55 -60 -61 -59 -56 -55 -55 -55 -54 -52 -51 -50 -50 -49 -49 -48 -47 -48 -50 -52 -54 -55 -57 -58 -58 -57 -56 -56 -56 -56 -55 -55 -54 -51 -49 -49 -50 -50 -52 -57 -61 -61 -54 -48 -45 -45 -45 -43 -40 -38 -39 -45 -51 -54 -54 -45 -33 -25 -22 -28 -36 -41 -40 -36 -34 -35 -38 -43 -49 -53 -54 -55 -55 -56 -57 -56 -54 -53 -52 -52 -52 -51 -50 -50 -50 -52 -55 -57 -58 -59 -60 -60 -61 -63 -65 -67 -68 -69 -70 -70 -70 -70 -70 -70 -70 -70 -70 -70 -70 -71 -71 -71 -70 -69 -69 -68 -69 -68 -66 -65 -66 -66 -66 -64 -62 -60 -59 -59 -58 -57 -55 -54 -53 -52 -49 -45 -41 -40 -41 -44 -44 -42 -39 -37 -35 -33 -31 -29 -29 -29 -28 -27 -27 -26 -25 -24 -24 -27 -30 -33 -35 -35 -35 -34 -33 -31 -30 -30 -30 -31 -32 -31 -31 -32 -32 -31 -32 -32 -32 -32 -34 -35 -36 -36 -35 -35 -35 -33 -32 -31 -32 -32 -31 -30 -28 -26 -25 -23 -22 -21 -21 -22 -24 -25 -26 -28 -30 -30 -30 -30 -30 -31 -33 -35 -39 -41 -43 -44 -28 -26 -26 -27 -29 -31 -32 -33 -35 -37 -39 -40 -41 -42 -40 -38 -36 -37 -38 -39 -39 -37 -34 -32 -32 -32 -32 -33 -33 -34 -33 -33 -33 -33 -33 -34 -34 -35 -35 -35 -35 -34 -34 -34 -35 -34 -33 -32 -32 -33 -33 -33 -32 -32 -33 -34 -35 -35 -35 -35 -36 -36 -36 -35 -35 -34 -34 -33 -33 -33 -33 -32 -31 -29 -26 -24 -22 -22 -23 -25 -27 -30 -33 -36 -37 -37 -36 -34 -32 -32 -33 -34 -37 -39 -40 -38 -34 -29 -26 -25 -27 -30 -35 -38 -40 -38 -33 -29 -27 -28 -27 -26 -25 -23 -23 -23 -23 -24 -25 -27 -28 -28 -26 -23 -21 -22 -24 -26 -29 -30 -31 -31 -32 -36 -40 -41 -38 -36 -37 -38 -40 -42 -47 -52 -55 -54 -52 -49 -46 -42 -37 -35 -35 -36 -37 -37 -38 -40 -41 -42 -42 -42 -41 -42 -43 -44 -45 -47 -49 -52 -53 -52 -48 -44 -42 -40 -40 -39 -39 -39 -40 -42 -43 -44 -44 -43 -41 -41 -42 -44 -46 -47 -49 -52 -55 -59 -61 -60 -57 -54 -54 -54 -54 -53 -52 -51 -50 -50 -49 -48 -48 -48 -50 -52 -53 -55 -57 -58 -57 -56 -54 -54 -54 -54 -54 -53 -53 -51 -49 -47 -48 -49 -52 -56 -60 -61 -56 -50 -46 -44 -44 -42 -41 -40 -43 -48 -53 -55 -49 -38 -29 -23 -23 -30 -39 -44 -44 -39 -36 -35 -38 -43 -49 -53 -55 -56 -56 -56 -57 -56 -55 -53 -52 -52 -51 -50 -49 -49 -50 -52 -54 -56 -58 -59 -60 -61 -63 -65 -66 -67 -69 -70 -71 -71 -72 -71 -71 -71 -71 -71 -70 -70 -70 -71 -71 -71 -71 -70 -69 -68 -68 -67 -66 -65 -65 -65 -65 -64 -62 -60 -59 -59 -58 -57 -56 -56 -54 -52 -49 -45 -42 -40 -40 -41 -41 -40 -38 -36 -36 -34 -31 -28 -28 -28 -27 -26 -26 -25 -24 -24 -24 -26 -28 -31 -34 -34 -34 -33 -32 -31 -30 -29 -29 -30 -31 -31 -30 -31 -32 -33 -33 -33 -34 -34 -34 -35 -36 -36 -35 -35 -35 -34 -33 -32 -32 -32 -32 -31 -29 -26 -24 -23 -23 -22 -21 -22 -23 -24 -25 -26 -28 -29 -30 -32 -31 -31 -32 -33 -36 -38 -41 -43 -25 -23 -23 -25 -28 -31 -33 -34 -36 -39 -41 -42 -41 -41 -40 -38 -34 -32 -33 -35 -37 -36 -33 -32 -31 -31 -32 -32 -33 -33 -32 -32 -32 -31 -31 -31 -32 -33 -34 -34 -35 -35 -34 -34 -35 -34 -32 -30 -31 -32 -33 -33 -33 -33 -33 -34 -35 -34 -34 -34 -35 -35 -35 -36 -36 -35 -34 -33 -33 -33 -33 -32 -31 -29 -26 -24 -22 -22 -23 -25 -28 -33 -36 -38 -36 -34 -33 -32 -32 -32 -32 -34 -36 -38 -38 -37 -35 -31 -27 -26 -27 -31 -35 -38 -37 -34 -30 -27 -26 -25 -23 -23 -22 -22 -23 -23 -24 -26 -28 -30 -32 -30 -26 -22 -20 -20 -21 -24 -29 -31 -32 -33 -34 -34 -35 -36 -35 -34 -34 -36 -40 -44 -48 -51 -52 -51 -52 -50 -45 -40 -35 -34 -34 -36 -37 -39 -40 -41 -41 -40 -39 -40 -40 -41 -43 -44 -46 -48 -50 -53 -54 -53 -49 -44 -41 -40 -40 -40 -40 -40 -41 -42 -43 -44 -44 -44 -43 -42 -42 -43 -44 -46 -48 -51 -54 -58 -60 -60 -58 -55 -54 -54 -54 -54 -52 -52 -51 -50 -49 -48 -48 -48 -49 -51 -53 -55 -57 -57 -56 -55 -53 -52 -52 -52 -52 -53 -53 -51 -48 -46 -46 -48 -50 -53 -56 -56 -54 -51 -48 -46 -44 -44 -45 -47 -50 -54 -55 -52 -41 -31 -25 -23 -25 -33 -41 -46 -47 -42 -38 -37 -40 -45 -50 -53 -55 -56 -57 -57 -57 -57 -56 -54 -53 -51 -50 -49 -49 -49 -50 -52 -54 -56 -58 -59 -61 -63 -65 -66 -67 -68 -70 -71 -71 -72 -72 -73 -73 -72 -72 -72 -71 -70 -71 -71 -71 -72 -71 -70 -69 -68 -67 -67 -66 -66 -65 -65 -65 -64 -62 -60 -60 -60 -59 -58 -58 -57 -56 -54 -50 -46 -42 -40 -39 -40 -41 -40 -39 -38 -38 -36 -33 -29 -28 -27 -27 -27 -26 -26 -26 -26 -27 -28 -29 -31 -32 -32 -32 -32 -30 -29 -29 -29 -30 -29 -30 -30 -29 -31 -33 -35 -36 -37 -37 -35 -35 -35 -35 -34 -34 -34 -35 -34 -33 -33 -33 -33 -32 -31 -29 -27 -25 -24 -24 -23 -22 -23 -24 -24 -25 -26 -27 -28 -29 -31 -31 -31 -32 -32 -34 -36 -39 -41 -24 -22 -21 -23 -27 -30 -33 -35 -37 -40 -43 -44 -43 -41 -39 -37 -33 -30 -30 -32 -35 -35 -33 -31 -30 -30 -32 -32 -32 -32 -31 -31 -31 -31 -30 -29 -30 -31 -32 -33 -34 -35 -34 -34 -34 -33 -31 -29 -29 -31 -32 -33 -33 -32 -32 -33 -33 -33 -33 -33 -33 -35 -37 -38 -37 -36 -34 -33 -33 -33 -34 -32 -30 -28 -25 -23 -22 -22 -23 -26 -30 -35 -39 -39 -36 -33 -32 -31 -31 -31 -33 -35 -37 -37 -37 -36 -35 -32 -29 -28 -28 -31 -35 -36 -35 -32 -29 -28 -26 -24 -22 -21 -21 -21 -22 -23 -25 -27 -31 -34 -34 -31 -26 -22 -20 -19 -19 -21 -26 -29 -32 -34 -36 -35 -34 -33 -34 -33 -33 -36 -40 -46 -49 -49 -48 -48 -51 -50 -45 -38 -33 -32 -33 -35 -37 -39 -40 -41 -40 -38 -37 -38 -40 -42 -43 -44 -46 -47 -50 -53 -55 -54 -50 -45 -41 -39 -40 -40 -41 -41 -41 -42 -43 -44 -45 -45 -44 -43 -42 -42 -43 -45 -47 -50 -53 -57 -59 -59 -58 -56 -54 -54 -54 -53 -52 -51 -51 -50 -49 -48 -47 -47 -48 -50 -52 -55 -56 -56 -55 -54 -53 -51 -49 -49 -50 -51 -53 -52 -50 -47 -45 -47 -49 -50 -51 -50 -49 -49 -49 -48 -46 -47 -49 -54 -58 -60 -55 -45 -32 -25 -23 -24 -28 -35 -42 -47 -49 -46 -42 -41 -43 -47 -51 -54 -56 -57 -57 -57 -57 -57 -56 -54 -52 -50 -49 -49 -49 -49 -50 -52 -54 -56 -58 -59 -61 -63 -65 -67 -68 -70 -71 -72 -72 -73 -73 -74 -74 -74 -73 -73 -72 -71 -71 -71 -71 -72 -72 -71 -69 -69 -68 -68 -67 -66 -66 -66 -65 -64 -62 -61 -61 -61 -60 -58 -58 -58 -58 -56 -51 -46 -42 -40 -40 -40 -41 -42 -42 -41 -41 -39 -36 -31 -29 -28 -28 -27 -27 -27 -27 -28 -30 -30 -31 -32 -33 -33 -32 -30 -28 -27 -27 -28 -29 -28 -28 -28 -29 -32 -35 -37 -39 -40 -39 -38 -36 -35 -34 -33 -33 -33 -34 -33 -32 -32 -32 -32 -32 -30 -29 -27 -26 -25 -25 -25 -24 -24 -25 -26 -26 -27 -27 -27 -27 -28 -29 -30 -32 -32 -34 -36 -38 -39 -23 -22 -21 -23 -26 -29 -33 -36 -38 -42 -44 -45 -44 -40 -38 -36 -34 -31 -30 -31 -33 -33 -31 -30 -29 -29 -31 -32 -32 -31 -30 -31 -31 -30 -28 -27 -28 -29 -31 -32 -34 -34 -34 -33 -33 -32 -30 -29 -29 -30 -31 -31 -32 -31 -31 -31 -31 -31 -31 -32 -33 -35 -38 -39 -39 -37 -35 -34 -34 -34 -34 -32 -29 -26 -25 -23 -23 -23 -24 -27 -32 -37 -39 -38 -35 -33 -31 -31 -30 -31 -33 -35 -37 -36 -36 -35 -34 -33 -31 -29 -29 -30 -32 -35 -35 -34 -31 -29 -26 -24 -21 -20 -20 -20 -21 -23 -25 -28 -31 -34 -34 -30 -26 -22 -19 -18 -18 -20 -23 -27 -30 -33 -35 -34 -33 -32 -33 -33 -33 -37 -42 -49 -50 -47 -44 -43 -47 -48 -44 -39 -34 -33 -34 -35 -37 -39 -40 -40 -39 -37 -36 -37 -39 -42 -43 -44 -45 -46 -49 -53 -55 -55 -52 -46 -41 -39 -39 -40 -40 -41 -41 -43 -44 -44 -45 -45 -45 -44 -43 -43 -43 -44 -46 -49 -53 -56 -57 -58 -58 -56 -54 -53 -53 -52 -51 -51 -50 -49 -48 -48 -47 -46 -46 -48 -50 -53 -54 -53 -52 -52 -52 -50 -48 -47 -48 -50 -53 -53 -51 -48 -45 -46 -47 -47 -47 -45 -44 -44 -46 -47 -48 -51 -54 -59 -61 -59 -50 -38 -27 -23 -24 -27 -31 -36 -42 -47 -49 -48 -47 -46 -47 -50 -53 -54 -56 -57 -56 -56 -56 -56 -55 -53 -51 -50 -49 -49 -49 -50 -51 -53 -55 -56 -58 -60 -62 -63 -65 -67 -69 -71 -72 -74 -74 -74 -74 -74 -75 -74 -74 -74 -73 -72 -71 -71 -71 -71 -72 -71 -70 -69 -69 -68 -67 -67 -67 -67 -66 -64 -63 -62 -62 -61 -60 -58 -58 -59 -59 -58 -53 -47 -43 -40 -41 -41 -41 -42 -43 -43 -42 -39 -36 -33 -32 -31 -30 -29 -29 -29 -29 -30 -32 -33 -34 -36 -37 -36 -34 -31 -28 -27 -27 -28 -29 -28 -27 -28 -29 -33 -36 -39 -40 -40 -40 -38 -37 -35 -34 -33 -33 -32 -33 -32 -31 -30 -29 -30 -30 -30 -29 -28 -26 -26 -26 -27 -27 -26 -27 -27 -27 -27 -27 -26 -26 -27 -28 -29 -31 -32 -35 -37 -39 -39 -23 -22 -22 -23 -26 -29 -33 -37 -41 -43 -45 -45 -43 -39 -36 -35 -34 -32 -30 -30 -31 -31 -30 -28 -28 -28 -30 -31 -31 -31 -30 -30 -30 -29 -28 -26 -26 -28 -30 -31 -32 -33 -33 -33 -33 -32 -32 -30 -30 -30 -30 -30 -30 -31 -30 -29 -29 -29 -30 -31 -33 -35 -38 -40 -40 -38 -36 -36 -36 -35 -34 -31 -28 -26 -24 -24 -25 -25 -26 -28 -32 -36 -38 -37 -34 -32 -31 -30 -30 -32 -34 -36 -37 -36 -36 -35 -34 -33 -32 -31 -30 -29 -30 -33 -35 -36 -34 -30 -26 -23 -21 -21 -20 -20 -21 -24 -26 -28 -29 -31 -32 -30 -26 -22 -19 -18 -19 -21 -24 -26 -28 -30 -32 -32 -31 -31 -32 -33 -35 -38 -44 -49 -48 -45 -41 -40 -43 -44 -43 -39 -35 -34 -35 -36 -37 -39 -39 -39 -39 -38 -37 -38 -40 -43 -44 -44 -44 -44 -47 -51 -54 -54 -52 -46 -42 -39 -39 -39 -39 -40 -41 -42 -43 -44 -44 -45 -45 -45 -44 -44 -44 -44 -45 -47 -51 -54 -55 -56 -56 -56 -54 -52 -51 -50 -50 -49 -49 -48 -47 -47 -46 -45 -44 -45 -47 -49 -50 -49 -49 -50 -50 -49 -48 -47 -47 -49 -52 -54 -53 -50 -47 -45 -45 -45 -44 -41 -40 -40 -42 -45 -50 -55 -60 -62 -58 -51 -40 -30 -25 -24 -26 -30 -34 -39 -43 -46 -49 -50 -50 -49 -49 -50 -53 -55 -56 -56 -57 -56 -56 -55 -54 -52 -51 -50 -50 -50 -50 -51 -51 -52 -54 -56 -59 -60 -62 -63 -65 -67 -69 -72 -74 -75 -76 -76 -75 -75 -75 -75 -75 -74 -74 -73 -72 -71 -70 -71 -71 -71 -70 -70 -69 -68 -68 -67 -67 -67 -66 -65 -64 -63 -62 -61 -60 -58 -57 -57 -58 -58 -54 -48 -43 -41 -41 -41 -41 -42 -43 -43 -41 -38 -36 -35 -34 -33 -32 -31 -31 -31 -32 -32 -33 -34 -37 -40 -40 -39 -37 -33 -30 -28 -28 -29 -29 -28 -28 -28 -30 -34 -37 -40 -40 -40 -39 -38 -37 -35 -34 -34 -34 -33 -32 -31 -29 -28 -27 -28 -29 -29 -29 -28 -26 -25 -26 -28 -28 -27 -26 -27 -26 -26 -26 -26 -26 -27 -27 -28 -30 -33 -35 -37 -39 -40 -24 -23 -23 -24 -26 -29 -34 -39 -43 -44 -44 -43 -40 -37 -35 -34 -34 -33 -31 -30 -30 -30 -29 -27 -27 -27 -29 -30 -30 -30 -29 -29 -29 -29 -27 -25 -25 -27 -29 -30 -31 -31 -31 -31 -32 -33 -33 -33 -32 -31 -30 -29 -29 -31 -30 -29 -27 -27 -29 -31 -33 -36 -37 -38 -38 -38 -38 -37 -37 -35 -32 -29 -27 -26 -25 -25 -25 -26 -27 -29 -31 -34 -35 -35 -33 -32 -31 -30 -31 -33 -36 -37 -37 -37 -36 -35 -34 -33 -33 -32 -31 -31 -31 -34 -36 -38 -35 -30 -25 -23 -22 -21 -21 -21 -23 -25 -26 -27 -27 -28 -30 -29 -28 -25 -20 -19 -20 -22 -25 -28 -30 -31 -31 -31 -31 -31 -33 -35 -37 -40 -44 -46 -45 -42 -39 -39 -41 -42 -41 -38 -35 -35 -35 -36 -37 -38 -38 -38 -38 -39 -39 -39 -40 -42 -44 -44 -43 -43 -45 -48 -50 -51 -50 -47 -43 -40 -38 -37 -38 -39 -41 -42 -43 -44 -44 -44 -44 -43 -44 -44 -45 -45 -45 -46 -48 -51 -52 -52 -53 -53 -52 -51 -50 -49 -48 -48 -47 -46 -45 -45 -45 -44 -43 -43 -44 -46 -47 -47 -47 -48 -49 -49 -48 -47 -47 -48 -51 -53 -54 -53 -50 -47 -45 -44 -43 -41 -39 -39 -40 -44 -50 -57 -63 -62 -54 -44 -34 -27 -26 -27 -29 -32 -36 -39 -43 -47 -50 -50 -50 -49 -48 -50 -53 -55 -56 -56 -57 -56 -55 -54 -53 -52 -51 -51 -52 -52 -52 -52 -51 -52 -54 -56 -59 -61 -62 -64 -66 -68 -71 -73 -75 -76 -77 -77 -76 -75 -75 -75 -75 -74 -74 -73 -72 -70 -69 -71 -71 -71 -71 -71 -70 -69 -68 -68 -67 -67 -66 -65 -64 -63 -62 -60 -59 -57 -56 -56 -56 -56 -53 -48 -44 -42 -41 -41 -41 -41 -42 -42 -40 -37 -36 -35 -35 -34 -34 -33 -34 -34 -34 -34 -35 -36 -38 -42 -42 -41 -39 -35 -32 -31 -30 -30 -30 -30 -30 -31 -32 -35 -38 -40 -41 -41 -39 -38 -36 -35 -35 -35 -35 -34 -33 -30 -28 -26 -25 -26 -28 -29 -29 -27 -23 -21 -22 -27 -26 -25 -25 -25 -25 -25 -25 -25 -26 -26 -26 -26 -30 -32 -35 -37 -38 -39 -25 -25 -25 -25 -27 -30 -35 -39 -43 -43 -42 -40 -38 -36 -34 -34 -33 -33 -31 -30 -29 -29 -29 -27 -27 -27 -28 -29 -29 -28 -28 -28 -28 -28 -27 -25 -25 -26 -28 -29 -29 -30 -30 -30 -32 -34 -35 -36 -35 -34 -32 -31 -31 -32 -31 -29 -27 -25 -26 -29 -33 -36 -36 -37 -37 -38 -37 -36 -35 -33 -30 -28 -27 -26 -25 -24 -25 -27 -28 -29 -30 -31 -32 -33 -33 -32 -31 -29 -30 -34 -37 -38 -38 -37 -36 -36 -36 -35 -35 -34 -33 -34 -34 -36 -38 -39 -35 -29 -25 -22 -21 -20 -21 -23 -26 -27 -27 -27 -26 -27 -27 -28 -29 -26 -23 -21 -21 -24 -28 -31 -32 -32 -31 -30 -30 -32 -35 -38 -40 -41 -42 -42 -41 -40 -38 -38 -40 -40 -39 -36 -34 -34 -35 -35 -37 -38 -38 -38 -38 -39 -39 -40 -40 -42 -43 -43 -43 -44 -44 -45 -46 -47 -47 -46 -44 -41 -38 -37 -37 -38 -40 -42 -43 -43 -43 -42 -42 -42 -42 -43 -45 -45 -45 -44 -45 -47 -47 -48 -49 -49 -49 -49 -49 -48 -47 -46 -45 -44 -43 -43 -43 -42 -41 -41 -42 -44 -45 -45 -45 -46 -48 -48 -48 -47 -48 -49 -50 -51 -53 -55 -53 -50 -47 -46 -45 -43 -41 -40 -40 -43 -50 -57 -63 -61 -52 -41 -32 -28 -29 -30 -33 -35 -37 -39 -41 -45 -50 -51 -51 -50 -49 -50 -53 -55 -57 -57 -57 -56 -55 -53 -53 -52 -52 -53 -53 -54 -54 -53 -51 -52 -54 -57 -60 -63 -64 -66 -67 -70 -72 -74 -75 -77 -77 -77 -76 -75 -75 -75 -74 -74 -73 -73 -72 -70 -70 -71 -71 -72 -72 -71 -70 -70 -70 -69 -68 -67 -66 -65 -64 -63 -61 -59 -58 -57 -56 -55 -54 -53 -51 -48 -45 -42 -41 -41 -41 -41 -41 -41 -39 -38 -37 -36 -36 -36 -36 -36 -36 -36 -36 -36 -37 -38 -39 -42 -42 -41 -40 -37 -35 -33 -32 -32 -31 -32 -33 -34 -35 -37 -39 -41 -42 -42 -40 -38 -37 -35 -35 -35 -35 -35 -33 -31 -29 -27 -27 -27 -27 -28 -28 -26 -22 -18 -19 -24 -25 -25 -25 -25 -25 -25 -24 -24 -25 -25 -24 -25 -28 -31 -33 -35 -36 -37 -26 -26 -27 -28 -29 -32 -35 -39 -42 -41 -40 -38 -36 -34 -33 -33 -33 -32 -31 -30 -30 -29 -29 -28 -27 -27 -28 -29 -28 -27 -26 -27 -27 -28 -27 -26 -25 -25 -26 -27 -28 -28 -28 -29 -30 -33 -36 -38 -38 -36 -34 -32 -33 -33 -33 -31 -28 -24 -23 -26 -30 -34 -36 -36 -36 -36 -35 -33 -31 -29 -26 -25 -24 -23 -23 -24 -25 -27 -28 -28 -29 -30 -31 -33 -33 -32 -30 -28 -30 -34 -36 -38 -38 -37 -37 -37 -37 -36 -35 -35 -34 -34 -35 -37 -39 -40 -36 -31 -25 -22 -20 -20 -21 -23 -26 -28 -28 -27 -26 -26 -27 -28 -28 -27 -25 -23 -22 -25 -28 -31 -32 -32 -30 -30 -32 -35 -39 -42 -42 -41 -39 -38 -39 -39 -39 -39 -40 -39 -38 -36 -34 -34 -34 -35 -36 -38 -38 -38 -38 -39 -40 -40 -41 -42 -42 -43 -43 -44 -44 -44 -44 -43 -44 -45 -44 -42 -40 -38 -38 -38 -40 -42 -43 -43 -43 -43 -42 -42 -42 -42 -44 -44 -44 -43 -43 -43 -44 -44 -45 -46 -46 -47 -48 -48 -47 -46 -44 -42 -41 -41 -41 -41 -40 -41 -41 -43 -44 -44 -44 -45 -46 -47 -48 -48 -48 -49 -49 -50 -51 -54 -55 -54 -51 -48 -47 -47 -46 -44 -42 -44 -48 -54 -60 -58 -50 -42 -35 -32 -33 -35 -37 -39 -40 -40 -41 -45 -51 -53 -53 -52 -51 -53 -55 -57 -58 -57 -57 -56 -54 -54 -53 -53 -54 -55 -55 -55 -55 -53 -52 -52 -54 -58 -61 -64 -66 -67 -69 -71 -73 -74 -75 -76 -77 -77 -76 -75 -75 -75 -74 -73 -72 -73 -72 -71 -71 -71 -71 -71 -71 -71 -71 -71 -72 -71 -70 -68 -66 -65 -64 -62 -61 -59 -57 -57 -56 -54 -53 -52 -50 -48 -46 -44 -42 -42 -42 -42 -42 -41 -40 -39 -38 -37 -37 -37 -37 -37 -37 -38 -39 -40 -40 -41 -41 -42 -43 -43 -41 -39 -38 -37 -35 -34 -32 -33 -34 -35 -37 -38 -40 -43 -45 -45 -42 -40 -38 -37 -36 -36 -36 -35 -33 -32 -31 -30 -30 -30 -29 -28 -27 -26 -23 -18 -18 -22 -25 -26 -26 -25 -25 -24 -22 -23 -24 -24 -23 -23 -26 -28 -31 -32 -33 -35 -26 -27 -29 -30 -32 -34 -36 -39 -40 -39 -37 -35 -33 -32 -31 -31 -31 -31 -31 -30 -30 -30 -29 -28 -28 -28 -29 -29 -28 -26 -25 -25 -26 -27 -27 -26 -25 -25 -25 -26 -27 -27 -28 -28 -29 -31 -34 -37 -37 -36 -34 -32 -33 -34 -33 -31 -28 -25 -25 -26 -28 -32 -34 -34 -33 -32 -31 -29 -26 -24 -23 -22 -22 -22 -23 -24 -25 -26 -26 -27 -28 -29 -31 -33 -33 -31 -29 -28 -30 -33 -35 -36 -36 -37 -37 -37 -37 -35 -34 -34 -34 -34 -34 -35 -37 -38 -36 -31 -26 -22 -20 -20 -22 -24 -26 -28 -28 -27 -26 -27 -27 -28 -28 -28 -27 -26 -26 -26 -28 -29 -30 -30 -29 -29 -32 -37 -42 -43 -41 -39 -38 -38 -38 -39 -39 -40 -40 -39 -38 -36 -35 -34 -33 -34 -35 -37 -38 -39 -39 -40 -40 -41 -42 -43 -42 -42 -42 -43 -44 -44 -43 -42 -42 -43 -43 -43 -41 -40 -39 -39 -40 -42 -43 -43 -44 -43 -43 -42 -42 -42 -42 -42 -42 -41 -41 -41 -42 -42 -42 -42 -44 -45 -46 -46 -46 -46 -44 -41 -40 -40 -40 -40 -40 -40 -41 -42 -43 -44 -44 -44 -45 -46 -47 -48 -49 -50 -49 -49 -50 -53 -57 -58 -55 -51 -48 -49 -50 -51 -49 -47 -47 -50 -53 -51 -46 -42 -41 -39 -39 -39 -40 -41 -40 -40 -41 -45 -51 -55 -55 -53 -52 -55 -57 -59 -59 -58 -57 -56 -56 -55 -55 -55 -56 -57 -57 -56 -55 -53 -52 -53 -55 -58 -62 -65 -67 -68 -69 -71 -73 -74 -75 -75 -76 -75 -75 -74 -75 -75 -74 -73 -72 -73 -73 -72 -71 -71 -71 -71 -71 -71 -71 -71 -72 -72 -71 -69 -66 -64 -63 -62 -61 -59 -57 -57 -56 -54 -52 -52 -50 -49 -47 -45 -43 -43 -43 -43 -43 -43 -42 -41 -39 -39 -39 -39 -39 -38 -38 -39 -41 -42 -43 -43 -44 -45 -46 -46 -44 -43 -42 -41 -39 -36 -34 -32 -32 -34 -36 -39 -42 -46 -47 -47 -45 -42 -40 -39 -38 -38 -37 -35 -33 -32 -32 -33 -33 -32 -30 -28 -28 -27 -25 -22 -19 -21 -24 -26 -26 -25 -23 -22 -22 -24 -24 -24 -23 -23 -24 -26 -29 -30 -31 -32 -27 -28 -30 -32 -34 -36 -37 -39 -39 -38 -35 -33 -31 -30 -29 -28 -29 -29 -30 -30 -30 -30 -30 -30 -29 -29 -29 -28 -27 -26 -24 -24 -25 -26 -26 -25 -24 -24 -24 -24 -26 -27 -27 -27 -27 -30 -33 -36 -37 -36 -34 -33 -33 -34 -33 -31 -29 -27 -28 -29 -30 -31 -32 -32 -32 -30 -27 -24 -22 -20 -19 -20 -20 -22 -24 -25 -25 -25 -26 -27 -29 -30 -32 -34 -33 -31 -29 -28 -30 -33 -35 -35 -35 -36 -37 -37 -36 -34 -33 -32 -32 -33 -33 -33 -34 -35 -35 -31 -27 -23 -20 -21 -22 -24 -26 -28 -28 -28 -27 -27 -28 -28 -28 -29 -29 -28 -28 -28 -29 -29 -29 -29 -29 -29 -33 -40 -47 -46 -41 -37 -35 -37 -39 -40 -40 -40 -40 -39 -38 -37 -36 -35 -34 -34 -35 -36 -37 -39 -40 -40 -41 -42 -43 -44 -43 -42 -41 -42 -43 -43 -44 -43 -43 -42 -42 -42 -42 -41 -40 -39 -40 -41 -43 -43 -44 -43 -43 -43 -43 -42 -41 -41 -40 -39 -38 -39 -40 -41 -41 -41 -42 -43 -44 -44 -45 -45 -43 -41 -40 -40 -40 -40 -40 -40 -41 -41 -43 -44 -44 -44 -45 -45 -46 -48 -49 -50 -50 -49 -50 -53 -57 -58 -56 -51 -48 -50 -53 -56 -56 -53 -50 -49 -49 -45 -43 -42 -45 -47 -46 -44 -42 -40 -39 -38 -39 -44 -51 -55 -55 -53 -53 -56 -58 -59 -59 -58 -57 -57 -57 -57 -58 -59 -59 -59 -58 -57 -56 -54 -53 -54 -56 -59 -62 -65 -68 -68 -68 -70 -73 -74 -75 -74 -74 -74 -74 -74 -74 -75 -74 -72 -72 -73 -74 -73 -71 -70 -70 -71 -72 -71 -70 -70 -70 -72 -72 -71 -67 -64 -63 -62 -60 -59 -57 -56 -56 -55 -53 -52 -51 -50 -48 -46 -44 -43 -43 -44 -44 -44 -43 -42 -41 -40 -40 -40 -40 -39 -39 -40 -43 -43 -43 -43 -44 -46 -47 -48 -47 -47 -47 -45 -43 -39 -36 -33 -31 -32 -34 -38 -42 -47 -48 -48 -47 -44 -42 -41 -40 -39 -37 -34 -33 -33 -33 -34 -34 -33 -31 -29 -28 -27 -26 -25 -22 -20 -21 -24 -24 -23 -22 -22 -23 -24 -24 -23 -23 -23 -24 -25 -28 -29 -29 -29 -27 -29 -31 -34 -36 -38 -38 -38 -38 -37 -33 -31 -29 -28 -26 -25 -25 -26 -27 -28 -30 -31 -32 -31 -30 -29 -28 -27 -27 -26 -25 -25 -25 -25 -25 -23 -23 -22 -22 -23 -24 -26 -27 -27 -27 -30 -33 -36 -37 -37 -36 -35 -34 -35 -34 -32 -31 -30 -32 -33 -33 -32 -31 -31 -31 -29 -25 -21 -19 -17 -17 -18 -20 -22 -24 -25 -25 -25 -26 -30 -31 -32 -32 -33 -32 -30 -29 -29 -31 -34 -35 -35 -35 -36 -37 -37 -35 -33 -31 -30 -30 -31 -31 -32 -33 -35 -35 -32 -28 -23 -21 -20 -21 -23 -25 -27 -28 -28 -28 -29 -30 -29 -28 -29 -29 -29 -30 -30 -30 -29 -29 -29 -30 -31 -35 -41 -48 -47 -42 -36 -34 -36 -38 -40 -41 -41 -39 -38 -38 -37 -36 -36 -36 -36 -36 -36 -37 -39 -40 -41 -42 -43 -44 -45 -44 -43 -42 -41 -42 -44 -45 -45 -44 -43 -42 -41 -41 -41 -40 -40 -40 -41 -42 -43 -43 -43 -44 -44 -43 -41 -40 -39 -38 -37 -37 -37 -38 -40 -41 -41 -40 -41 -42 -42 -43 -43 -43 -41 -40 -40 -39 -39 -40 -40 -41 -41 -42 -43 -44 -45 -45 -46 -46 -47 -48 -50 -50 -50 -51 -54 -57 -57 -55 -52 -48 -49 -53 -58 -60 -58 -54 -50 -48 -45 -43 -43 -44 -48 -50 -48 -43 -38 -37 -37 -39 -44 -51 -55 -55 -52 -53 -56 -58 -59 -59 -58 -58 -58 -58 -59 -59 -60 -60 -60 -59 -58 -56 -55 -54 -54 -56 -60 -63 -66 -68 -69 -68 -70 -73 -75 -75 -74 -74 -74 -74 -74 -74 -74 -73 -72 -72 -73 -74 -73 -71 -70 -70 -71 -72 -71 -70 -70 -70 -72 -73 -72 -69 -65 -63 -62 -61 -59 -57 -56 -55 -55 -54 -54 -53 -51 -49 -47 -45 -44 -43 -44 -44 -44 -43 -43 -42 -41 -40 -40 -40 -39 -39 -41 -43 -43 -42 -42 -44 -46 -48 -48 -48 -50 -50 -49 -47 -43 -39 -36 -33 -31 -33 -36 -40 -45 -47 -48 -47 -45 -44 -42 -41 -40 -37 -34 -33 -33 -34 -35 -35 -34 -31 -29 -27 -26 -26 -26 -24 -21 -19 -20 -22 -22 -22 -22 -23 -24 -24 -23 -23 -23 -24 -25 -27 -28 -28 -29 -29 -30 -32 -35 -38 -39 -39 -39 -38 -35 -31 -29 -27 -26 -24 -23 -22 -23 -24 -26 -28 -30 -33 -33 -31 -30 -28 -27 -26 -26 -25 -26 -26 -25 -24 -23 -22 -21 -21 -21 -23 -24 -25 -26 -26 -28 -31 -34 -37 -38 -38 -37 -36 -36 -34 -34 -34 -34 -36 -36 -35 -34 -31 -30 -30 -28 -25 -21 -18 -16 -16 -18 -20 -22 -24 -25 -25 -26 -28 -32 -32 -32 -32 -32 -31 -30 -29 -31 -34 -35 -36 -36 -36 -38 -39 -38 -36 -33 -30 -29 -29 -30 -31 -33 -36 -39 -38 -33 -27 -22 -20 -20 -21 -22 -24 -26 -28 -29 -30 -31 -32 -31 -30 -31 -31 -31 -32 -31 -29 -28 -28 -30 -32 -33 -36 -40 -45 -45 -40 -35 -33 -34 -36 -39 -40 -41 -40 -38 -37 -37 -37 -37 -37 -37 -37 -37 -38 -39 -40 -42 -43 -44 -45 -46 -46 -45 -44 -43 -44 -45 -46 -46 -46 -44 -42 -41 -40 -40 -40 -40 -39 -40 -41 -41 -42 -43 -44 -44 -43 -41 -40 -39 -38 -37 -36 -36 -37 -38 -40 -39 -39 -39 -40 -40 -41 -42 -42 -41 -40 -40 -40 -40 -40 -40 -41 -42 -42 -43 -44 -46 -47 -47 -47 -47 -48 -49 -50 -50 -52 -56 -57 -56 -53 -51 -48 -49 -52 -57 -60 -59 -57 -52 -49 -49 -48 -47 -46 -49 -51 -49 -44 -40 -39 -39 -41 -45 -51 -54 -54 -53 -53 -56 -58 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -58 -57 -57 -56 -56 -56 -58 -61 -63 -66 -68 -69 -70 -72 -74 -76 -75 -74 -74 -74 -74 -74 -74 -74 -74 -73 -73 -74 -75 -74 -72 -71 -71 -72 -72 -71 -71 -71 -72 -73 -74 -74 -71 -66 -64 -63 -62 -60 -58 -57 -55 -55 -54 -54 -54 -52 -50 -47 -45 -44 -44 -43 -43 -43 -42 -42 -41 -40 -40 -40 -40 -39 -39 -40 -42 -42 -42 -42 -44 -47 -48 -48 -48 -50 -51 -51 -47 -43 -41 -40 -38 -35 -34 -35 -38 -41 -44 -45 -46 -45 -43 -42 -41 -40 -37 -34 -33 -33 -34 -35 -35 -33 -31 -28 -26 -25 -25 -24 -23 -21 -20 -21 -22 -22 -22 -22 -23 -23 -23 -23 -23 -23 -24 -25 -26 -27 -27 -28 -30 -31 -33 -36 -39 -41 -41 -39 -37 -33 -29 -26 -24 -23 -22 -21 -21 -21 -22 -24 -26 -29 -32 -33 -33 -32 -30 -28 -27 -27 -26 -27 -26 -26 -25 -23 -21 -20 -20 -20 -21 -22 -23 -23 -24 -27 -29 -32 -35 -38 -39 -39 -39 -37 -35 -34 -35 -38 -39 -38 -37 -35 -31 -29 -27 -26 -24 -22 -19 -18 -17 -18 -20 -21 -23 -25 -26 -27 -29 -31 -32 -31 -31 -32 -30 -29 -29 -32 -37 -38 -37 -37 -38 -40 -41 -40 -37 -33 -30 -29 -30 -30 -31 -34 -40 -45 -44 -36 -27 -20 -19 -19 -20 -21 -24 -27 -29 -31 -31 -33 -33 -33 -32 -32 -34 -35 -34 -32 -29 -27 -27 -29 -32 -35 -38 -40 -42 -41 -38 -34 -33 -34 -35 -37 -39 -40 -39 -38 -38 -38 -38 -38 -38 -38 -37 -37 -37 -38 -40 -42 -44 -46 -48 -48 -47 -47 -46 -46 -46 -45 -45 -45 -45 -44 -43 -41 -39 -39 -39 -39 -38 -38 -39 -40 -41 -42 -43 -43 -42 -40 -39 -39 -37 -36 -35 -35 -35 -36 -37 -37 -37 -38 -38 -39 -40 -40 -40 -40 -40 -41 -41 -40 -40 -41 -42 -43 -43 -44 -45 -47 -49 -49 -49 -48 -48 -48 -48 -50 -53 -56 -57 -55 -52 -49 -47 -48 -50 -54 -58 -60 -59 -54 -51 -52 -53 -54 -52 -51 -51 -50 -47 -43 -41 -40 -42 -46 -51 -54 -54 -53 -53 -54 -56 -58 -59 -60 -60 -59 -59 -59 -59 -59 -58 -58 -57 -57 -58 -58 -58 -58 -60 -62 -65 -67 -69 -70 -72 -74 -75 -76 -75 -74 -73 -73 -74 -74 -74 -74 -74 -74 -74 -75 -76 -76 -75 -75 -74 -74 -73 -72 -72 -73 -74 -75 -76 -75 -71 -67 -65 -64 -63 -61 -59 -58 -56 -55 -55 -55 -55 -53 -51 -48 -46 -44 -43 -42 -41 -41 -40 -40 -40 -39 -39 -39 -39 -38 -38 -39 -40 -41 -41 -42 -44 -47 -48 -47 -47 -49 -51 -50 -45 -41 -40 -42 -43 -42 -40 -38 -38 -38 -40 -41 -42 -42 -42 -42 -41 -40 -37 -35 -33 -32 -33 -34 -34 -32 -30 -27 -26 -25 -24 -23 -22 -20 -19 -19 -20 -21 -22 -22 -22 -22 -23 -23 -22 -22 -24 -25 -25 -25 -26 -27 -31 -32 -35 -37 -40 -42 -42 -40 -35 -30 -26 -23 -22 -22 -21 -21 -21 -21 -21 -23 -25 -27 -30 -33 -34 -34 -32 -31 -30 -29 -28 -27 -27 -27 -25 -24 -21 -20 -19 -19 -20 -20 -21 -21 -23 -25 -28 -30 -32 -35 -38 -40 -40 -38 -35 -33 -34 -38 -40 -39 -37 -35 -31 -27 -24 -23 -22 -22 -21 -21 -20 -19 -20 -21 -22 -25 -26 -28 -30 -32 -31 -30 -30 -30 -29 -28 -29 -33 -38 -40 -39 -39 -40 -42 -42 -41 -38 -34 -31 -30 -30 -31 -31 -35 -40 -47 -47 -39 -29 -21 -19 -19 -20 -21 -24 -28 -32 -35 -36 -34 -33 -31 -32 -34 -37 -37 -36 -33 -30 -28 -27 -27 -29 -34 -38 -42 -42 -39 -36 -34 -33 -35 -36 -37 -38 -38 -38 -38 -38 -39 -39 -39 -39 -38 -37 -36 -36 -37 -39 -42 -45 -48 -50 -50 -49 -48 -48 -48 -47 -46 -45 -44 -44 -43 -42 -40 -38 -37 -37 -37 -37 -37 -38 -39 -40 -42 -43 -43 -41 -40 -39 -38 -37 -36 -35 -35 -35 -35 -36 -36 -36 -37 -38 -39 -39 -39 -39 -40 -41 -41 -42 -41 -41 -42 -43 -43 -43 -44 -46 -49 -50 -51 -51 -51 -50 -48 -48 -49 -51 -55 -57 -57 -54 -49 -47 -47 -50 -53 -58 -61 -60 -56 -52 -53 -57 -60 -60 -56 -54 -53 -51 -47 -44 -42 -42 -46 -50 -52 -53 -53 -53 -54 -56 -58 -60 -61 -61 -60 -59 -59 -59 -59 -58 -57 -57 -56 -57 -57 -58 -59 -60 -62 -65 -67 -69 -71 -73 -74 -75 -76 -75 -74 -73 -73 -74 -74 -74 -74 -74 -74 -75 -76 -76 -77 -77 -76 -75 -75 -74 -73 -73 -75 -77 -78 -78 -76 -71 -68 -66 -65 -64 -62 -61 -59 -57 -56 -57 -56 -56 -54 -51 -49 -47 -44 -42 -41 -40 -40 -39 -39 -39 -38 -38 -38 -37 -37 -37 -38 -40 -41 -41 -42 -43 -45 -46 -46 -47 -49 -49 -47 -43 -41 -41 -43 -44 -44 -44 -43 -41 -38 -38 -38 -39 -39 -40 -41 -41 -40 -38 -36 -33 -32 -32 -33 -33 -31 -29 -27 -26 -24 -23 -22 -21 -19 -18 -18 -19 -20 -21 -21 -21 -22 -22 -22 -22 -22 -23 -24 -24 -24 -25 -27 -31 -33 -36 -39 -42 -44 -44 -40 -34 -27 -23 -21 -20 -20 -20 -21 -21 -20 -21 -22 -24 -26 -29 -31 -33 -33 -33 -32 -32 -31 -30 -29 -28 -27 -26 -24 -21 -20 -19 -19 -19 -18 -17 -18 -19 -22 -25 -29 -31 -33 -35 -38 -39 -40 -37 -33 -30 -33 -37 -38 -36 -33 -29 -25 -21 -20 -20 -21 -21 -21 -22 -21 -22 -23 -24 -27 -29 -31 -32 -32 -30 -29 -28 -29 -28 -28 -29 -32 -37 -40 -42 -42 -41 -40 -40 -39 -38 -36 -34 -33 -32 -31 -33 -35 -39 -42 -44 -39 -33 -25 -20 -20 -20 -22 -25 -29 -33 -37 -40 -37 -34 -32 -31 -34 -36 -36 -36 -34 -33 -32 -30 -28 -26 -30 -36 -42 -45 -42 -38 -36 -34 -36 -37 -38 -37 -37 -37 -37 -38 -39 -40 -40 -40 -39 -38 -36 -36 -37 -38 -42 -45 -48 -50 -50 -49 -49 -48 -49 -47 -46 -44 -43 -42 -41 -40 -38 -36 -35 -35 -35 -35 -36 -38 -40 -41 -41 -40 -40 -40 -40 -39 -37 -36 -35 -35 -36 -36 -36 -36 -36 -36 -37 -38 -39 -39 -39 -39 -40 -41 -41 -42 -42 -42 -43 -44 -44 -44 -45 -47 -50 -51 -51 -52 -52 -52 -50 -49 -49 -51 -54 -58 -60 -58 -53 -49 -50 -53 -57 -60 -62 -61 -58 -54 -55 -59 -64 -65 -62 -59 -57 -55 -51 -47 -44 -45 -48 -49 -50 -51 -52 -53 -54 -57 -59 -60 -61 -61 -60 -59 -59 -59 -58 -58 -58 -58 -57 -57 -57 -58 -59 -60 -62 -65 -67 -69 -71 -73 -75 -76 -76 -75 -74 -73 -73 -75 -75 -75 -75 -74 -75 -76 -76 -77 -77 -77 -77 -76 -76 -75 -73 -74 -76 -79 -81 -80 -77 -72 -69 -67 -66 -65 -64 -62 -60 -58 -58 -58 -58 -57 -55 -52 -50 -48 -46 -43 -41 -40 -39 -39 -39 -39 -38 -38 -37 -37 -36 -36 -38 -39 -39 -39 -40 -40 -42 -43 -46 -48 -48 -47 -45 -41 -40 -41 -43 -44 -43 -43 -43 -43 -41 -39 -38 -37 -37 -38 -39 -40 -39 -38 -36 -34 -32 -31 -31 -31 -30 -28 -27 -26 -24 -22 -21 -20 -19 -17 -17 -18 -20 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -23 -25 -27